Оглавление
Trap сервер позволяют информировать о состоянии сети — состояния интерфейсов, наличия проблем с ними или попытках подлома оборудования. Так же бывает полезен при разборе полетов. Обработку трапов будет осуществлять Zabbix и сигнализировать о наступлении события
Инсталляция Trap сервера
1 2 3 |
yum install snmptt net-snmp perl-Net-SNMP net-snmp-perl net-snmp-utils |
Настройка
Правим /etc/snmp/snmptrapd.conf
1 2 3 4 5 |
disableAuthorization yes authCommunity log,execute,net COMMUNITY traphandle default /usr/sbin/snmptthandler |
Создадим файл /etc/snmp/cisco.conf со следующим содержимым
1 2 3 4 |
EVENT general .* "General event" Normal FORMAT ZBXTRAP $aA $ar |
Правим файл /etc/snmp/snmptt.ini
1 2 3 4 5 6 |
mode = daemon net_snmp_perl_enable = 1 date_time_format = %H:%M:%S %Y/%m/%d log_file = /var/log/snmptt/snmptt.log |
1 2 3 4 5 6 7 8 9 10 11 12 |
[TrapFiles] # A list of snmptt.conf files (this is NOT the snmptrapd.conf file). The COMPLETE path # and filename. Ex: '/etc/snmp/snmptt.conf' snmptt_conf_files = <<END /etc/snmp/snmptt.conf /etc/snmp/cisco.conf #/etc/snmp/dlink.conf END |
1 2 3 4 5 |
service snmpd restart service snmptt restart service snmptrapd restart |
После внесения изменений я перезапускаю все демоны
1 2 3 4 5 |
service snmptrapd restart service snmpd restart service snmptt restart |
Подключение MIB файлов
Далее необходимо добавить расшифровку OID
Выяснять где хранятся MIB файлы
1 2 3 4 |
net-snmp-config --snmpconfpath /etc/snmp:/usr/share/snmp:/usr/lib64/snmp:/root/.snmp:/var/lib/net-snmp |
Просматриваем лог трап сервера и находим OID s, который не поддерживаются. Например, в логе такая запись
1 2 3 |
14:38:06 2018/02/03 .1.3.6.1.4.1.9.9.46.2.0.2 Normal "General event" 10.10.12.3 - ZBXTRAP 10.10.12.3 10.10.12.3 |
Осуществляем поиск необходимого MIB файла на сайте Cisco.com Можно воспользоваться другим источником или скачать с моего сайта одним архивом.
На сайте находим необходимый MIB по данному OID.
Это файл — CISCO-VTP-MIB.
Загружаем все необходимые зависимости из таблицы
Таблица 1
MIB Name | Version 1 | Version 2 | Dependencies | |||
1. SNMPv2-SMI | Download | | | Download | | | View Dependencies | |
2. SNMPv2-TC | Download | | | Download | | | View Dependencies | |
3. SNMPv2-CONF | Not Required | | | Download | | | View Dependencies | |
4. SNMPv2-MIB | Download | | | Download | | | View Dependencies | |
5. CISCO-SMI | Download | | | Download | | | View Dependencies | |
6. IANAifType-MIB | Download | | | Download | | | View Dependencies | |
7. IF-MIB | Download | | | Download | | | View Dependencies | |
8. CISCO-TC | Download | | | Download | | | View Dependencies | |
9. INET-ADDRESS-MIB | Download | | | Download | | | View Dependencies | |
10. SNMP-FRAMEWORK-MIB | Download | | | Download | | | View Dependencies | |
11. RFC1155-SMI | Non-Cisco MIB | | | Non-Cisco MIB | | | — | |
12. RFC-1212 | Non-Cisco MIB | | | Non-Cisco MIB | | | — | |
13. RFC-1215 | Non-Cisco MIB | | | Non-Cisco MIB | | | — | |
14. SNMPv2-TC-v1 | Non-Cisco MIB | | | Non-Cisco MIB | | | — | |
15. RMON-MIB | Download | | | Download | | | View Dependencies | |
16. CISCO-VTP-MIB | Download | | | Download | | |
Загружаем файлы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
wget ftp://ftp.cisco.com/pub/mibs/v2/SNMPv2-SMI.my wget ftp://ftp.cisco.com/pub/mibs/v2/SNMPv2-TC.my wget ftp://ftp.cisco.com/pub/mibs/v2/SNMPv2-CONF.my wget ftp://ftp.cisco.com/pub/mibs/v2/SNMPv2-MIB.my wget ftp://ftp.cisco.com/pub/mibs/v2/CISCO-SMI.my wget ftp://ftp.cisco.com/pub/mibs/v2/IANAifType-MIB.my wget ftp://ftp.cisco.com/pub/mibs/v2/IF-MIB.my wget ftp://ftp.cisco.com/pub/mibs/v2/CISCO-TC.my wget ftp://ftp.cisco.com/pub/mibs/v2/INET-ADDRESS-MIB.my wget ftp://ftp.cisco.com/pub/mibs/v2/SNMP-FRAMEWORK-MIB.my wget ftp://ftp.cisco.com/pub/mibs/v2/RMON-MIB.my wget ftp://ftp.cisco.com/pub/mibs/v2/CISCO-VTP-MIB.my |
Далее необходимо подключить данные файлы в конфигурационный файл — /etc/snmp/cisco.conf, в том же порядке, каком скачивали, следующим способом
1 2 3 4 5 |
snmpttconvertmib --in=/root/.snmp/SNMPv2-SMI.my --out=/etc/snmp/cisco.conf --debug snmpttconvertmib --in=/root/.snmp/SSNMPv2-TC.my --out=/etc/snmp/cisco.conf --debug snmpttconvertmib --in=/root/.snmp/SNMPv2-CONF.my --out=/etc/snmp/cisco.conf --debug |
Таким образом мы внесли изменения в файл /etc/snmp/cisco.conf , в нём появились секции с описанием цифровых OID SNMP трапов. Отредактируйте этот файл, вставте ZBXTRAP $aA после слова FORMAT (сейчас вам надо вставить ZBXTRAP $aA всего в трёх строчках) например была строка
1 2 3 |
FORMAT Notification of a configuration management event as $* |
Стало
1 2 3 |
FORMAT ZBXTRAP $aA Notification of a configuration management event as $* |
Все прикрепленые MIB фалы прописаны в /etc/snmp/cisco.conf. Можно скачать его или добавлять вручную
Весть каталог /etc/snmp/
MIB файлы одним архивом для Cisco
По отдельности
MIB файлы одним архивом для HP
По отдельности
rfc3636 rfc3413a rfc3019 rfc2863 rfc2579 rfc2578 rfc2108 rfc2096-07 rfc2021 rfc2012 rfc2011D10 rfc1850b ianaAFN hpNetSwitch hpicfVgRptr hpicfTC hpicfIpRoute hpicfIpLockdown hpicfIpAddress hpicfGppc hpicfFf hpicfChain hpicfAutz hpAcmxlSystem rfc2674_q rfc2674_p rfc2665 rfc2620 rfc2618 rfc2613 rfc2576 rfc2266 rfc2020 rfc2013 rfc1850 rfc1749 rfc1742 rfc1724 rfc1513 rfc1512 rfc1493 rfc1213 ipx ieee80211 ieee8023lag ieee8021pae ieee802af ianaiprouteprotocol ianaiftype hpVlan hpSwitchStat hpSwitchStack hpSwitchDrivers hpSwitchDma hpSwitchDistributedTrunk hpSwitchConfig hpicfXrrp hpicfVrrp hpicfvg hpicfUsrProf hpicfUsrAuth hpicfUSBPort hpicfUdpForward hpicfUdld hpicfSyslog hpicfStack hpicfSntp hpicfSnmp hpicfSecurity hpicfSavepower hpicfRip hpicfRateLimit hpicfProviderBridge hpicfPoe hpicfPim hpicfOspf hpicfOobm hpicfOid hpicfMld hpicfLinktest hpicfL3MacConfig hpicfJumbo hpicfInstMon hpicfHighAvailability hpicfGenRptr hpicfFtrCo hpicfEtwist hpicfDownload hpicfDot1x hpicfDosFilter hpicfDhcpv6Relay hpicfDhcpSnoop hpicfDcPower hpicfDcFan hpicfConnectionRateFilter hpicfChassis hpicfBridge hpicfBasic hpicfAutorun hpicfAuth hpicfArpProtect hpicf8023Rptr hpHttpMg hpentmib hpAcmxlMemProc hpAcmxlIfExt hpAcmxlBase rfc4022 rfc3636 rfc3413a rfc3019 rfc2863 rfc2579 rfc2578 rfc2108 rfc2096-07 rfc2021 rfc2012 rfc2011D10 rfc1850b ianaAFN hpNetSwitch hpicfVgRptr hpicfTC hpicfIpRoute hpicfIpLockdown hpicfIpAddress hpicfGppc hpicfFf hpicfChain hpicfAutz hpAcmxlSystem
MIB файл контроллера WLC
Cisco WLC MIB можно загрузить на странице Wireless Downloads (только для зарегистрированных заказчиков).
Чтобы загрузить MIB WLC, выполните следующие действия:
- На странице Wireless Downloads нажмите Wireless LAN Controller и выберите платформу котроллера, MIB для которой вам требуются.
- Появится страница Software Download для контроллеров. На странице представлены все файлы для WLC, включая MIB.
- Загрузите стандартные MIB и MIB, характерные для Cisco. Должны быть загружены и содержать MIB следующие два файла. Имена файлов похожи на данные в примере:
1234Standard-MIBS-Cisco-WLC4400-2000-XXXXXX.zipCisco-WLC-MIBS-XXXX.zip
Настройка Zabbix на обработку трапов
Необходимо дописать данный материал
Настроим Zabbix на обработку трапов. Для этого включим ее в конфигурационном файле /etc/zabbix/zabbix_server.conf и укажем путь до файлов логов трап сервера
1 2 3 4 5 |
StartTrappers=1 SNMPTrapperFile=/var/log/snmptt/snmptt.log StartSNMPTrapper=1 |
Дополнительная настройка требуется только триггеров, так как в шаблоне Template Net Cisco IOS SNMPv2
По умолчанию данная настройка принимает все трапы и привязывает их к узлу. В шаблоне необходимо скорректировать дату и привести ее к виду — hh:mm:ss yyyy/MM/dd
После этих настроек появляются данные в разделе General — SNMP traps (fallback). Данное условия собирается все трапы. Если необходимо ловить конкретные записис, то в скобках указываем искомое значение.
Создание триггера
Открываем шаблон Template Net Cisco IOS SNMPv2 и создаем новый триггер
Добавим поиск строки, которую необходимо искать в логе. В данном примере указана ошибка авторизации
И сброс аварии по прошествии 600 секунд
Объединив их оператором AND. Должно получиться примерно следующее
Можно воспользоваться шаблоном zbx_export_templates
Настройка Cisco на отдачу трапов
1 2 3 4 |
logging trap debugging logging host 192.168.1.251 |
snmp-server trap-source Vlan1
snmp-server enable traps snmp authentication linkdown linkup coldstart warmstart
snmp-server enable traps vrrp
snmp-server enable traps tty
snmp-server enable traps license
snmp-server enable traps ethernet cfm cc mep-up mep-down cross-connect loop config
snmp-server enable traps ethernet cfm crosscheck mep-missing mep-unknown service-up
snmp-server enable traps flash insertion removal
snmp-server enable traps adslline
snmp-server enable traps adsl2line
snmp-server enable traps vdsl2line
snmp-server enable traps envmon
snmp-server enable traps c3g
snmp-server enable traps isdn call-information
snmp-server enable traps isdn layer2
snmp-server enable traps isdn chan-not-avail
snmp-server enable traps isdn ietf
snmp-server enable traps energywise
snmp-server enable traps cef resource-failure peer-state-change peer-fib-state-change inconsistency
snmp-server enable traps aaa_server
snmp-server enable traps atm subif
snmp-server enable traps memory bufferpeak
snmp-server enable traps config-copy
snmp-server enable traps config
snmp-server enable traps config-ctid
snmp-server enable traps entity
snmp-server enable traps fru-ctrl
snmp-server enable traps resource-policy
snmp-server enable traps event-manager
snmp-server enable traps hsrp
snmp-server enable traps ipmulticast
snmp-server enable traps msdp
snmp-server enable traps mvpn
snmp-server enable traps cpu threshold
snmp-server enable traps ipsla
snmp-server enable traps syslog
snmp-server enable traps l2tun session
snmp-server enable traps l2tun pseudowire status
snmp-server enable traps vtp
snmp-server enable traps pw vc
snmp-server enable traps firewall serverstatus
snmp-server enable traps nhrp nhs
snmp-server enable traps nhrp nhc
snmp-server enable traps nhrp nhp
snmp-server enable traps nhrp quota-exceeded
snmp-server enable traps isakmp policy add
snmp-server enable traps isakmp policy delete
snmp-server enable traps isakmp tunnel start
snmp-server enable traps isakmp tunnel stop
snmp-server enable traps ipsec cryptomap add
snmp-server enable traps ipsec cryptomap delete
snmp-server enable traps ipsec cryptomap attach
snmp-server enable traps ipsec cryptomap detach
snmp-server enable traps ipsec tunnel start
snmp-server enable traps ipsec tunnel stop
snmp-server enable traps ipsec too-many-sas
snmp-server host 192.168.1.251 informs version ВАШ_COMMUNITY
snmp-server host 192.168.1.251 version 2c ВАШ_COMMUNITY
Не хотелось бы показаться бестактным занудой, руководство-то хорошее, лучше многих других во всяком случае. Но всё-таки здесь очень существенная часть настроек пропущена, касающаяся собственно создания метрик и триггеров в Zabbix. А ведь это есть самый настоящий nightmare применительно к конфигурации zabbix+traps.
То, что у Вас в начале статьи сказано: «Обработку трапов будет осуществлять Zabbix и сигнализировать о наступлении события» — при настройках в рамках этой статьи не будет работать совсем.
Спасибо. А я полностью согласен! Причина по которой не оформил часть с созданием триггеров и обработки лога заключается в том, размер БД начал очень сильно расти, после обновления Zabbix и подключения шаблонов Windows. Поэтому обработку не доделал, пока не устранил причину, а после поленился. ИСПРАВЛЮ
При попытки конвертации выдается следующащя ошибка:
The MIB file did not contain any TRAP-TYPE or NOTIFICATION-TYPE definitions,
so no translations occured. Try another MIB file.
Добрый день
Содержимое файла MIB покажите. Судя по описанию ошибки, файл не содержит необходимых данных
С предложенным подходом к созданию триггеров в Zabbix есть две серьёзные проблемы, очевидного универсального решения которых, к сожалению, просто не существует: Поскольку при описанном подходе («nodata» закрывает триггер) не будет очевидного связанного с устройством события, «сбивающего» триггер в OK, то во-первых триггер может запросто продолжать висеть все 600 секунд даже если в уже в следующую секунду пришёл трап о том, что проблема решена, а во-вторых — триггер исчезнет через 600 секунд даже в том случае, если в действительности проблема никуда не делась. И то, и другое — плохо, поэтому объективно работать с fallback’ом можно разве что в тестовом режиме. Правильнее… Подробнее »