我有1个Nagios“主人”?和3个奴隶在奔跑。我从所有检查的从站获取正确的数据,但check_apt除外,在该检查中所有从站均获得主站结果。
今天的情况是我将其添加到hostgroups.cfg
define hostgroup {
hostgroup_name system-packages
alias APT status on all servers
members *
}
并将其添加到services.cfg
define service {
hostgroup_name system-packages
service_description APT
check_command check_apt
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}
然后,当我重新启动Nagios3时,主服务器报告需要更新3个软件包,然后过一会儿其他报告也进入了更新,其中也包含3个软件包。
我认为还可以,它们是在同一天安装的,所以应该没有什么不同。
但是后来我更新了主服务器上的这3个软件包,从属服务器上的警告也消失了,所以从属服务器从主服务器上得到了结果。
当我在单个从站上运行check_apt命令时,它将报告正确的数据:
user@remote-system:~$ /usr/lib/nagios/plugins/check_apt
APT CRITICAL: 3 packages available for upgrade (3 critical updates).
我没有在日志中发现任何错误或其他任何信息。真的没有想法可能是什么问题,因此欢迎提出任何建议。
最佳答案
check_apt
只能显示其运行的主机(例如localhost)的结果。
要针对其他主机运行check_apt,您需要某种代理。像NRPE或check_by_ssh(带有键)。
这适用于检查“内部”事物(例如APT,负载,内存,磁盘使用情况,SMART运行状况等)的任何插件。
编辑:澄清一下,将此检查应用于system-packages
的服务定义需要更像这样,因为现在您正在本地主机上为每个检查运行check_apt
:
define service {
hostgroup_name system-packages
service_description APT
check_command check_nrpe!check_apt
use generic-service
}
如果使用Debian/Ubuntu打包的NRPE,则可能是
check_nrpe_1arg
。关于linux - 使用check_apt时在Nagios中得到错误的结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22687215/