Настройка перехвата SNMP ловушек в Zabbix
Руководство по настройке и обработке 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 | # Example configuration file for snmptrapd |
Я не использую авторизацию, поскольку девайсы находятся в локальной сети. В случае установки на внешних инетрфейсах необходимо раскоментировать и заполнить authCommunity
.
Редактируем конфигурационный файл Zabbix
/etc/zabbix/zabbix_server.conf
1 | StartSNMPTrapper=1 |
Важно!
Путь 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