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

Для передачи трапов в 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.

image258

Во вкладке События добавьте необходимые трапы.

Перейдите в веб-интерфейс Zabbix. Для примера будет создан элемент данных UG_trapHighCPUUsage (высокая нагрузка процессора) с типом SNMP trap. Для этого перейдите в раздел Настройка --> Шаблоны, откройте нужный шаблон, перейдите во вкладку Элемент данных и нажмите Создать элемент данных. Укажите необходимые данные.

image259

Трапы можно посмотреть в разделе Мониторинг --> Последние данные.