Предупреждение check_snmp и критические пороги с отрицательными значениями

Я запрашиваю некоторые значения уровня сигнала, измеренные в дБм, а хост SNMP на устройстве удаления сообщает значения как отрицательные значения, т. Е. -90 дБм. Однако check-snmp, похоже, не может иметь дело с отрицательными числами как часть своих пороговых значений. Если я укажу значения как часть набора идентификаторов OID, он принимает syntax, но преобразует значение snmp в положительное, и всегда генерирует результат WARNING / CRITICAL:

[email protected]:/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, это дает мне ошибку, что format неверен:

 [email protected]:/usr/local/nagios/libexec# ./check_snmp -H 192.168.1.100 -o DEVICE-MIB::CurrentNoiseFloor.0 -w ~:-85 -c ~:-80 -vvvv Range format incorrect 

edit: если я использую -w = range, он правильно анализирует, но все равно преобразует значение в положительное.

 [email protected]:/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 

И если я запускаю его без определенных пороговых значений, он работает правильно и возвращает правильное значение. Это делает graphики правильными, однако никогда не будет генерировать уведомление, выходящее за пределы rangeа:

 [email protected]:/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 

Что я здесь делаю неправильно? Как, например, генерировать CRITICAL, когда уровень шума составляет -80 дБм или выше, ПРЕДУПРЕЖДЕНИЕ, когда оно составляет от -85 до -80 дБм, и ОК при -85 дБм или ниже? Должен ли я писать свои собственные plugins SNMP при работе с отрицательными значениями?

-w = -85: -c = -80: это syntax, который мне нужен, но check_snmp все еще преобразует вывод в положительный, когда срабатывает ошибка. Отправлен отчет об ошибке.

Я использовал это -w ~: 0.5 -c 0.5. Использование ~: 0,5 позволяет отрицательные значения. Я получил это с веб-websiteа: https://nagios-plugins.org/doc/guidelines.html#THRESHOLDFORMAT

  • centos 6 oid для net-snmp
  • Плагин HAProxy perl и Net-SNMPd на Ubuntu 10.04
  • upload конфигурацию cisco с помощью snmpget
  • pysnmp не возвращает одно значение из ifTable
  • Файлы SNMPTT и MIB
  • Содержит ли Zabbix данные за определенный период?
  • Какова цель использования SNMP RW в реальном мире?
  • Конфигурация Snmp дает мне тайм-аут, less ответа
  • Автоматическое добавление комментариев в snmpd.conf
  • Получение информации о interfaceе сетевой maps через SNMP
  • Получите версию VMware и Veeam через API / SNMP / script
  • Давайте будем гением компьютера.