【问题标题】:check_disk not generating alerts: nagioscheck_disk 未生成警报:nagios
【发布时间】:2015-09-16 09:40:47
【问题描述】:

我是 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% /

为了获得即时电子邮件,我编写了另一个服务,如下所示,其中警告设置为

    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$
            }

【问题讨论】:

    标签: monitoring nagios health-monitoring


    【解决方案1】:

    您的命令定义当前设置为仅检查 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 服务。

    【讨论】:

    • 这太完美了!谢谢。此外,我想知道,如何仅在第一次检查问题时发送电子邮件,即磁盘使用率超过 90% 并停止通知进行下一次检查,直到恢复。
    • 修改您的服务定义并添加以下行:notification_interval 0
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多