czwartek, 13 czerwca 2013

Nagios i trapy po SNMP

No to po ciężkich męczarniach z snmpd, snmptt i snmptrapd w końcu udało mi się dojść do porozumienia.  Nie chcę tutaj opisywać jak skonfigurować nagios'a z snmp trapami ale tylko pokazać jakie miałem problemy.



Na początku, gdy wszystko już było skonfigurowane trapy snmp dochodziły do mnie tylko wtedy gdy zrobiłem restart demona SNMPd. Oczywiście, pakiety do serwera dochodziły cały czas co można było zauważyć za pomocą np. tcpdump, ale sam trap otrzymywałem tylko po restarcie SNMPd.

Pomogło w pliku startowym wstawienie parametru odpowiedzialnego za  wyłączenie SNMPd przy starcie, a załączanie samego  SNMPTRAPd.

vim /etc/default/snmpd
SNMPDRUN=no
TRAPDRUN=yes



Ale to jeszcze nie wszystko :) gdy już było pięknie i trapy zaczęły dochodzić w real time nagios nie reagował na wywoływanie komendy z alertem o trapie.



cat snmptt.conf

EVENT CatchAll .1.* "SNMP Traps" Warning
FORMAT $D< EXEC /usr/local/nagios/libexec/eventhandlers/submit_check_result "$r" "snmp_traps" 1 "Ktos wszedl do trybu konfiguracyjnego"


Po dłuższej dłubaninie doszedłem do wniosku, że skrypt submit_check_result odpalany z prawami użytkownika snmptt nie może dopisać nic do pliku /usr/local/nagios/var/rw/nagios.cmd - bo to właśnie robi skrypt submit_check_result. Oczywiście właścicielem pliku submit_check_result był user nagios i tylko on miał uprawnienia do zapisywania do tego pliku. Mały chmod 777 /usr/local/nagios/var/rw/nagios.cmd rozwiązał całą sprawę.

Problem błachy, czasu troszkę zajął ale ważne, że teraz działa ;) Nie wiem czy problemy te spowodowane były tym, że przejąłem ten serwer po innym administratorze i dlatego było coś pomieszane, czy tym że tak jest zawsze ;) Pierwszy raz podchodziłem do tematu trapów.