check_disk 未生成警报:nagios

check_disk not generating alerts: nagios

我是nagios新手。

我正在尝试为一台主机配置 "check_disk" 服务,但没有得到预期的结果。

当磁盘使用率超过 80% 时,我应该会收到电子邮件。

因此,已经为具有多个主机的此任务定义了服务,如下所示:

    define service{
            use                             local-service         ; Name of service template to use
            host_name                       localhost, host1, host2, host3, host4, host5, host6
            service_description             Root Partition
            check_command                   check_local_disk!20%!10%!/
            contact_groups                  unix-admins,db-admins
            }

此外,我尝试测试单个主机,即 "host2"。 host2目前的使用情况如下:

    # df -h /
    Filesystem                  Size  Used Avail Use% Mounted on
    /dev/mapper/rootvg-rootvol   94G   45G   45G  50% /

所以为了获得即时电子邮件,我编写了另一个服务,如下所示,其中警告设置为 <60%,严重设置为 <40%。

    define service{
            use                             local-service
            host_name                       host2
            service_description             Root Partition again
            check_command                   check_local_disk!60%!40%!/
            contact_groups                  dev-admins
            }

但我仍然没有收到任何相同的电子邮件。

哪里出错了。

"check_local_disk"命令定义如下:

    define command{
            command_name    check_local_disk
            command_line    $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
            }

您的命令定义当前设置为仅检查您的 Nagios 服务器的磁盘,而不是远程主机(例如 host2)。您需要定义一个新的命令定义以通过 NRPE(Nagios 远程插件执行)在远程主机上执行 check_disk。

在 Nagios 服务器上,定义以下内容:

define command {
        command_name                    check_remote_disk
        command_line                    $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_disk -a $ARG1$ $ARG2$ $ARG3$
        register                        1
}


define service{
        use                             genric-service
        host_name                       host1, host2, host3, host4, host5, host6
        service_description             Root Partition
        check_command                   check_remote_disk!20%!10%!/
        contact_groups                  unix-admins,db-admins
}

重新启动 Nagios 服务。

在远程主机上:

  • 确保安装了 NRPE 插件。
  • 确保在远程主机上为 check_disk 定义了一个命令。这通常包含在 nrpe.cfg 中,但被注释掉了。您必须取消对该行的注释。
  • 确保您在远程主机上安装了 check_disk 插件。我的位于:/usr/lib64/nagios/plugins/check_disk
  • 确保 nrpe.cfgallowed_hosts 字段包含 Nagios 服务器的 IP 地址/主机名。
  • 确保 nrpe.cfgdont_blame_nrpe 字段设置为 1 以允许 NRPE 命令的命令行参数:dont_blame_nrpe=1
  • 如果您进行了任何更改,请重新启动 nrpe 服务。