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]" 

这台机器的configuration非常简单:

 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?

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_snmp看到p0,p1,p3是OK并返回OK ,忽略p2

我会尝试没有-r "OK"并确认你得到你期望的结果。 如果返回结果不正确,我会试用--invert-search

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