【问题标题】:Getting wrong result in Nagios when using check_apt使用 check_apt 时在 Nagios 中得到错误结果
【发布时间】:2014-03-27 12:10:23
【问题描述】:

我有 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时,master报告需要更新3个包,然后过了一会儿其他报告进来了,也有3个包。

我认为没问题,它们是在同一天安装的,所以应该没有区别。

但是后来我更新了master上的这3个包,slave上的警告也消失了,所以slave不知何故从master那里得到了结果。

当我在单个从属设备上运行 check_apt 命令时,它会报告正确的数据:

user@remote-system:~$ /usr/lib/nagios/plugins/check_apt
APT CRITICAL: 3 packages available for upgrade (3 critical updates).

我在日志或任何内容中没有收到任何错误。真的没有想法可能是什么问题,所以欢迎提出任何建议。

【问题讨论】:

  • Nagios 问题可能应该在 Serverfault 上,而不是在这里。
  • 该死,第一次发帖,我就搞砸了:|

标签: linux debian nagios


【解决方案1】:

check_apt 只能显示运行它的主机(例如本地主机)的结果。

要针对其他主机运行 check_apt,您需要某种代理。喜欢NRPEcheck_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

【讨论】:

  • 是的,我在从属设备上使用 NRPE,他们报告负载/磁盘使用情况/内存就好了。
  • 如果您的 check_command 不以“check_nrpe”开头,那么它们可能不会;-)
  • 你说的太对了,现在注意到所有结果的磁盘信息都是相同的,负载不同只是因为它们的结果来自不同的时间:D 为了将来参考,只需 check_nrpe!是需要的,即使您使用的是 debian 软件包,也不需要 check_nrpe_1arg。非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-07
相关资源
最近更新 更多