Zabbix. Настройка SNMP-TRAP в Zabbix
Установка
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
- SNMP Settings:
В свойствах задания (Job):
Storage - Advanced - Nitifications: ставим галку "Send SNMP notifications for this job"
Теперь при завершении задания бэкапирования или репликации veeam будет отправлять snmp-trap
Забикс поймает его и поместит в item "log" хоста "veeam"
Данные мы увидим в Latest data - History