BOGACHEV.BIZ / KNOWLEDGE BASE

Technical Guidebook

← К каталогу публикаций

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

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

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

Настройка firewall

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

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

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

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

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

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

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

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

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

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

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

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

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

/etc/snmp/snmptrapd.conf

# 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

StartSNMPTrapper=1
SNMPTrapperFile=/tmp/zabbix_traps.tmp

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

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

systemctl restart zabbix-server

Проверяем

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

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