Raid

Nagios/Icinga 未報告 RAID 中的問題 - 使用 check_raid

  • November 3, 2016

我在多台機器上執行 check_raid 腳本,今天我注意到我的一台機器處於降級狀態,但我沒有收到警報。腳本返回“CRITICAL”,但 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 嗎?

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

看到 p0 , check_snmpp1, p3 正常並返回OK,忽略 p2

我會在沒有的情況下嘗試-r "OK"並確認你得到了你期望的結果。如果錯誤的返回結果仍然存在,我會嘗試--invert-search

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

引用自:https://serverfault.com/questions/813017