Zabbix各种报错信息和遇到的问题

1、Zabbix报警 icmp pinger processes more than 75% busy

 

[root@localhost zabbix]#  vi /etc/zabbix/zabbix_server.conf
将这个值设置成StartPingers=5,然后重启zabbix-server服务。

 

 

2、zabbix unreachable poller processes more than 75 busy
unreachable poller processes 一直在处于busy的状态,那这个具体代表什么意思呢,查看官方文档zabbix internal process、unreachable poller - poller for unreachable devices 用于轮询不可到达到的设备。

可能情况:
1.通过Zabbix agent采集数据的设备处于moniting的状态但是此时机器死机或其他原因导致zabbix agent死掉server获取不到数据,此时unreachable poller就会升高。
2.通过Zabbix agent采集数据的设备处于moniting的状态但是server向agent获取数据时时间过长,经常超过server设置的timeout时间,此时unreachable poller就会升高。

3.支撑Zabbix的MySQL卡住了,Zabbix服务器的IO卡住了都有可能,Zabbix进程分配到内存不足都有可能。

一个简单的方法是增加Zabbix Server启动时初始化的进程数量,这样直接增加了轮询的负载量,从比例上来讲忙的情况就少了

 

[root@localhost zabbix]#  vi /etc/zabbix/zabbix_server.conf
将这个值设置成StartPollers=500,然后重启zabbix-server服务。也可以定时重启zabbix服务。

 

 

3、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

 

 

4、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
备注:今天批量添加了700台主机,造成内存溢出。

 

 

 

5、zabbix-server日志报错,提示connection to database 'zabbix' failed: [1040] Too many connections错误,mariadb正常。想到应该是mysql最大连接数问题。

修改mysql最大连接数的链接:https://blog.51cto.com/net881004/2089198

 

6、报警提示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

 

 

7、server日志很多first network error, wait for 15 seconds报错

server配置文件Timeout时间改大点,我改成了30s。

 

8、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之后就再没有遇到过警报。如果内存足够的话可以设置更高。

 

9、早上收到很多报警邮件,官网访问不了,很多服务器端口不通。但是用手机访问官网却可以访问,邮件里面很多Zabbix alerter processes more than 75% busy、Zabbix http poller processes more than 75% busy、和端口不通的报警信息。

由于之前优化过zabbix配置,所以觉得应该不是zabbix配置的问题。可能是那时候zabbix所在网络不通或者延时造成的(确认后是机房那边网络断开了2个小时,恢复后这些报警信息才发送出来了)。看来要针对zabbix服务器本身在异地做个监控,有时间弄个nagios看看。

上一篇:关于go声明切片的一些疑问


下一篇:每天学一个 Linux 命令(25):more