Задача: На cisco ASA 5500 есть настроенные site-to-site IPsec VPN туннели. Нужно настроить мониторинг загрузки и состояния туннелей в Zabbix 3.x.
В данной статье не рассматривается настройка Zabbix сервера c нуля и cisco ASA 5500, а только конкретный случай. SNMP уже должно быть настроено.
1. В начале нужно на Zabbix сервер установить дополнительные компоненты для perl, так как у меня Ubuntu, то делается это так:
sudo apt-get install libnet-snmp-perl
sudo apt-get install libswitch-perl
3. Далее копируем файл или создаем файл (с содержими из этого файла) в каталоге - /usr/lib/zabbix/externalscripts, так как Zabbix по умолчанию ищет их там.
4. Даем права на файл:
chown zabbix:zabbix query_lan2lan_cisco.pl
5. Для проверки можно запустить скрипт c вашими параметрами:
query_lan2lan_cisco.pl community host {ASA,CONCENTRATOR} index
query_lan2lan_cisco.pl community host {ASA,CONCENTRATOR} query {RX,TX}
query_lan2lan_cisco.pl community host {ASA,CONCENTRATOR} get {RX,TX} DEVICE
6. Далее переходим к настройке в Zabbix и создаем новый шаблон -
Template S2S ASA, а в нем добавляем Discovery rules - IPsec VPN tunnels, чтобы туннели добавлялись автоматически по правилу низкоуровневого обнаружения Zabbix (Low-level discovery).
- Type: SNMP agent
- Key: ciscoMgmt.171.1.2.3.1.7
- SNMP OID:discovery[{#SNMPVALUE},CISCO-SMI::ciscoMgmt.171.1.2.3.1.7]
- SNMP community: {$SNMP_COMMUNITY}
7. В Discovery rules - IPsec VPN tunnels добавляем Item prototype для входящего трафика, исходящего и для состояния интерфейса.
1) Incoming traffic in tunnel to {#SNMPVALUE}
- Name: Incoming traffic in tunnel to {#SNMPVALUE}
- Type: External check
- Key: query_lan2lan_cisco.pl[{$SNMP_COMMUNITY},{HOST.IP},ASA,get,RX,{#SNMPVALUE}]
- Type of information: Numeric (unsigned)
- Data type: Decimal
- Units: bps
- Use custom multiplier: 8
- Store value: Delta (speed per second)
- Name: Outgoing traffic in tunnel to {#SNMPVALUE}
- Type: External check
- Key: query_lan2lan_cisco.pl[{$SNMP_COMMUNITY},{HOST.IP},ASA,get,TX,{#SNMPVALUE}]
- Type of information: Numeric (unsigned)
- Data type: Decimal
- Units: bps
- Use custom multiplier: 8
- Store value: Delta (speed per second)
3) IPSec Tunnel Status {#SNMPVALUE}
- Name: IPSec Tunnel Status {#SNMPVALUE}
- Type: External check
- Key: query_lan2lan_cisco.pl[{$SNMP_COMMUNITY}, {HOST.IP},ASA,index,{#SNMPVALUE}]
- Type of information: Log
В итоге получим:
8. Для реагирования, что туннель не работает нужно сделать Trigger prototypes:
- Name: S2S to {#SNMPVALUE} Disconnected
- Severity: HIGH
- Expression: {Template S2S ASA:query_lan2lan_cisco.pl[{$SNMP_COMMUNITY}, {HOST.IP},ASA,index,{#SNMPVALUE}].str({#SNMPVALUE},30)}<>0
В итоге получаем:
9. Подключаем шаблон нужным устройствам и ждем пока пойдут данные
9. Далее сделаем графики, чтобы наглядно было видно трафик:
10. Результат:
Источники:- Type: External check
- Key: query_lan2lan_cisco.pl[{$SNMP_COMMUNITY}, {HOST.IP},ASA,index,{#SNMPVALUE}]
- Type of information: Log
В итоге получим:
8. Для реагирования, что туннель не работает нужно сделать Trigger prototypes:
- Severity: HIGH
- Expression: {Template S2S ASA:query_lan2lan_cisco.pl[{$SNMP_COMMUNITY}, {HOST.IP},ASA,index,{#SNMPVALUE}].str({#SNMPVALUE},30)}<>0
В итоге получаем:
9. Подключаем шаблон нужным устройствам и ждем пока пойдут данные
9. Далее сделаем графики, чтобы наглядно было видно трафик:
10. Результат:
http://www.admuser.net/2017/03/monitor-site-to-site-tunneling-health.html
https://habrahabr.ru/post/195622/
No comments:
Post a Comment