Nagios/Icinga 未报告 RAID 问题 - 使用 check_raid

Nagios/Icinga 未报告 RAID 问题 - 使用 check_raid

我正在多台机器上运行 check_raid 脚本,今天我才注意到其中一台机器处于降级状态,但我没有收到警报。脚本返回“严重”,但 Icinga 认为它没问题。

这是我在 Icinga 机器上看到的内容(我已经更换了磁盘):

SNMP OK - "CRITICAL: tw_cli:[c3(9650SE-4LPML): u0(RAID-10): REBUILDING 65%, Cache:Ri, Drives(4): p2=DEGRADED p0,p1,p3=OK]" 

这台机器的配置非常简单:

define service{
use generic-service
host_name test
service_description RAID Status
check_command check_raid
}

这是命令定义:

define command{
command_name    check_raid
command_line    /usr/lib/nagios/plugins/check_snmp -H $HOSTADDRESS$ -o ucdavis.80.3.1.1.13.47.117.115.114.47.98.105.110.47.112.101.114.108 -C public -r "OK"

在被检查的机器上,我在 snmpd.conf 中有以下内容:

extend .1.3.6.1.4.1.2021.80 /usr/bin/perl /usr/local/bin/check_raid.pl

我正在使用最新版本的脚本,有人知道我做错了什么吗?-r“OK”总是返回 ok 吗?

答案1

nagios 脚本匹配 4 个返回条件中的 3 个,这就是它返回 OK 的原因。

check_snmp 文档

-r, --ereg=REGEX
   Return OK state (for that OID) if extended regular expression REGEX matches

您的脚本返回以下内容(为了简洁起见,我对其进行了编辑):

"CRITICAL: [...] p2=DEGRADED p0,p1,p3=OK]" 

看到check_snmpp0, p1, p3 都正常,就返回OK,忽略 p2

我会尝试不使用-r "OK"并确认您是否获得了预期的结果。如果不正确的返回结果仍然存在,我会尝试--invert-search

 --invert-search
    Invert search result (CRITICAL if found)

相关内容