Пассивный мониторинг сети (часть 2)
Параллельно с написанием костылей, о которых упомянул в первой части, было найдено полноценное решение - INFORM.
По сути, тот же TRAP, но с подтверждением о доставке серверу. Небольшое сравнение TRAP и INFORM (подробнее здесь https://tech4mint.com/snmp-trap-vs-inform/++)
TRAP - Unacknowledged Notification - Single Message - No Retransmission
INFORM - Acknowledged Notification - Two-Message Exchange - Retransmission Capability
Получаем чуть более безопасный TRAP с возможностью досылки сообщения, если оно не было получено сервером.
Здорово, но самое главное для нас — это настройка snmptrapd, теперь нам не нужно указывать engine ID для каждой железки, достаточно указать на стороне оборудования engine ID нашего сервера мониторинга! Ура, получается довольно просто, лаконично и без костылей лишних точек отказа.
Спотыкаемся еще немного при настройке INFORM в SNMPTrapd ввиду отсутствия информации о настройке в сети (настройка руками необходимого engine ID на стороне сервера, по дефолту генерируется автоматически и может быть изменен при смене сервера\интерфейса), но MAN и несколько экспериментов с конфигом дают нужный результат.
Самое сложное позади, INFORM сообщения отлавливаются и передаются в систему мониторинга.
Остается распарсить сообщения, в элементы данных, создать триггеры для элементов данных и действия на триггеры, но это уже рутина ещё пара недель и новые шаблоны с комбинированным подходом готовы. Ждем окончательных тестов и в прод =)