1、zabbix客户端错误:no active checks on server [192.168.1.107:10051]: host [ ] not found
查看zabbix_agentd.log时出现下列错误
[root@www ~]#tail /var/log/zabbix/zabbix_agentd.log
10526:20170506:154012.832 no active checks on server [192.168.1.107:10051]: host [vm1] not found
解决方法:
服务端
1.查看zabbix_agentd.conf文件中的Hostname
Hostname=192.168.1.102
重新启动zabbix-agent服务
[root@www ~]# service zabbix-agent restart
2、 查看日志
cat /var/log/zabbix/zabbix_server.log
119370:20191025:133736.379 Zabbix agent item "agent.ping" on host "192.168.1.131" failed: first network error, wait for 15 seconds
119374:20191025:133836.588 temporarily disabling Zabbix agent checks on host "192.168.1.131": host unavailable
119374:20191025:134036.748 enabling Zabbix agent checks on host "192.168.1.131": host became available
cat /var/log/zabbix/zabbix_agentd.log
119968:20191025:134352.842 active check configuration update from [192.168.1.116:10051] started to fail (cannot connect to [[192.168.1.116]:10051]: [4] Interrupted system call)
客户端
cat /var/log/zabbix/zabbix_agentd.log
cannot load module “libzbxpgsql.so”: /usr/lib/zabbix/modules/libzbxpgsql.so: undefined symbol: __zbx_zbx_snprintf
3、/etc/zabbix/zabbix_agentd.conf配置文件,hostname,写成IP地址
查看端口
修改配置文件,并添加服务端IP
root@ubuntu:~# vi /etc/zabbix/zabbix_server.conf
ListenIP=192.168.1.131
root@ubuntu:~#
root@ubuntu:~# systemctl enable zabbix-server
Synchronizing state of zabbix-server.service with SysV init with /lib/systemd/systemd-sysv-install...
Executing /lib/systemd/systemd-sysv-install enable zabbix-server
root@ubuntu:~# systemctl restart zabbix-server
4、在启动zabbix-agent 时系统日志输出
PID file /run/zabbix/zabbix_agentd.pid not readable (yet?) after star
zabbix-agent.service never wrote its PID file. Failing
重启zabbix-agent服务依旧不能正常启动,查看/var/log/zabbix/zabbix-agentd.log 发现系统提示zabbix共享内存报错
zabbix_agentd [5922]: cannot open log: cannot create semaphore set: [28] No space left on device
后通过修改
im /etc/sysctl.conf
kernel.sem =500 64000 64 256
sysctl -p /etc/sysctl.conf
后便能够正常启动了。(报错原因:kernel.sem参数设置过小 ,原先系统默认设置的为 250 32000 32 128)
参数含义
上面的4个数据分别对应:SEMMSL、SEMMNS、SEMOPM、SEMMNI这四个核心参数,具体含义和配置如下。
SEMMSL :用于控制每个信号集的最大信号数量。
SEMMNS:用于控制整个 Linux 系统中信号(而不是信号集)的最大数。
SEMOPM: 内核参数用于控制每个 semop 系统调用可以执行的信号操作的数量。
5、zabbix unreachable poller processes more than 75 busy
unreachable poller processes 一直在处于busy的状态,那这个具体代表什么意思呢,查看官方文档zabbix internal process、unreachable poller – poller for unreachable devices 用于轮询不可到达到的设备。
可能情况:
一个简单的方法是增加Zabbix Server启动时初始化的进程数量,这样直接增加了轮询的负载量,从比例上来讲忙的情况就少了
解决办法 :
[root@localhost zabbix]# vi /etc/zabbix/zabbix_server.conf
将这个值设置成StartPollers=500,然后重启zabbix-server服务。也可以定时重启zabbix服务。
6、Zabbix alerter processes more than 75% busy
收到几百条zabbix告警信息:
Zabbix alerter processes more than 75% busy
可能原因:
zabbix的数据库问题
zabbix服务器的IO负载
zabbix进程分配到内存不足
网络延时或者不通
处理方法:
root@localhost zabbix] vim /etc/zabbix/zabbix_server.conf
将其默认值5修改为20:
StartPollers=500
修改的位置
# StartDiscoverers=1
StartDiscoverers=100
7、zabbix-server服务挂了,启动后又自动停机了,并且日志中很多下面这个错误
报警提示
Zabbix value cache working in low memory mode
Less than 25% free in the configuration cache
解决办法 :
[root@localhost zabbix] cat /var/log/zabbix/zabbix_server.log
6278:20180320:190117.775 using configuration file: /etc/zabbix/zabbix_server.conf
6278:20180320:190117.807 current database version (mandatory/optional): 03020000/03020001
6278:20180320:190117.807 required mandatory version: 03020000
6278:20180320:190118.378 __mem_malloc: skipped 0 asked 136 skip_min 4294967295 skip_max 0
6278:20180320:190118.378 [file:dbconfig.c,line:653] zbx_mem_malloc(): out of memory (requested 136 bytes)
6278:20180320:190118.378 [file:dbconfig.c,line:653] zbx_mem_malloc(): please increase CacheSize configuration parameter
6354:20180320:190128.632 Starting Zabbix Server. Zabbix 3.2.10 (revision 74337).
修改配置文件
[root@localhost zabbix] vi /etc/zabbix/zabbix_server.conf
### Option: CacheSize
# Size of configuration cache, in bytes.
# Shared memory size for storing host, item and trigger data.
# Mandatory: no
# Range: 128K-8G
# Default:
# CacheSize=8M
CacheSize=2048M
root@localhost zabbix]# systemctl restart zabbix-server
8、zabbix-server日志报错,提示connection to database ‘zabbix’ failed: [1040] Too many connections错误,mariadb正常。想到应该是mysql最大连接数问题。
修改mysql最大连接数的链接:http://blog.51cto.com/net881004/2089198
9、报警提示More than 100 items having missing data for more than 10 minutes和Zabbix poller processes more than 75% busy错误。
修改配置文件增大线程数和缓存
[root@localhost zabbix]# vim /usr/local/zabbix/etc/zabbix_server.conf
StartPollers=500
StartPollersUnreachable=50
StartTrappers=30
StartDiscoverers=6
CacheSize=1G
CacheUpdateFrequency=300
StartDBSyncers=20
HistoryCacheSize=512M
TrendCacheSize=256M
HistoryTextCacheSize=80M
ValueCacheSize=1G
10、server日志很多first network error, wait for 15 seconds报错
server配置文件Timeout时间改大点,我改成了30s。
11、zabbix告警“Zabbix poller processes more than 75% busy”(网友)
告警原因:
1.某个进程卡住了,
2.僵尸进程出错,太多,导致慢了
3.网络延迟(可忽略)
4.zabbix消耗的内存多了
告警危害:
普通告警,暂无危害(但是最好处理)
处理方法:
一:简单,粗暴(重启zabbix-server可结合定时任务使用)
service zabbix-server restart
crontab -e 调出Cron编辑器中增加一个计划:
@daily service zabbix-server restart > /dev/null 2>&1
二:编辑Zabbix Server的配置文件/etc/zabbix/zabbix_server.conf,找到配置StartPollers的段落:
# Option: StartPollers
# Number of pre-forked instances of pollers.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartPollers=5
取消StartPollers=一行的注释或者直接在后面增加:
StartPollers=10
将StartPollers改成多少取决于服务器的性能和监控的数量,将StartPollers设置成12之后就再没有遇到过警报。如果内存足够的话可以设置更高。
12、早上收到很多报警邮件,官网访问不了,很多服务器端口不通。但是用手机访问官网却可以访问,邮件里面很多Zabbix alerter processes more than 75% busy、Zabbix http poller processes more than 75% busy、和端口不通的报警信息。
由于之前优化过zabbix配置,所以觉得应该不是zabbix配置的问题。可能是那时候zabbix所在网络不通或者延时造成的(确认后是机房那边网络断开了2个小时,恢复后这些报警信息才发送出来了)。看来要针对zabbix服务器本身在异地做个监控,有时间弄个nagios看看。
MMNI :内核参数用于控制整个 Linux 系统中信号集的最大数量。
13、②报错:No route to host处理
今天在客户端配置Zabbix_agentd后,通过自动注册到 Zabbix_Server 页面中,点击主机列表却发现ZBX显示红色,无法被监控到,查看报错为:
No route to host
在客户端telnet服务端的10051端口发现没有问题,服务端telnet 客户端10050端口报错:
telnet 1.1.1.1 10050
Trying 1.1.1.1…
telnet: connect to address 120.27.241.253: No route to host
原来是被客户端的防火墙档掉了,关闭客户端防火墙或者配置相应规则即可
14、④zookeeper不出图
查看日志/var/log/zabbix/zabbix_agentd.log,大量的报错
1404:20161225:183259.913 active check configuration update from [1.1.1.1:10051] started to fail (ZBX_TCP_READ() timed out)
原来是zabbix_sender需要主动向服务器发送数据,而zabbix-server端的10051端口被防火墙挡住了,重新放行端口问题解决
15、在启动zabbix-agent 时系统日志输出
PID file /run/zabbix/zabbix_agentd.pid not readable (yet?) after star
zabbix-agent.service never wrote its PID file. Failing
重启zabbix-agent服务依旧不能正常启动,查看/var/log/zabbix/zabbix-agentd.log 发现系统提示zabbix共享内存报错
zabbix_agentd [5922]: cannot open log: cannot create semaphore set: [28] No space left on device
后通过修改 vim /etc/sysctl.conf
kernel.sem =500 64000 64 256
sysctl -p /etc/sysctl.conf
后便能够正常启动了。(报错原因:kernel.sem参数设置过小 ,原先系统默认设置的为 250 32000 32 128)
参数含义
上面的4个数据分别对应:SEMMSL、SEMMNS、SEMOPM、SEMMNI这四个核心参数,具体含义和配置如下。
[root@localhost zabbix]# vi /etc/zabbix/zabbix_server.conf 将这个值设置成StartPingers=5,然后重启zabbix-server服务
16、zabbix unreachable poller processes more than 75 busy
unreachable poller processes 一直在处于busy的状态,那这个具体代表什么意思呢,查看官方文档zabbix internal process、unreachable poller - poller for unreachable devices 用于轮询不可到达到的设备。
可能情况:
一个简单的方法是增加Zabbix Server启动时初始化的进程数量,这样直接增加了轮询的负载量,从比例上来讲忙的情况就少了
[root@localhost zabbix]# vi /etc/zabbix/zabbix_server.conf 将这个值设置成StartPollers=500,然后重启zabbix-server服务。也可以定时重启zabbix服务。
17、
18、
参考链接:
https://blog.51cto.com/quliren/1922689
zabbix报错排错大全 : https://cloud.tencent.com/developer/article/1489205
zabbix报错排错大全3 原 : https://cloud.tencent.com/developer/article/1489206