我有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).
我在日志或其他任何内容中都没有收到任何错误。真的出于想法可能是什么问题,所以欢迎任何建议。
答案 0 :(得分:4)
check_apt
只能显示正在运行的主机(例如localhost)的结果。
要对其他主机运行check_apt,您需要某种代理。例如NRPE或check_by_ssh(带键)。
这适用于正在检查"内部"的任何插件。像APT,负载,内存,磁盘使用,SMART健康等等。
编辑:为了澄清,将此检查应用于system-packages
的服务def需要更像这样,因为现在您在localhost上运行check_apt
进行每次检查:< / p>
define service {
hostgroup_name system-packages
service_description APT
check_command check_nrpe!check_apt
use generic-service
}
或者也许check_nrpe_1arg
,如果使用Debian / Ubuntu打包的NRPE。