Предполагается, что SNMP на циске и в Zabbix’е уже настроен.
Основная проблема заключается в том, что нужные нам для мониторинга номера SNMP OIDs с отсчётами трафика формируются динамически. Мало того, списки этих номеров — также формируются динамически.
Это является следствием того, что сам алгоритм построения туннеля довольно сложен. Сперва формируется служебный ISAKMP туннель, затем основной IPSEC-туннель для данных. Подробнее об этом можно почитать тут: linkmeup.ru/blog/50.html (кстати, отличный обучающий цикл статей этого автора по основам настройки оборудования Cisco уже был на Хабре).
Конкретный алгоритм извлечения заветных отсчётов трафика настолько мутный, что реализовать его чисто встроенными средствами Zabbix, по-видимому, невозможно. Да что там, даже художественно перевести у меня не получилось. Позволю себе описание с форума www.networking-forum.com:
those OIDs refer to bytes used solely over the phase 1 tunnel. In order to get actual user traffic over the phase 2 tunnels you must get the phase 1 index ID using the endpoint address from SNMPv2-SMI::enterprises.9.9.171.1.2.3.1.7, then map that to the phase 2 index ID(s) from SNMPv2-SMI::enterprises.9.9.171.1.3.2.1.2, then you can use SNMPv2SMI::enterprises.9.9.171.1.3.2.1.26 and SNMPv2-SMI::enterprises.9.9.171.1.3.2.1.39 with the phase 2 index ID appended for the actual phase 2 traffic.
zabbix-host:~ # snmpwalk -v2c -c <community> <IP-адрес роутера> SNMPv2-SMI::enterprises.9.9.171.1.2.3.1.7 SNMPv2-SMI::enterprises.9.9.171.1.2.3.1.7.479 = STRING: "091.092.093.094" SNMPv2-SMI::enterprises.9.9.171.1.2.3.1.7.483 = STRING: "012.013.014.015" SNMPv2-SMI::enterprises.9.9.171.1.2.3.1.7.499 = STRING: "162.163.164.165" SNMPv2-SMI::enterprises.9.9.171.1.2.3.1.7.505 = STRING: "217.218.219.220"
zabbix-host:~ # snmpwalk -v2c -c <community> <IP-адрес роутера> SNMPv2-SMI::enterprises.9.9.171.1.3.2.1.2: SNMPv2-SMI::enterprises.9.9.171.1.3.2.1.2.8830 = INTEGER: 462 SNMPv2-SMI::enterprises.9.9.171.1.3.2.1.2.8831 = INTEGER: 462 SNMPv2-SMI::enterprises.9.9.171.1.3.2.1.2.8832 = INTEGER: 462 SNMPv2-SMI::enterprises.9.9.171.1.3.2.1.2.8833 = INTEGER: 462 SNMPv2-SMI::enterprises.9.9.171.1.3.2.1.2.8834 = INTEGER: 499 SNMPv2-SMI::enterprises.9.9.171.1.3.2.1.2.8835 = INTEGER: 499 SNMPv2-SMI::enterprises.9.9.171.1.3.2.1.2.8836 = INTEGER: 499 SNMPv2-SMI::enterprises.9.9.171.1.3.2.1.2.8837 = INTEGER: 499 SNMPv2-SMI::enterprises.9.9.171.1.3.2.1.2.8838 = INTEGER: 499 SNMPv2-SMI::enterprises.9.9.171.1.3.2.1.2.8839 = INTEGER: 499 SNMPv2-SMI::enterprises.9.9.171.1.3.2.1.2.8840 = INTEGER: 499 SNMPv2-SMI::enterprises.9.9.171.1.3.2.1.2.8841 = INTEGER: 499 SNMPv2-SMI::enterprises.9.9.171.1.3.2.1.2.8842 = INTEGER: 499
К счастью, добрые люди с форума Cacti написали перловый скрипт, который всю чёрную работу делает сам.
Скачаем скрипт и закинем в папку ExternalScripts (/usr/local/share/zabbix/externalscripts по умолчанию).
zabbix-host:/usr/local/share/zabbix/externalscripts # perl query_asa_lan2lan.pl <community> <IP-адрес роутера> ASA get RX <IP-адрес какого-нибудь remote endpoint> 70546023
Работает!
Поскольку туннелей много и иногда они меняются, применим LLD (правила низкоуровнего обнаружения) в Zabbix, чтобы туннели все сами обнаруживались и прописывались у нас в системе.
Делаем новый шаблон, а в нём — правило обнаружения и прототипы элементов данных на incoming и outgoing traffic:
Ключ полностью: query_asa_lan2lan.pl["{$SNMP_COMMUNITY}", "{HOST.IP}", «ASA», «get», «RX», "{#SNMPVALUE}"]
Ссылка в описании OID: tools.cisco.com/Support/SNMP/do/BrowseOID.do?local=en&translate=Translate&objectInput=1.3.6.1.4.1.9.9.171.1.2.3.1.35#oidContent
Ключ полностью: query_asa_lan2lan.pl["{$SNMP_COMMUNITY}", "{HOST.IP}", «ASA», «get», «TX», "{#SNMPVALUE}"]
Ссылка в описании OID: tools.cisco.com/Support/SNMP/do/BrowseOID.do?local=en&translate=Translate&objectInput=1.3.6.1.4.1.9.9.171.1.2.3.1.35#oidContent
Применяем шаблон к нужным хостам, ждём автообнаружения и созерцаем наши туннельчики.
Осталось сделать графики для туннелей. К сожалению, LLD не позволяет автоматически делать консолидированные графики из нескольких прототипов данных, придётся добавить обнаруженные элементы данных вручную:
Ура! Можно хвастаться живыми картинками боссу.
ссылка на оригинал статьи http://habrahabr.ru/post/195622/
Добавить комментарий