web-dev-qa-db-ja.com

Nagios / Icingaによって報告されていないRAIDの問題-check_raidを使用

いくつかのマシンでcheck_raidスクリプトを実行していますが、今日、マシンの1つが劣化状態にあることに気付きましたが、警告は表示されませんでした。スクリプトは「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を返しますか?

1
Bob

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が正常であることを確認し、p2を無視してOKを返します。

-r "OK"なしで試してみて、期待どおりの結果が得られることを確認します。誤った戻り結果が続く場合は、--invert-searchを試してみます。

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