【问题标题】:Unknown storage : Swap space : ERROR in nagios未知存储:交换空间:nagios 中的错误
【发布时间】:2015-08-20 06:43:19
【问题描述】:

我们有一台在 Linux 上运行的 Nagios 服务器,其中一台主机在 Linux 上运行。

当我尝试手动运行命令以使用 SNMP 获取交换空间信息时,我得到了输出,但它没有反映在仪表板上。

谁能帮帮我?

供您参考,请查找手动运行命令的输出。 check_snmp_swap.pl -H IP Address -C public -m -w 80 -c 90

Swap Space: 0%used(26MB/95998MB) /data: 0%used(188MB/129704MB) Real  
Memory: 16%used(10263MB/64444MB) /: 62%used(30070MB/48432MB) Memory   
Buffers: 0%used(239MB/64444MB) (<80%) : OK  

但在仪表板中,我无法看到仅交换空间的状态,但我能够看到 CPU 和 RAM 的状态。

【问题讨论】:

    标签: snmp nagios


    【解决方案1】:

    检查您的服务定义是否有 check_snmp_swap。确保服务已注册,这意味着您在服务定义中设置了register 1

    例如:

    define service{
        host_name       check_snmp_swap
        service_description check-swap
        check_command       check_snmp_swap!public!80!90
        max_check_attempts  5
        check_interval  5
        retry_interval  3
        check_period        24x7
        notification_interval   30
        notification_period 24x7
        notification_options    w,c,r
        contact_groups      linux-admins
        register    1
    }
    

    还要检查 check_snmp_swap 的命令定义。确保将正确的社区字符串传递到命令中——在本例中为public

    编辑:

    从您在 cmets 中发布的配置信息来看,我认为您对服务定义服务模板定义有些混淆。 您似乎发布了一个模板 - 作为一个模板,真的应该将其register 值设置为0 以表明它是一个模板。

    现在真正的服务定义可以从服务模板继承一些设置。这样做的目的是使您不必在创建服务定义时一遍又一遍地重新输入相同的信息。 您可以通过在服务定义中明确定义这些设置来覆盖从服务模板继承的设置。

    您应该创建一个如下所示的服务定义:

    define service{
        host_name       check_snmp_swap
        use             generic-service
        service_description check-swap
        check_command       check_snmp_swap
        max_check_attempts  5
        check_interval  10
        retry_interval  2
        check_period        24x7
        notification_interval   30
        notification_period 24x7
        notification_options    w,u,c,r
        contact_groups      admins
        register    1
    }
    

    然后重启你的nagios服务:

    service nagios restart

    【讨论】:

    • 您好,我已按照您的建议检查了配置文件,但我仍然无法纠正错误。
    • 请找到配置文件,让我知道需要进行哪些 ichanges。定义命令 { command_name check_snmp_swap command_line $USER1$/snmp_check/check_snmp_swap.pl -C public -H $HOSTADDRESS$ -m '交换空间' -w 80 -c 90 -f register 1 }
    • ## Linux Machine Performance Check via SNMP## define command { command_name check_cpu_snmp command_line $USER1$/snmp_check/check_cpu_snmp.bash -H $HOSTADDRESS$ -C public -w 80 -c 90 register 1 }
    • 感谢您发布您的命令定义。您还需要检查您的服务定义。它也需要定义“寄存器 1”。
    • 我已经检查了服务定义,寄存器1也在服务配置文件中定义。
    猜你喜欢
    • 1970-01-01
    • 2016-08-09
    • 2021-04-21
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    相关资源
    最近更新 更多