Мониторинг состояния BGP пиров Cisco роутера при помощи Zabbix
Invite pending
Появилась насущная задача: мониторить состояние BGP пира и получать уведомления, если сессия отваливается. BGP у нас настроен на Cisco 3945, из установленных NMS под рукой был Zabbix 1.8., на нем и решено было сделать соответствующий триггер.

1. Сознательно опускаю детали работы с Zabbix. Будем считать, что хост уже заведен в систему, SNMP настроен. Переходим в создание нового Item для хоста.

Самым не очевидным параметром здесь будет SNMP OID. В случае с Cisco найти его можно здесь.
Поиск по ключевому слову «bgp» привел к объекту bgpPeerState, OID 1.3.6.1.2.1.15.3.1.2, который возвращает в числовом формате состояние BGP сессии.
Нас интересует состояние 6- Established.
2. На всякий случай, OID можно легко проверить с помощью snmpwalk:
snmpwalk -v2c -c snmp community адрес хоста 1.3.6.1.2.1.15.3.1.2
Если все верно, то ответ будет примерно следующим:
SNMPv2-SMI::mib-2.15.3.1.2.192.168.130.1 = INTEGER: 6
В этом примере, 192.168.130.1- адрес пира.
3. Возвращаемся в Zabbix и в поле SNMP OID вводим наш объект в формате:
1.3.6.1.2.1.15.3.1.2.xxx.xxx.xxx.xxx
, где xxx.xxx.xxx.xxx- адрес BGP peer.
В поле Key для собственного удобства я также вбил xxx.xxx.xxx.xxx.

4. Если не возникло ошибок при сохранении Item, то переходим к созданию триггера. Так как важно отследить только падение сессии, то есть переход из состояния Established в любое другое, триггер будет очень простым.
Нажимаем на кнопку Expression, выбираем созданный на предыдущих этапах Item.
Function: Last value < N, где N равно 6.
Имя триггера и Severity выбираем на свой вкус.

5. В принципе все готово. Осталось лишь убедиться, что Item ассоциирован с хостом, а также настроен Action при срабатывании триггера.
Решение весьма и весьма простое, но не считаю это недостатком. На данный момент нет задачи мониторить другие пиры, поэтому я ограничился одним триггером. В перспективе планирую сделать аналогичное решение для Juniper.

1. Сознательно опускаю детали работы с Zabbix. Будем считать, что хост уже заведен в систему, SNMP настроен. Переходим в создание нового Item для хоста.

Самым не очевидным параметром здесь будет SNMP OID. В случае с Cisco найти его можно здесь.
Поиск по ключевому слову «bgp» привел к объекту bgpPeerState, OID 1.3.6.1.2.1.15.3.1.2, который возвращает в числовом формате состояние BGP сессии.
Нас интересует состояние 6- Established.
2. На всякий случай, OID можно легко проверить с помощью snmpwalk:
snmpwalk -v2c -c snmp community адрес хоста 1.3.6.1.2.1.15.3.1.2
Если все верно, то ответ будет примерно следующим:
SNMPv2-SMI::mib-2.15.3.1.2.192.168.130.1 = INTEGER: 6
В этом примере, 192.168.130.1- адрес пира.
3. Возвращаемся в Zabbix и в поле SNMP OID вводим наш объект в формате:
1.3.6.1.2.1.15.3.1.2.xxx.xxx.xxx.xxx
, где xxx.xxx.xxx.xxx- адрес BGP peer.
В поле Key для собственного удобства я также вбил xxx.xxx.xxx.xxx.

4. Если не возникло ошибок при сохранении Item, то переходим к созданию триггера. Так как важно отследить только падение сессии, то есть переход из состояния Established в любое другое, триггер будет очень простым.
Нажимаем на кнопку Expression, выбираем созданный на предыдущих этапах Item.
Function: Last value < N, где N равно 6.
Имя триггера и Severity выбираем на свой вкус.

5. В принципе все готово. Осталось лишь убедиться, что Item ассоциирован с хостом, а также настроен Action при срабатывании триггера.
Решение весьма и весьма простое, но не считаю это недостатком. На данный момент нет задачи мониторить другие пиры, поэтому я ограничился одним триггером. В перспективе планирую сделать аналогичное решение для Juniper.