Для передачи трапов в 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
(высокая нагрузка процессора).
Получаем трапы