Для передачи трапов в Zabbix будет использоваться snmptt. Установите необходимые сервисы. Для этого используйте команду:
# apt-get install snmptt snmptrapd snmp snmpd
Внесите изменения в конфигурационный файл /etc/default/snmptrapd. Измените параметра TRAPDRUN с no на yes (или самостоятельно добавьте 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
В веб консоли UserGate во вкладке Диагностика и мониторинг в разделе Оповещения --> SNMP скачайте MIBs, если файлы не были загружены ранее. Переместите файл UTM-TRAPS-MIB.mib в каталог /usr/local/share/snmp/mibs.
Установите стандартные mibs в систему из репозитария (если не было установлено ранее).
# apt-get install snmp-mibs-downloader
Выполните конвертацию файла UTM-TRAPS-MIB.mib в UG.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-правило. В поле IP-серверы для трапов укажите IP-адрес сервера Zabbix.
Во вкладке События добавьте необходимые трапы.
Перейдите в веб-интерфейс Zabbix. Для примера будет создан элемент данных UG_trapHighCPUUsage (высокая нагрузка процессора) с типом SNMP trap. Для этого перейдите в раздел Настройка --> Шаблоны, откройте нужный шаблон, перейдите во вкладку Элемент данных и нажмите Создать элемент данных. Укажите необходимые данные.
Трапы можно посмотреть в разделе Мониторинг --> Последние данные.