Zabbix. Настройка SNMP-TRAP в Zabbix: различия между версиями

Материал из Wiki
Перейти к навигации Перейти к поиску
(Новая страница: «Категория:Zabbix __ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__»)
 
Строка 1: Строка 1:
[[Категория:Zabbix]]
[[Категория:Zabbix]]
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__
== Установка ==
<code>yum install snmptt net-snmp perl-Net-SNMP net-snmp-perl net-snmp-utils perl-Sys-Syslog</code>
Дописываем в конфиг
<code>nano /etc/snmp/snmptrapd.conf</code>
...
authCommunity log,execute,net public
traphandle default /usr/sbin/snmptthandler
В конфиге /etc/snmp/snmptt.ini меняем параметры
<code>nano /etc/snmp/snmptt.ini</code>
...
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 дописываем
<code>nano /etc/snmp/snmptt.conf</code>
...
EVENT general .* "General event" Normal
FORMAT ZBXTRAP $aA $1 $2 $3 $4
Перезапускаем snmpd, snmptt и snmptrapd
<code>service snmpd restart</code>
<code>service snmptt restart</code>
<code>service snmptrapd restart</code>
Проверяем, что 162 порт слушается:
<code>netstat -tanu | grep :162</code>
     udp 0 0 0.0.0.0:162 0.0.0.0:*
Правим конфиг /etc/zabbix/zabbix_server.conf
<code>nano /etc/zabbix/zabbix_server.conf</code>
StartSNMPTrapper=1
SNMPTrapperFile=/var/log/snmptt/snmptt.log
Включаем автозапуск служб
<code>systemctl enable snmpd</code>
<code>systemctl enable snmptt</code>
<code>systemctl enable snmptrapd</code>
<code>systemctl enable zabbix-server</code>
Перезапускаем всё
<code>service snmpd restart</code>
<code>service snmptt restart</code>
<code>service snmptrapd restart</code>
<code>service zabbix-server restart</code>
Можно сгенерировать тестовый трап
<code>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"</code>
В файле /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'''

Версия 22:02, 31 января 2022


Установка

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