Zabbix 不从 Windows 版 Apache 收集数据

Zabbix 不从 Windows 版 Apache 收集数据

我有一个 Zabbix 2.2 安装,我需要监控运行 Apache 的 Windows 服务器。

我已经启用 mod_status,安装了 zapache(https://www.zabbix.org/wiki/Docs/howto/apache_monitoring_script#Method_3),我能够zabbix_get从 Zabbix 服务器获取值:

ubuntu@zabbix-server:/var/log$ zabbix_get -s <host> -p 10050 -k "apache[ReqPerSec]"
1.45184
ubuntu@zabbix-server:/var/log$ zabbix_get -s <host> -p 10050 -k "apache[BytesPerReq]"
2446.25

但是,当我配置模板并将其附加到主机时,Zabbix 不会显示收集的数据。

有任何想法吗?

答案1

问题解决了!

Zabbix 代理和服务器都有一个“超时”参数,该参数指定 Zabbix 等待检查完成的时间(外部,SNMP)。默认值为 3 秒,Zapache Shell 脚本需要 4 秒多一点的时间来执行,因此需要调整两个超时以适应这一点。如果您只是在代理处进行调整(就像我最初做的那样),则zabbix_get可以工作,但服务器不会获取值,因为它也会超时。

一旦设置了两个超时,一切都会正常工作。

忠告:在我的特定设置中,一旦我让一切正常运行,我就会注意到我的被动检查队列增加了其延迟值。这是因为服务器花费了太多时间来轮询所有 Apache 值(每个受监控服务器有 19 个新项目)。就我而言,最好的解决方案是将所有 Apache 项目的类型更改为“Zabbix 代理(主动)”。您可以增加轮询器的数量,但我发现主动检查不会损害受监控的服务器并减轻 Zabbix 服务器上的负载。

相关内容