Настройка перехвата SNMP ловушек в Zabbix

Настройка перехвата SNMP ловушек в Zabbix

Roman Bogachev VMware Specialist | Drone Pilot | Traveler

Руководство по настройке и обработке SNMP ловушек в Zabbix для мониторинга устройств

SNMP-ловушка (SNMP-trap) - это особый сигнал, отправляемый устройством с поддержкой протокола SNMP. Как правило, подобные сигналы отправляются устройствами для того, чтобы оповестить администратора сети о наступлении каких-то критических событий. К примеру, некоторые виды источников бесперебойного питания (UPS) могут отправлять SNMP-trap в случае, когда оборудование переходит в режим питания от батарей UPS. Как правило, подобные ситуации требуют незамедлительного вмешательства обслуживающего персонала и поэтому устройство само инициирует отправку сигнала по протоколу SNMP.

Настройка firewall

Необходимо открыть порт 162/UDP на Firewalld или iptables

Установка и настройка trap receiver

1
yum install −y net-snmp-utils net-snmp-perl net-snmp

Для отлова SNMP-трапов, будем использовать Perl скрипт.

Загружаем последние сорсы Zabbix

1
wget https://cdn.zabbix.com/zabbix/sources/stable/6.2/zabbix-6.2.0.tar.gz

Распаковываем архив:

1
tar −zxvf zabbix _._._.tar.gz -C /tmp && cd /tmp/zabbix-*

Копируем скрипт в директорию исполнения:

1
cp zabbix-_._._/misc/snmptrap/zabbix_trap_receiver.pl /usr/bin/zabbix_trap_receiver.pl

Выдаём привилегии доступа и исполнения:

1
chmod a+x /usr/bin/zabbix_trap_receiver.pl

Редактируем конфигурационный файл Trap Reciever

/etc/snmp/snmptrapd.conf

1
2
3
4
5
6
7
8
9
# Example configuration file for snmptrapd
#
# No traps are handled by default, you must edit this file!
#
# authCommunity log,execute,net public
# traphandle SNMPv2-MIB::coldStart /usr/bin/bin/my_great_script cold
disableAuthorization yes
#authCommunity "zabbix"
perl do "/usr/bin/zabbix_trap_receiver.pl"

Я не использую авторизацию, поскольку девайсы находятся в локальной сети. В случае установки на внешних инетрфейсах необходимо раскоментировать и заполнить authCommunity.

Редактируем конфигурационный файл Zabbix

/etc/zabbix/zabbix_server.conf

1
2
StartSNMPTrapper=1
SNMPTrapperFile=/tmp/zabbix_traps.tmp

Важно!

Путь SNMPTrapperFile= должен быть такой же, как указан в скрипте zabbix_trap_receiver.pl

При отстутствие файла можно создать его вручную: touch /tmp/zabbix_traps.tmp

Перезагружаем сервис Zabbix

1
systemctl restart zabbix-server

Проверяем

Из консоли Zabbix отправляем команду

1
snmptrap -v 1 -c zabbix 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 "testzabbixsnmptrap"

И проверяем файл с трапами cat /tmp/zabbix_traps.tmp