zabbix告警“Zabbix poller processes more than 75% busy”
Posted on 2023-06-12 10:39 风行天下-2080 阅读(57) 评论(0) 编辑 收藏 举报1、
https://cloud.tencent.com/developer/article/1155220
https://www.kaijia.me/2014/01/zabbix-poller-processes-more-than-75-busy-alert-issue-solved/
虽然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的段落:
1
2
3
4
5
6
7
|
### Option: StartPollers
# Number of pre-forked instances of pollers.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartPollers=5
|
取消StartPollers=一行的注释或者直接在后面增加:
1
|
StartPollers=10
|
将StartPollers改成多少取决于服务器的性能和监控的数量,Kaijia将StartPollers设置成12之后就再没有遇到过警报。如果内存足够的话可以设置更高。设置完成之后运行:
1
|
service zabbix-server restart
|
重启Zabbix。当然另外一种从整体上降低Zabbix服务器负载的方法就是定期重启Zabbix,这种方法可以用Cron实现,运行:
1
|
crontab -e
|
在调出的Cron编辑器中增加一个计划:
1
|
@daily service zabbix-server restart > /dev/null 2>&1
|
这个计划会每天自动重启Zabbix服务以结束僵尸进程并清理内存等。目前Kaijia这样配置Zabbix后还没有再次遇到过“Zabbix poller processes more than 75% busy”的问题。
2、
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2020-06-12 centos7急救模式之系统由于误删系统软件包引起系统无法启动的故障
2020-06-12 CentOS7--删除virbr0