为什么zabbix代理UserParameter在与zabbix服务器位于同一台机器上时不起作用

时间:2013-04-10 11:17:00

标签: monitoring zabbix

感谢您查看此问题!

我使用zabbix来监控我的服务器;

共有15台服务器;

但是当一个代理与zabbix服务器进程在同一台机器上时,其中一个代理不适用于UserParame

架构如下:

enter image description here

如图所示,与服务器部署在同一台机器上的zabbix agentd不能很好地用于UserParameter配置

我添加的配置代码如下所示

UserParameter=mongo.queue[*],/home/admin/tool/queue_monitor.sh $1 | awk '{if($$2 ~  /^[0-9]+/){print $$2}}'
UserParameter=mongo.status[*],/home/admin/tool/mongo-serverStatus.sh $1 | awk '{if($$1 ~ /^[0-9]+/){ print $$1}}'

它与其他agentds的配置完全相同......

然后我用以下方法测试:

zabbix_agentd -t mongo.queue[delayQueue]

它回复:

mongo.queue[delayQueue]                   [m|ZBX_NOTSUPPORTED]

此测试在其他agentd机器上运行良好,并将回复整数...

zabbix_agentd -t mongo.queue[delayQueue]
mongo.queue[delayQueue]                   [t|0]

那么我不应该在zabbix服务器的同一台机器上部署zabbix agentd吗?

但是,该代理在其原始工具上运行良好,例如CPU LOADS,磁盘空间......

我的zabbix版本是v2.0.3

./zabbix_agentd -V
Zabbix Agent (daemon) v2.0.3 (revision 30485) (03 October 2012)
Compilation time: Dec  5 2012 17:11:46

2 个答案:

答案 0 :(得分:0)

您正在尝试猜测问题所在。查看代理的日志,对于高管(脚本),答案很可能就在那里。如果不是,请禁用此代理的被动监视,启用完整调试输出(DebugLevel = 4),然后运行该参数的zabbix_get并再次查看日志。如果它还没有,那么strace就是你的朋友。

答案 1 :(得分:0)

最后我发现我的同事在服务器上安装了另一个zabbix_agentd是一个嗡嗡声错误,所以它上面有两个zabbix代理。

虽然我使用-c参数启动了agentd进程,但是当我使用-t测试用户参数时,配置文件是另一个文件的默认链接,因此我在文件中配置的用户参数不起作用。 ..