Nagios
帶有負值的 check_snmp 警告和嚴重門檻值
我正在查詢以 dBm 為單位測量的一些信號電平值,並且刪除設備上的 SNMP 主機將這些值報告為負值,即 -90 dBm。但是,check-snmp 似乎無法將負數作為其門檻值的一部分來處理。如果我將這些值指定為 OID 集合的一部分,它會接受語法,但會將 snmp 值轉換為正數,因此始終會生成警告/嚴重結果:
root@ops-00:/usr/local/nagios/libexec# ./check_snmp -H 192.168.1.100 -o DEVICE-MIB::AverageReceiveSNR.0,DEVICE-MIB::CurrentNoiseFloor.0 -w 10:,~:-85 -c 15:,~:-80 -vvvv /usr/bin/snmpget -t 1 -r 5 -m ALL -v 1 [authpriv] 192.168.1.100:161 DEVICE-MIB::AverageReceiveSNR.0 DEVICE-MIB::CurrentNoiseFloor.0 DEVICE-MIB::AverageReceiveSNR.0 = INTEGER: 25 DEVICE-MIB::CurrentNoiseFloor.0 = INTEGER: -97 Processing line 1 oidname: DEVICE-MIB::AverageReceiveSNR.0 response: = INTEGER: 25 Processing line 2 oidname: DEVICE-MIB::CurrentNoiseFloor.0 response: = INTEGER: -97 SNMP CRITICAL - 25 *97* | DEVICE-MIB::AverageReceiveSNR.0=25 DEVICE-MIB::CurrentNoiseFloor.0=97
如果我使用單個 OID 執行它,它會給我一個格式不正確的錯誤:
root@ops-00:/usr/local/nagios/libexec# ./check_snmp -H 192.168.1.100 -o DEVICE-MIB::CurrentNoiseFloor.0 -w ~:-85 -c ~:-80 -vvvv Range format incorrect
編輯:如果我使用 -w=range 它會正確解析,但仍會將值轉換為正數。
root@ops-00:/usr/local/nagios/libexec# ./check_snmp -H 192.168.1.100 -o DEVICE-MIB::CurrentNoiseFloor.0 -w=~:-85 -c=~:-80 -vvvv /usr/bin/snmpget -t 1 -r 5 -m ALL -v 1 [authpriv] 192.168.1.100:161 DEVICE-MIB::CurrentNoiseFloor.0 DEVICE-MIB::CurrentNoiseFloor.0 = INTEGER: -97 Processing line 1 oidname: DEVICE-MIB::CurrentNoiseFloor.0 response: = INTEGER: -97 SNMP CRITICAL - *97* | DEVICE-MIB::CurrentNoiseFloor.0=97
如果我在沒有定義門檻值的情況下執行它,它會正常工作並返回正確的值。這使圖表正確,但是當超出範圍時它永遠不會生成通知:
root@ops-00:/usr/local/nagios/libexec# ./check_snmp -H 192.168.1.100 -o DEVICE-MIB::CurrentNoiseFloor.0 -vvvv /usr/bin/snmpget -t 1 -r 5 -m ALL -v 1 [authpriv] 192.168.1.100:161 DEVICE-MIB::CurrentNoiseFloor.0 DEVICE-MIB::CurrentNoiseFloor.0 = INTEGER: -97 Processing line 1 oidname: DEVICE-MIB::CurrentNoiseFloor.0 response: = INTEGER: -97 SNMP OK - -97 | DEVICE-MIB::CurrentNoiseFloor.0=-97
我在這裡做錯了什麼?例如,當本底雜訊為 -80 dBm 或更高時,我將如何生成 CRITICAL,在 -85 到 -80 dBm 時生成 WARNING,在 -85 dBm 或更低時生成 OK?處理負值時是否必須編寫自己的 SNMP 外掛?
-w=-85: -c=-80: 是我需要的語法,但 check_snmp 在觸發錯誤時仍會將輸出轉換為正數。已送出錯誤報告。
我用了這個 -w~:0.5 -c 0.5。使用 ~:0.5 允許負值。我從網站得到這個: https ://nagios-plugins.org/doc/guidelines.html#THRESHOLDFORMAT