Отлов SNMP-ловушек с устройств APC

Отлов SNMP-ловушек с устройств APC

Roman Bogachev VMware Specialist | Drone Pilot | Traveler

Настройка и отлов SNMP-ловушек с устройств APC в системе мониторинга Zabbix для анализа событий

Для отлова SNMP-ловушек сперва необходимо настроить само устройство, а именно адрес отправки и коммьюнити.

Шаг 1. Настройка устройства

В менеджмент интерфейсе переходим в меню «Configuration» - «Notification» - «SNMP Traps» - «Trap Receivers»

Указываем адрес Zabbix сервера, а так же community доступа - zabbix.

Шаг 2. Отправляем тестовую ловушку

Переходим в UI Zabbix, на элементы нашего устройства и находим объект SNMP traps (fallback). Открываем его и переходим в Latest data.

В случае успешной настройки увидим, что Zabbix отловил SNMP-ловушку.

Шаг 3. Создаём элемент

ВАЖНО!

Если элемент нужно применить для всех устройств, то лучше создавать на уровне шаблона. Если элемент применим исключительно к одному устройству, то создавать его необходимо только на нём!

К примеру, хотим контролировать успешное выполнение самодиагностики с последующим уведомлением в Telegram.

Сперва необходимо отловить SNMP-ловушку. Запускаем Self-test на устройстве. Либо, зная MIB и OID можно вытянуть самим. (В помощь https://oidref.com/)

Получаем примерный вывод:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
17:46:57 2022/07/13 PDU INFO:
errorindex 0
community zabbix
requestid 0
notificationtype TRAP
errorstatus 0
receivedfrom UDP: [**.**.**.**]:60738->**.**.**.**]:162
transactionid 632
messageid 0
version 0
VARBINDS:
DISMAN-EVENT-MIB::sysUpTimeInstance type=67 value=Timeticks: (415593460) 48 days, 2:25:34.60
SNMPv2-MIB::snmpTrapOID.0 type=6 value=OID: SNMPv2-SMI::enterprises.318.0.10
SNMPv2-SMI::enterprises.318.2.3.3.0 type=4 value=STRING: "UPS: Self-Test passed."
SNMP-COMMUNITY-MIB::snmpTrapAddress.0 type=64 value=IpAddress: **.**.**.**
SNMP-COMMUNITY-MIB::snmpTrapCommunity.0 type=4 value=STRING: "zabbix"
SNMPv2-MIB::snmpTrapEnterprise.0 type=6 value=OID: SNMPv2-SMI::enterprises.318

Для нас важно наличие текста UPS: Self-Test passed в строке SNMPv2-SMI::enterprises.318.2.3.3.0 type=4 value=STRING: "UPS: Self-Test passed.". На него и будем ориентироваться.

Создаём новый элемент.

Создаём триггер на элемент при котором будем получать алерт

Проверяем

Успешно, но не красиво. Чтобы привести уведомление в читаемый вид необходимо регуляркой обрезать ненужные элементы или же выцепить то, что нам нужно. Воспользуемся сервисом https://www.regextester.com/

И вставим полученное значение \b(\w*UPS: Self-Test passed\w*)\b в наш созданный элемент данных, в раздел Preprocessing.

Проверяем, что получилось. Нажимаем кнопку Test, в значение (Value) вводим сырые данные, которые получаем по SNMP-ловушке и выполняем тест.

Как видно из скриншота, в результате мы получаем короткое значение об выполнении теста, которое будет отображаться при алертах.