Настройка SNMP Traps в ZABBIX

Для передачи трапов в Zabbix будем использовать snmptt.

Установим необходимые сервисы:

# apt-get install snmptt snmptrapd snmp snmpd

Отредактируем конфигурационные файлы /etc/default/snmpd.conf или файл /etc/default/snmptrapd.conf

Заменим параметр TRAPDRUN на yes.

Отредактируем конфигурационный файл /etc/snmp/snmptrapd.conf

Укажем имя сообщества для трапов public и укажем обработчик трапов:

authCommunity log,execute,net public

traphandle default snmptthandler

Отредактируем конфигурационный файл /etc/snmp/snmptt.ini

mode = daemon

net_snmp_perl_enable = 1

mibs_environment = ALL

date_time_format = %H:%M:%S %Y/%m/%d

log_enable = 1

log_file = /var/log/snmptt/snmptt.log

unknown_trap_log_enable = 1

unknown_trap_log_file = /var/log/snmptt/snmpttunknown.log

В конце файла пропишем путь к конфигурационном файлу с описание трапов UserGate.

Пример:

[TrapFiles]

snmtt_conf_files = <<END

/etc/snmp/snmptt.conf

/usr/local/etc/snmp/UG.conf

END

Теперь известные трапы будут логироваться в файл /var/log/snmptt/snmptt.log

Неизвестные трапы в файл /var/log/snmptt/snmpttunknown.log

Отредактируем конфигурационный файл /etc/zabbix/zabbix_server.conf

StartSNMPTrapper=1

SNMPTrapperFile=/var/log/snmptt/snmptt.log

Создадим каталоги (если не были установлены ранее)

# mkdir /usr/local/etc/snmp/

# mkdir -p /usr/local/share/snmp/mibs

Переместим файл UTM-TRAPS-MIB.mib в каталог /usr/local/share/snmp/mibs. Скачать этот файл можно в Веб-консоли в разделе Диагностика и мониторинг - SNMP - Скачать MIBs.

Установим стандартные mibs в систему из репозитария (если не было установлено ранее).

# apt-get install snmp-mibs-downloader

Выполним конвертацию из mib в conf

# snmpttconvertmib --in=/usr/local/share/snmp/mibs/UTM-TRAPS-MIB.mib --out=/usr/local/etc/snmp/UG.conf -debug

Должны получить результат

Done

Total translations: 19

Successful translations: 19

Failed translations: 0

Отформатируем трапы, чтобы они распознавались ZABBIX'ом. Изменим /usr/local/etc/snmp/UG.conf

Заменяем FORMAT на FORMAT ZBXTRAP $aA

Если в системе используется iptables, то разрешим указанной ниже командой прием udp пакетов на порт 162 и сохраним добавленное правило чтобы оно не сбросилось после перезапуска системы:

# iptables -A INPUT -p udp -m udp -s 192.168.110.0/24 --dport 162 -j ACCEPT

# iptables-save

Перезапустим службы чтобы применить изменения:

# /etc/init.d/snmpd restart

# /etc/init.d/snmptt restart

# /etc/init.d/snmptrapd restart

# /etc/init.d/zabbix-server restart

Проверим, что snmptrapd слушает на порту 162

# netstat -tulpan | grep snmptrapd

В Веб-консоли UserGate в разделе Диагностика и мониторинг - SNMP создадим SNMP правило

Где 192.168.110.68 IP адрес сервера ZABBIX. Во вкладке События добавим необходимые трапы.

В Веб-интерфейсе ZABBIX создадим для примера элемент данных с типом SNMP trap

(высокая нагрузка процессора).

Получаем трапы