Nagios没有从插件返回数据,只有check_apt

Nagios我有一个非常奇怪的问题。 由于某种原因,check_apt似乎失败了,我不知道为什么。 它的行为就像没有运行检查。

我有nrpe运行在箱子开发和所有其他检查运行良好。 在安装了nagios的盒子上,定义如下。

define service{ use generic-service host_name development service_description APT check_command check_nrpe!check_apt } 

在“开发”nrpe.cfg包含以下行。

 command[check_apt]=/usr/lib/nagios/plugins/check_apt -n 

此外,如果我在安装Nagios的盒子上,并执行以下操作!

 /usr/lib/nagios/plugins/check_nrpe -H development -c check_apt 

哪个返回

 APT OK: 0 packages available for upgrade (0 critical updates). 

那么,这里有什么不对? 看起来其他NRPE插件工作正常,只有APT似乎失败,并手动运行在框中似乎工作。 build议?

我发现的问题是在服务描述中,虽然我觉得在Nagios中没有指定错误或选项。 debugging输出显示实际的命令行正在运行到NRPE

 /usr/lib/nagios/plugins/check_nrpe -H server.mechsoft-vps1.com -c check_mysqld -a 

这里的问题是,一个需要一个参数。 然而,检查没有。 更改服务定义添加一个参数解决了问题。

 define service{ use generic-service host_name development service_description APT check_command check_nrpe!check_apt!1 } 

尝试在开发主机的nrpeconfiguration文件nrpe.conf中启用debugging。 设置debug = 1,如果作为守护程序运行,则重新启动nrpe,并检查/ var / log / messages或nagios日志文件是否有错误。 您可以安排从Nagios Web界面立即检查您的check_apt命令。

也可以尝试使用“正确的”用户从控制台运行,而不是作为root用户,而是作为nagios用户。 或者,你的nagios以root身份运行? 在我们的系统中,nagios作为用户nagios运行。

如果你的nagios在nagios用户下运行,请尝试:

su -c'/ usr / lib / nagios / plugins / check_nrpe -H开发-c check_apt'nagios

理查德