вторник, 14 ноября 2017 г.

keepalived и snmp

keepalived+snmp
Поскольку у keepalived нет штатного метода снятия ряда метрик (включая текущий статус), имеет смысл подключить snmp.




#Ставим snmp демон
yum -y install net-snmp net-snmp-utils

#Включаем agentx
echo "master agentx" >> /etc/snmp/snmpd.conf

systemctl enable snmpd
systemctl start snmpd

#активируем snmp у сервиса
sed -i'' -e 's@KEEPALIVED_OPTIONS="-D"@KEEPALIVED_OPTIONS="-D -x"@' /etc/sysconfig/keepalived

#перезапуск
systemctl restart keepalived

#проверить результат можно так, нужна строка NET-SNMP version 5.7.2 AgentX subagent connected
journalctl -u keepalived -xe


Теперь запросим данные
Проверим для начала, что mibs стоят (в 1.3 должно быть так)

ls /usr/share/snmp/mibs/ |grep -i keepa
KEEPALIVED-MIB.txt

Запросим любое значение для теста
snmpwalk -v2c -c public localhost KEEPALIVED-MIB::version
должен быть ответ вида
KEEPALIVED-MIB::version.0 = STRING: Keepalived v1.3.9 (11/09,2017)

Или в численном виде, без установки MIB:
snmpwalk -v2c -cpublic localhost  .1.3.6.1.4.1.9586.100.5

При ошибке
KEEPALIVED-MIB::vrrpInstanceState = No more variables left in this MIB View (It is past the end of the MIB tree)
настраиваем конфиг snmpd.conf, в простейшем случае он такой:
rocommunity public
master agentx

И перезапускаем snmpd. Но такой конфиг допустим только для хорошо изолированных локалок, а в идеале -- надо запустить snmpconf и правильно всё настроить.

Может быть другая ошибка
snmpwalk -v2c -cpublic localhost  .1.3.6.1.4.1.9586.100.5
SNMPv2-SMI::enterprises.9586.100.5 = No Such Object available on this agent at this OID
Ищем другие номера или подключаем MIB. Или пробуем через несколько секунд, у меня такая ошибка была сразу после рестарта snmpd и до перезапуска keepalived (его перезапускать не обязательно, примерно через 15с он сам переподключится)

Можно менять некоторые значения, например перевести ноду в fault

Некоторые полезные значения
KEEPALIVED-MIB::vrrpInstanceTable - секции vrrp_instance
KEEPALIVED-MIB::vrrpSyncGroupState - секции vrrp_sync_group
KEEPALIVED-MIB::vrrpInstanceState - текущий статус: master, backup, fault

По интеграции с zabbix чуть есть тут:
https://mikerambling.wordpress.com/2016/10/14/monitoring-keepalived-with-snmp-on-ubuntu-14-04/

В global_defs можно вписать
   !enable_traps for SNMP
   enable_traps
для snmp traps

Комментариев нет:

Отправить комментарий