У меня есть cisco и сервер мониторинга с icinga (он же nagios, thruk). Я хочу получать ловушки от cisco и показывать их в icinga.Но я не могу увидеть интерфейс и vlan для errdisable trap.
Я загрузил mibs от cisco, включая CISCO-ERR-DISABLE-MIB.my. Затем я преобразовал его для snmptt с помощью этой команды:
snmpttconvertmib --in=CISCO-ERR-DISABLE-MIB.my --out=snmptt.conf --exec='/bin/bash /usr/local/bin/trap/submit_check_result $r '"errdisable 2" -net_snmp_perl - -формат=4
который произвел следующую конфигурацию (я заменил абсолютный путь к mib на ... и значения переменных на ...):
#
#
#
#
MIB: CISCO-ERR-DISABLE-MIB (файл:/.../CISCO-ERR-DISABLE-MIB.my), преобразованный в среду, 8 сентября, 16:49:53 2021 г., с использованием snmpttconvertmib v1.4.2
#
#
#
СОБЫТИЕ cErrDisableInterfaceEvent .1.3.6.1.4.1.9.9.548.0.1.1 "Состояние событий" Обычный
ФОРМАТ cErrDisableInterfaceEvent - cErrDisableIfStatusCause:$1
EXEC /bin/bash /usr/local/bin/trap/submit_check_result $r errdisable 2 "cErrDisableInterfaceEvent - cErrDisableIfStatusCause:$1"
СДЕСК
cErrDisableInterfaceEvent генерируется, когда интерфейс
или {interface, vlan} отключен функцией по ошибке
указанный в cErrDisableIfStatusCause.
cErrDisableInterfaceEvent устарел и заменен на
cErrDisableInterfaceEventRev1.
Переменные:
1: cErrDisableIfStatusCause
Синтаксис = "ЦЕЛОЕ ЧИСЛО"
1: удлд
...
9: портсекуритивиолатион
Descr="Этот объект определяет функцию/событие, вызвавшее
{interface, vlan} (или весь интерфейс) быть
ошибка-отключено."
ЭДЕСК
#
#
#
СОБЫТИЕ cErrDisableInterfaceEventRev1 .1.3.6.1.4.1.9.9.548.0.2 «Состояние событий» Обычный
ФОРМАТ cErrDisableInterfaceEventRev1 - cErrDisableIfStatusCause:$1
EXEC /bin/bash /usr/local/bin/trap/submit_check_result $r errdisable 2 "$N - $+1"
СДЕСК
cErrDisableInterfaceEventRev1 генерируется, когда
интерфейс или {interface, vlan} отключен по ошибке
функция, указанная в cErrDisableIfStatusCause.
cErrDisableInterfaceEventRev1 устарел
cErrDisableInterfaceEvent, чтобы сделать его совместимым с RFC 2578.
Согласно разделу 8.5 RFC 2578, следующий
до последнего субидентификатора в имени любого вновь определенного
уведомление должно иметь нулевое значение.
Переменные:
1: cErrDisableIfStatusCause
Синтаксис = "ЦЕЛОЕ ЧИСЛО"
1: удлд
...
9: портсекуритивиолатион
Descr="Этот объект определяет функцию/событие, вызвавшее
{interface, vlan} (или весь интерфейс) быть
ошибка-отключено."
ЭДЕСК
Есть две ловушки, меня интересует только cErrDisableInterfaceEventRev1, но не deprecated cErrDisableInterfaceEvent.
Это мой send-errdisable.sh, который я использую для создания тестового события errdisable:
TO_HOST=icinga.example.com
сообщество=abcabc
snmptrap -m ALL -v 2c -c $community $TO_HOST '' CISCO-ERR-DISABLE-MIB::cErrDisableInterfaceEventRev1 \
CISCO-ERR-DISABLE-MIB::cErrDisableIfStatusCause.2.0 i 1 \
2>/dev/ноль
Теперь, когда я генерирую событие errdisable, в выходных данных плагина icinga для службы errdisable я получаю следующий текст:
cErrDisableInterfaceEventRev1 - cErrDisableIfStatusCause:udld
но я ожидаю, что интерфейс и vlan будут там, например:
cErrDisableInterfaceEventRev1 - cErrDisableIfStatusCause.2.0:udld
Почему не показано? И как это исправить?