Ставим ловушки на SNMP - АлтунинВВ.Блог - всё об IT-технологиях!
Пятница, 22 мая 2020 16:49

Ставим ловушки на SNMP

Россия

Это вторая часть, посвященная SNMP. Первую часть вы можете найти тут, подразумевается, что у вас всё уже настроено согласно первой части.

Помимо возможности получать по SNMP информацию от разнообразных датчиков и компонентов устройств для мониторинга состояния в протоколе SDNMP предусмотрен механизм информирования о событиях в режиме онлайн, это так называемые ловушки SNMP (SNMP traps).

Данный механизм позволяет получать с устройства некую информацию, при возникновении некоторого события, например, при подключении\отключении сетевого кабеля на порту.

Рассматривать настройку ловушек мы будем на примере ERS-200-FSTEC, а в качестве клиента будут выступать Debian Linux.

Настройка ESR-200-FSTEC

Прежде всего нам нужно настроить наш ESR-200.

Настройка очень проста:

 

snmp-server enable traps config
snmp-server enable traps config-copy
snmp-server enable traps entity-sensor
snmp-server enable traps environment
snmp-server enable traps envmon
snmp-server enable traps flash
snmp-server enable traps links
snmp-server enable traps snmp

Здесь мы применяем все ловушки кроме license и syslog.

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

syslog – в будущих статьях позже мы будем настраивать получение syslog с устройства и чтобы не засорять syslog сервера debian ненужными данными можно не включать данный вид ловушек.

Вот и всё, теперь на все адреса указанные в блоках

snmp-server host

будут отправляться ловушки SNMP.

Проверка ловушки

Для проверки работы ловушек настроим Debian.

Ставим необходимые пакеты:

sudo apt-get install snmptrapd net-tools

теперь нужно настроить автозапуск snmptrapd для этого открываем файл

mcrdit /etc/default/snmptapd

и добавляем строку

TRAPRUN=yes

В файл конфигурации /etc/snmp/snmptrapd.conf добавляем строку

authCommunity log,execute,net mytestcommunity

Теперь осталось только перезагрузить snmptrapd

sudo service snmptrapd restart

Теперь проверим «слушает» ли  snmptrapd порт 162

# sudo netstat -nlup | grep 162

Если мы видим такую строку:

udp        0      0 0.0.0.0:162             0.0.0.0:*                           17468/snmptrapd

Значит, что все настроено правильно. Теперь проверим получает ли сервер ловушки:

sudo snmptrap -c mytestcommunity -v 2c 127.0.0.1 "" 1.3.6.1.4.1 1.3.6.1.4.1 s "SNMP TEST TRAP"

После этого смотрим в syslog

tail /var/log/syslog

В нем у вас должна появиться строчка:

May 20 20:50:55 debian-test snmptrapd[17468]: 2020-05-21 20:50:55 localhost [UDP: [127.0.0.1]:46876->[127.0.0.1]:162]:#012DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (175407602) 20 days, 7:14:36.02#011SNMPv2-MIB::snmpTrapOID.0 = OID: SNMPv2-SMI::enterprises#011SNMPv2-SMI::enterprises = STRING: "SNMP TEST TRAP"

Вот мы и настроили наш сервер на прием ловушек, теперь пришло время попробовать получить ловушку от ESR-200

Запускаем

tail –f /var/log/syslog

Теперь нужно просто внести любые изменения на устройство и ввести

Do commit

Или

commit

В логе должно появиться:

May 20 21:02:56 debian-test snmptrapd[17468]: 2020-05-20 21:02:56 <UNKNOWN> [UDP: [192.168.0.254]:58094->[192.168.0.23]:162]:#012DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (734309700) 84 days, 23:44:57.00#011SNMPv2-MIB::snmpTrapOID.0 = OID: SNMPv2-SMI::enterprises.9.9.41.2.0.1#011SNMPv2-SMI::enterprises.9.9.41.1.2.3.1.2 = STRING: "CLI"#011SNMPv2-SMI::enterprises.9.9.41.1.2.3.1.3 = INTEGER: 7#011SNMPv2-SMI::enterprises.9.9.41.1.2.3.1.4 = STRING: "CRIT"#011SNMPv2-SMI::enterprises.9.9.41.1.2.3.1.5 = STRING: "user admin from ssh 192.168.0.4 input: do commit "#011SNMPv2-SMI::enterprises.9.9.41.1.2.3.1.6 = Timeticks: (734309700) 84 days, 23:44:57.00#011SNMPv2-MIB::snmpTrapEnterprise.0 = OID: SNMPv2-SMI::enterprises.9.9.41.2.0.1

Вот и все. Теперь вы можете использовать любую систему мониторинга, чтобы настроить прием ловушек с ESR-200

Заключение

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

Более удобным способом является получение данных с помощью syslog. Этот способ будет рассмотрен в следующих статьях.

Прочитано 480 раз Последнее изменение Вторник, 28 июля 2020 11:20