Zabbix unreachable poller processes more than 75% busy

最近在我们的zabbix 服务器上发现zabbix unreachable poller processes more than 75 busy的报警,
然后就看了一下zabbix的内部进程监控发现如下:

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就会升高。

目前我个人发现unreachable poller升高基本都是以上两种原因导致的。

虽然Zabbix的监控警报各种有,但Kaijia使用碰到最多的几个莫过于内存耗尽,网络不通,IO太慢还有这个“Zabbix poller processes more than 75% busy”了。一开始的时候因为这个即不影响使用也持续一会儿就自行解决就没有多在意。然后随着数据库的增大,Zabbix消耗的内存可是越来越多,Poller processes(轮询)开始天天Busy了,最终Kaijia不得不把Zabbix挪到了另外一台服务器上。

但这并没有彻底解决问题,警报仍然三天两头来几个。之后Kaijia开启了Zabbix警报的邮件功能,于是开始频繁收到这类邮件,于是Kaijia决定解决这个问题。Google了一下资料,没有找到很权威的答案,造成轮询忙的问题有很多中,支撑Zabbix的MySQL卡住了,Zabbix服务器的IO卡住了都有可能,Zabbix进程分配到内存不足都有可能。一个简单的方法是增加Zabbix Server启动时初始化的进程数量,这样直接增加了轮询的负载量,从比例上来讲忙的情况就少了。
增加初始化进程的方法非常简单,编辑Zabbix Server的配置文件/etc/zabbix/zabbix_server.conf,找到配置StartPollers的段落:

### Option: StartPollers
# Number of pre-forked instances of pollers.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartPollers=50

取消StartPollers=一行的注释或者直接在后面增加:

StartPollers=100

将StartPollers改成多少取决于服务器的性能和监控的数量,将StartPollers设置成100之后就再没有遇到过警报。如果内存足够的话可以设置更高。设置完成之后运行:

service zabbix-server restart

重启Zabbix。当然另外一种从整体上降低Zabbix服务器负载的方法就是定期重启Zabbix,这种方法可以用Cron实现,运行:

crontab -e

在调出的Cron编辑器中增加一个计划:

@daily service zabbix-server restart > /dev/null 2>&1

这个计划会每天自动重启Zabbix服务以结束僵尸进程并清理内存等。目前这样配置Zabbix后还没有再次遇到过“Zabbix poller processes more than 75% busy”的问题。

重启之后又有新问题出现

[file:dbconfig.c,line:94] __zbx_mem_realloc(): out of memory (requested 3356

错误原因:内存溢出
打开zabbix_server.conf 找到 Option: CacheSize

把原来的 # CacheSize=8M 前面的#注释去掉,将8M修改为10

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值