`

zabbix软件的使用排错

阅读更多

1、安装过程过程出现了报错:zabbix红色弹出报错:

      zabbix server is not running: the information displayed may not be current

      解决方法:

      (1)先查看日志   cat /var/log/zabbix/zabbix_server.log    cat /var/log/zabbix/zabbix_agentd.log

      (2)查看selinux是否关闭,查看selinux产生的log,确实有错误提示:

# tail -f /var/log/audit/audit.log
type=AVC msg=audit(1444903828.770:465): avc:  denied  { name_connect } for  pid=2962 comm="httpd" dest=10051 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:zabbix_port_t:s0 tclass=tcp_socket
type=SYSCALL msg=audit(1444903828.770:465): arch=c000003e syscall=42 success=no exit=-13 a0=d a1=7fac4ede9b00 a2=10 a3=7fac4b65414c items=0 ppid=2955 pid=2962 auid=0 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=1 comm="httpd" exe="/usr/sbin/httpd" subj=unconfined_u:system_r:httpd_t:s0 key=(null)
type=AVC msg=audit(1444903838.784:466): avc:  denied  { name_connect } for  pid=2964 comm="httpd" dest=10051 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:zabbix_port_t:s0 tclass=tcp_socket
type=SYSCALL msg=audit(1444903838.784:466): arch=c000003e syscall=42 success=no exit=-13 a0=d a1=7fac4ed24180 a2=1c a3=ff00 items=0 ppid=2955 pid=2964 auid=0 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=1 comm="httpd" exe="/usr/sbin/httpd" subj=unconfined_u:system_r:httpd_t:s0 key=(null)

      (3)然后让selinux允许它通过

           setsebool -P httpd_can_network_connect on

      (4)编辑zabbix.conf.php文件,把$ZBX_SERVER的值改为本机的IP地址:

            vim /etc/zabbix/web/zabbix.conf.php  修改为

            $ZBX_SERVER      = '192.168.222.139';

      OK!

 

 

2、

 Get value from agent failed: cannot connect to [[192.168.222.138]:10050]: [111] Connection refused

 

      解决方法:在被监控机器上打开zabbix_agent

 

 

3、

     tail /var/log/zabbix/zabbix_server.log  显示
     50952:20141012:195519.884 One child process died (PID:51233,exitcode/signal:255). Exiting ...
     表示一个子进程死掉,是一个zabbix内存溢出错误 (此错误同样会造成上面红色的闪烁)
     更正:
            1、vim /etc/zabbix/zabbix_server.conf
            2、CacheSize=512M
            3、修改此值后OK

 4、

错误现象

22773:20160108:172513.801 [Z3005] query failed: [2006] MySQL server has gone away [select hostid,key_,state,filter,error,lifetime from items where itemid=34993]

22968:20160108:172517.815 [Z3005] query failed: [2006] MySQL server has gone away [select hostid,key_,state,filter,error,lifetime from items where itemid=32057]

 

分析

如果你之前没有遇到这个问题,第一想到的应该是去网上搜索,MySQL出现 [2006] MySQL server has gone away,根据网络搜索的结果,会得出以下解决办法:

#vim /etc/my.cnf

 

max_allowed_packet=300M

wait_timeout=200000

interactive_timeout = 200000

然后重启MySQL,经过测试,该方法无果而终,问题依旧。

 

解决办法

继续寻找解决办法,在Zabbix的JIRA里面看到此问题为Zabbix Server的BUG,已在2.5中解决,但对于2.5以下版本,该bug没有修复。

解决办法如下

 

#vim src/libs/zbxdb/db.c

int    zbx_db_connect(char *host, char *user, char *password, char *dbname, char *dbschema, char *dbsocket, int port)

{
      int   ret = ZBX_DB_OK, last_txn_error, last_txn_level;
#if defined(HAVE_IBM_DB2)
      char           *connect = NULL;
#elif defined(HAVE_MYSQL)
       my_bool         mysql_reconnect = 1;                                                                                  
#elif defined(HAVE_ORACLE)
      char   *connect = NULL;
      sword err = OCI_SUCCESS;




#elif defined(HAVE_MYSQL)
    conn = mysql_init(NULL);

    if (NULL == mysql_real_connect(conn, host, user, password, dbname, port, dbsocket, CLIENT_MULTI_STATEMENTS))
    {
            zabbix_errlog(ERR_Z3001, dbname, mysql_errno(conn), mysql_error(conn));
            ret = ZBX_DB_FAIL;

}

 

    if (0 != mysql_options(conn, MYSQL_OPT_RECONNECT, &mysql_reconnect))
             zabbix_log(LOG_LEVEL_WARNING, "Cannot set MySQL reconnect option.");
                                                             
    if (ZBX_DB_OK == ret && 0 != mysql_select_db(conn, dbname))
    {
            zabbix_errlog(ERR_Z3001, dbname, mysql_errno(conn), mysql_error(conn));
            ret = ZBX_DB_FAIL;

}

注意红色字体的代码

./configure --host=x86_64-redhat-linux-gnu --build=x86_64-redhat-linux-gnu --program-prefix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/sha

re --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-dependency-tracking --enable-server --enable-proxy --enable-java --enable-agent --enable-ipv6 --with-net-snmp --with-libcurl --with-openipmi --with-unixodbc --with-ldap --with-ssh2 --with-libcurl --with-libxml2 --sysconfdir=/etc/zabbix --datadir=/var/lib --enable-server --with-mysql

 

 

重新编译完成后,整个世界清静了,问题完美解决!

 

 

  • 大小: 57.5 KB
分享到:
评论

相关推荐

    Linux运维-03-监控专题-day01-zabbix安装与介绍-09-zabbix排错思路.mp4

    Linux运维-03-监控专题-day01-zabbix安装与介绍-09-zabbix排错思路.mp4

    Zabbix监控系统参考.pdf

    此外,还有几个关键工具,如zabbix_agentd(客户端守护进程,收集本地数据)、zabbix_get(用于远程获取客户端信息,辅助排错)、zabbix_sender(用于主动提交长时间检查的数据给server)和zabbix_server(服务端...

    Zabbix负载判断与调整配置参数等应用.docx

    通过`zabbix_get`命令验证能否正常获取监控数据,如果遇到异常,根据错误信息进行排错。如果数据可以正常获取但响应时间过长,考虑调整客户端agent的超时时间,如从默认的3秒增加到30秒。 接着,关注Zabbix服务器...

    mortimer2015#next-step-devops#zabbix的action不触发问题1

    然后就开始排错1用户授权把用户所在的组授予监控该主机组可读权限2media管理查看media的定义是否有问题3user管理这里主要是用户可以使用的media4a

    系统运维工程师简历 (2).docx

    - 使用系统监控工具(如Nagios、Zabbix)来实时监控服务器状态。 - 定期检查日志文件(如syslog、auditd),识别异常登录尝试或恶意活动。 - 进行系统安全审计,确保符合最新的安全标准。 #### 2. 开源项目部署...

    linux 系统高级课程课件

    - 监控框架:如Nagios、Zabbix等,实现远程系统监控。 7. **软件包管理**: - RPM与YUM/DNF:RPM包的安装、查询、升级和卸载,以及使用YUM或DNF自动解决依赖。 - APT与DEB:在Debian/Ubuntu系统中使用APT和DEB包...

    毕业设计:基于容器的企业服务器初始化部署-程序设计.zip

    题前半部分可以供初识Linux的运维人员快速构建部署一个PaaS平台,并在所构建的PaaS平台上安装部署一些以前传统物理服务器或云服务器上所必备的企业应用程序,由于像JumpServer,Zabbix,Redis集群等服务在原来的传统...

    高级运维工程师技能.pdf

    9. **监控工具Zabbix**:能够定制Zabbix监控项、触发器和自发现规则,熟悉SNMP、JMX等监控协议,有能力扩展监控范围,覆盖应用程序、数据库、网络设备等。 综上所述,高级运维工程师的角色需要涵盖从基础设施到上层...

    基于容器的企业服务器初始化部署,优秀毕业设计,源码和详细说明及PPT!

    题前半部分可以供初识Linux的运维人员快速构建部署一个PaaS平台,并在所构建的PaaS平台上安装部署一些以前传统物理服务器或云服务器上所必备的企业应用程序,由于像JumpServer,Zabbix,Redis集群等服务在原来的传统...

    [详细完整版]大数据运维.docx

    2. **自动化运维与监控工具开发**:为了提高效率和准确性,运维人员需要开发和使用自动化工具,如脚本、配置管理工具(如Ansible)和监控系统(如Nagios、Zabbix),以便实时监控集群状态,自动执行例行任务,如日志...

Global site tag (gtag.js) - Google Analytics