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
理查德