一,zabbix服务是否已经开启成功
查看系统是否已经有zabbix进程正在运行
# ps aux |grep zabbix
查看系统是否已监听zabbix server和zabbix agent所使用的10050、10051端口
# netstat -nplut |grep zabbix
如果没有,则开启:#systemctl start zabbix.agent.service
二、zabbix_server.log出现的提示
2009:20121023:193549.354 Sending list of active checks to [192.168.30.3] failed: host [CentOS-3] not found
这是因为zabbix_agentd.conf配置文件中的Hostname与web中的主机名对应。
三,网页中了出现的错误
A、Get value from agent failed: cannot connect to [[192.168.30.2]:10050]: [111] Connection refused
192.168.30.2是我的zabbix server服务器,本身也有监控自己本身的agent功能。出现这种错误是因为忘记在zabbix服务器开户zabbix_agentd。在Last 20 issues中也有提示
解决方法:开启zabbix_agentd即可。
B、 Get value from agent failed: cannot connect to [[192.168.30.3]:10050]: [113] No route to host
看提示“No route to host”,与网络连接有关。排除的方法如下:
a)查看192.168.30.3这台机器是否已开机
b)在zabbix server端向这台机器ping,看网络是否通
c)用telnet 登录10050和10051端口,看该主机是否允许这两个端口通讯
d)查看iptables防火墙规则是否拦截10050、10051端口
C、zabbix server is not running: the information displayed may not be current.
zabbix server is running | No.
查看/tmp/zabbix_server.log和/tmp/zabbix_agent.log无任何异常。看zabbix_server和zabbix_agent进程、端口都正常
①查看selinux产生的log,确实有错误提示:
#tail -f /var/log/audit/audit.log
type=AVC msg=audit(1351863204.990:32): avc: denied { name_connect } for pid=1575 comm="httpd" dest=10051 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:port_t:s0 tclass=tcp_socket
type=SYSCALL msg=audit(1351863204.990:32): arch=40000003 syscall=102 success=no exit=-13 a0=3 a1=bfd494b0 a2=b76b0ad8 a3=d items=0 ppid=1434 pid=1575 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null)
②然后让selinux允许它通过
setsebool -P httpd_can_network_connect on
③编辑zabbix.conf.php文件,把$ZBX_SERVER的值改为本机的IP地址
$ZBX_SERVER = '192.168.30.2'; #######用IP代替hostname
D、“Zabbix poller processes more than 75% busy”警报问题解决
1、StartPollers=10
service zabbix-server restart
2、@daily service zabbix-server restart > /dev/null 2>&1
这个计划会每天自动重启Zabbix服务以结束僵尸进程并清理内存等。目前Kaijia这样配置Zabbix后还没有再次遇到过“Zabbix poller processes more than 75% busy”的问题。
或者/zabbix_server.conf
最有可能你有这个设置是这样的:
StartDiscoverers = 1 也可以变大
继续增加pre-forked发现的实例的数量。
如果你决定不使用发现功能你可以设置参数:
StartDiscoverers = 0
E、配置了discovery任务后,zabbix dashboard 告警如下:
Zabbix discoverer processes more than 75% busy
- 配置的每个discovery任务在一定时间内占用1个discovery进程,而zabbix_server.conf中默认配置只有1个discovery(被注释,默认生效);
- 同时为了快速验证自动发现效果,将discovery任务的"Delay"时间由默认的3600s设置成60s。
总结:两个原因导致平均时间内discovery processes过高而报警。
- 修改zabbix_server.conf中discovery进程数量;
#StartDiscoverers可根据设置的discovery任务数量设置,范围是0~250
[root@localhost ~]# sed -i 's|# StartDiscoverers=1|StartDiscoverers=2|g' /usr/local/zabbix/etc/zabbix_server.conf
[root@localhost ~]# service zabbix_server restart
- 将discovery任务的"Delay"时间设置足够长,降低平均时间内进程的占用率。
四、/var/log/zabbix/zabbix_server.log出现的错误
1761:20121023:191952.149 Zabbix agent item [ping.avgtime] on host [CentOS-3] failed: first network error, wait for 15 seconds
解决方法:
①编辑zabbix服务器端的配置文件/etc/zabbix/zabbix_server.conf找到"Timeout"把它定义为30秒或小于30秒。
②如果还有类似提示则应该是zabbix服务器的内存设置得太小了,加大服务器内存便可。