Ловушка для SNMP – настраиваем snmptrapd из пакета NET-SNMP. (Часть 1)

Трапы SNMP очень мощный инструмент мониторига сетевых (и не только) лелезок.
Информация о комплексной настройке активного мониторинга событий с помощью snmp трапов в сети много, но все как-то очень разрознено.
Попробую в нескольких заметках собрать в кучу хоть часть из этого.
В snmp существует 2 вида уведомлений от агента – traps и informs. Отсылка трапов осуществется агентом без гарантии доставки, но сейчас это не важно.
Итак, для начала понадобится демон для ловли трап-событий от агентов.
Я буду использовать обычный net-snmp под Debian. Для начала нужно просто поставить пакет и настроить демона на ловлю трапов и запись их в лог, разбором займемся позже.

Ставим сам пакет net-snmp

Из состава пакета мне нужен демон snmptrapd, именно он отвечает за прием и обработку трапов. В актуальных версиях snmptrapd принимает только те трапы которые прошли соответсвующую авторизацию. На момент тестирования авторизация не нужна, поэтому отключаем ее в конфиге и пробуем просто отловить чего-нибудь.

Выключаеся авторизация в конфигурационном файле /etc/snmp/snmptrapd.conf с помощью опции

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

опции:
-A – дописывать лог файл
-n – не разрешать имена узлов в DNS
-f – не демонизировать процесс
-Lf – запись трапов в указаный лог-файл

Цепляемся к нашему логу и смотрим что там будет происходить

Демон запустился и ждет трапов, теперь попробуем отправить какой-нибудь тестовый trap с консоли. Для этого можно воспользоваться утилитой snmptrap из того-же пакета net-snmp.
Например вот так:

Что означает отправить trap сообщение версии 1 с комьюнини id public менеджеру на хост mon.

А лог-файле можно увидеть нашу пойманую трапу

Если все живет нормально, то можно запускать snmptrapd как сервис и переходить к дальнейшей настройке. Поправим дефолтовый конфиг snmpd и выставим опции на запуск snmptrapd. При этом если сам snmpd в качестве агента на хосте не нужен, то его можно отключить.

Также можно настроить самую базовую авторизацию. Разрешим логировать и обрабатывать трапы от всех агентов, отправленые на Public community

Перезапускаем snmp

И проверяем повис ли он на слущающем сокете:

Все в порядке. демон слушает 162й udp-порт, все пришедшие трапы должны валиться в сислог. Можно послать еще один тест и заглянуть в /var/log/messages, там можно найти нашу трапу.

Как видно все довольно просто, snmptard будет писать в лог все падающие на него трапы с агентов. Толку от этого, правда не много, т.к. разобрать в чистом виде что и откуда там по какой причине валится практически невозможно.
Дальше будем настраивать транслятор и сислог.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">