Zabbix. Настройка SNMP-TRAP в Zabbix

Материал из Wiki
Перейти к навигации Перейти к поиску


Установка

yum install snmptt net-snmp perl-Net-SNMP net-snmp-perl net-snmp-utils perl-Sys-Syslog

Дописываем в конфиг

nano /etc/snmp/snmptrapd.conf

...
authCommunity log,execute,net public
traphandle default /usr/sbin/snmptthandler

В конфиге /etc/snmp/snmptt.ini меняем параметры

nano /etc/snmp/snmptt.ini

...
mode = daemon
net_snmp_perl_enable = 1
mibs_environment = ALL
unknown_trap_log_enable = 1
date_time_format = %H:%M:%S %Y/%m/%d
log_enable = 1
log_file = /var/log/snmptt/snmptt.log
unknown_trap_log_file = /var/log/snmptt/snmpttunknown.log
...

В конфиге /etc/snmp/snmptt.conf дописываем

nano /etc/snmp/snmptt.conf

...
EVENT general .* "General event" Normal
FORMAT ZBXTRAP $aA $1 $2 $3 $4

Перезапускаем snmpd, snmptt и snmptrapd

service snmpd restart

service snmptt restart

service snmptrapd restart

Проверяем, что 162 порт слушается:

netstat -tanu | grep :162

    udp 0 0 0.0.0.0:162 0.0.0.0:*

Правим конфиг /etc/zabbix/zabbix_server.conf

nano /etc/zabbix/zabbix_server.conf

StartSNMPTrapper=1
SNMPTrapperFile=/var/log/snmptt/snmptt.log

Включаем автозапуск служб

systemctl enable snmpd

systemctl enable snmptt

systemctl enable snmptrapd

systemctl enable zabbix-server

Перезапускаем всё

service snmpd restart

service snmptt restart

service snmptrapd restart

service zabbix-server restart

Можно сгенерировать тестовый трап

snmptrap -v 1 -c public 127.0.0.1 '.1.3.6.1.6.3.1.1.5.3' '0.0.0.0' 6 33 '55' .1.3.6.1.6.3.1.1.5.3 s "teststring000"

В файле /var/log/snmptt/snmptt.log видим:

    Wed Aug 15 15:02:36 2018 .1.3.6.1.6.3.1.1.5.3.0.33 Normal "General event" localhost - ZBXTRAP 127.0.0.1 teststring000 $2 $3

Это означает, что трапы пишутся в файл

В файле /var/log/zabbix/zabbix-server.log видим:

    11843:20180815:150241.105 unmatched trap received from "127.0.0.1": Wed Aug 15 15:02:36 2018 .1.3.6.1.6.3.1.1.5.3.0.33 Normal "General event" localhost - teststring000 $2 $3

Это означает, что заббикс читает файл

Теперь создадим тестовый хост и item в нем, в который будем ловить отправленный snmp-trap

Настройка в веб-интерфейсе Zabbix

Создаем хост "Veeam" с интерфейсом SNMP 192.168.199.20:161

Как пример, 192.168.199.20 это Veeam B&R сервер, с которого будут отправляются трапы о завершении задания бэкапа или репликации

Создаем Item для ловли трапов:

Name: log
Type: SNMP trap
Key: snmptrap[.1.3.6.1.4.1.31023.1.1.1.0.1]
Host interface: 192.168.199.20:161
Type of information: Log

Трап с OID ".1.3.6.1.4.1.31023.1.1.1.0.1" отправляет Veeam,

Забикс видит в своих логах через фильтр REGEXP (snmptrap[.1.3.6.1.4.1.31023.1.1.1.0.1] - в скобках [] регулярное выражение)

Строку с этим OID и ловит его этим ITEM

Настройки Veeam B&R для отправки трапов статуса заданий:

  • General options:
    • SNMP Settings:
      • Reciever - 192.168.199.13:162  // 192.168.199.13 - Zabbix сервер, 162 - порт SNMP-trap
      • Community string - public

В свойствах задания (Job):

Storage - Advanced - Nitifications: ставим галку "Send SNMP notifications for this job"

Теперь при завершении задания бэкапирования или репликации veeam будет отправлять snmp-trap

Забикс поймает его и поместит в item "log" хоста "veeam"

Данные мы увидим в Latest data - History