Zabbix unreachable poller processes more than 75% busy

本文探讨了Zabbix监控系统中Unreachable Poller进程超过75%忙碌的问题,分析了两种常见情况:一是目标设备宕机或Zabbix Agent故障导致数据无法正常收集;二是数据获取超时。并提供了Zabbix Server配置调整建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记一次zabbix报错:

Zabbix unreachable poller processes more than 75% busy

1.通过Zabbix agent采集数据的设备处于moniting的状态但是此时机器死机或其他原因导致zabbix agent死掉server获取不到数据,此时unreachable poller 
就会升高。

2.通过Zabbix agent采集数据的设备处于moniting的状态但是server向agent获取数据时时间过长,经常超过server甚至的timeout时间,此时unreachable poller就会升高。

Serverd端zabbix_server.conf配置调整

StartPollers=10
StartPollersUnreachable=10

# 上面配置要根据服务器的性能自行调整

### Zabbix Proxy Last Seen More Than 600 Seconds Ago Solution 当遇到 `Zabbix proxy last seen more than 600 seconds ago` 的问题时,通常是因为 Zabbix ServerZabbix Proxy 之间的通信中断或延迟过高。以下是可能的原因以及解决方案: #### 可能原因分析 1. **网络连接问题**: 如果 Zabbix ServerZabbix Proxy 之间存在网络不稳定的情况,可能会导致超时错误。 2. **配置文件设置不当**: Zabbix Proxy 或 Agent 的配置文件中的参数可能导致性能下降或无法正常同步数据。 3. **资源不足**: 如果 Zabbix Proxy 所运行的主机 CPU、内存或其他硬件资源不足,则会影响其处理能力。 4. **日志记录过多**: 大量的日志记录会占用磁盘空间并降低系统性能。 #### 解决方案 ##### 调整 Timeout 参数 在 `/etc/zabbix/zabbix_proxy.conf` 文件中调整以下参数以优化时间间隔和重试机制: ```ini Timeout=300 StartPollers=20 ``` 上述命令分别设置了请求的最大等待时间和启动轮询器的数量[^1]。 ##### 检查服务状态 确认 Zabbix Proxy 是否正在运行,并尝试重新启动它来清除任何潜在的问题: ```bash systemctl status zabbix-proxy systemctl restart zabbix-proxy ``` 如果仍然存在问题,可以查看服务日志寻找更多线索: ```bash journalctl -u zabbix-proxy -f ``` ##### 修改客户端分配 对于迁移场景下的问题,可以通过更改 Zabbix Server 端 Web 配置将某些 hosts 移动到新的代理上。具体操作如下: - 登录 Zabbix 前端界面; - 导航至 Configuration -> Hosts 页面; - 编辑目标 host 并将其链接到新指定的代理实例[^2]。 ##### 提升硬件规格 评估当前部署环境是否满足官方推荐最低需求标准。如果不符,请考虑升级物理设备或者虚拟机资源配置。 ##### 数据库维护 定期执行数据库清理工作可以帮助保持良好的查询效率。例如删除过期的历史数据表项等。 --- ### 示例脚本:批量更新Host关联Proxy 下面提供一段 Python 脚本来辅助完成大规模 Host 切换任务: ```python import requests from pprint import pprint def update_host(hostid, newproxy_name): url = 'http://your_zabbix_server/api_jsonrpc.php' payload = { "jsonrpc": "2.0", "method": "host.update", "params": {"hostid": str(hostid), "proxy_hostid": get_proxy_id(newproxy_name)}, "auth": "<Your Auth Token>", "id": 1 } response = requests.post(url, json=payload).json() return response['result'] def get_proxy_id(proxyname): # Implement logic to fetch id based on name here... pass if __name__ == "__main__": result = [] for hst in ['example-host-id']: res = update_host(hst,'new-proxy-name') result.append(res) pprint(result) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值