Informacje Nagiosa na GG i GSM
01.07.2011 18:04
Nagios jest systemem do monitoringu serwerów, stron www, innego sprzetu który rozumie SNMP.
U siebie w firmie korzystam z gammu i podlaczonego telefonu nokia, wiec nawet gdy padnie net mam informacje o tym, dodatkowo dopisałem dzis fjuczer o powiadomieniu na gg.
Nie będe sie rozpisywał o instalacji nagiosa ani konfiguracji gammu (która jest banalna).
Przedewszystkim musimy dysponowac juz jakims wolnym numerem gg. Instalujemy to co nam trzeba, czyli ekg - klient terminalowy gadulca
apt-get install ekg
tworzymy sobie prosty skrypt, w moim przypadku skrypt nazywa sie gammu.sh i obsluguje obie metody notyfikacji. pamietajmy aby konfiguracja gg (i gammu jezeli uzywamy) byla w katalogu /home/nagios/(.gg)|(.gammu). Numer gsm odbiorcy podawany jest z konfiguracji nagiosa
#!/bin/bash export HOME='/home/nagios' cd /home/nagios numer=$1 tresc=$2 #logowanie echo "${tresc}" >> /usr/local/bin/gammu.log #gg /usr/bin/ekg msg nr_gg_odbiorcy "${tresc}" #gsm echo "${tresc}" |/usr/bin/gammu sendsms text "${numer}" -validity 6HOURS
plik ten mam zapisany /usr/local/bin/gammu.sh
i teraz sama konfiguracja nagiosa, dodajemy odpowiednie wpisy (reszty nie zmieniamy jak nie musimy)
#/etc/nagios/objects/commands.cfg define command{ command_name notify-host-by-sms command_line /usr/local/bin/gammu.sh $CONTACTEMAIL$ "$NOTIFICATIONTYPE$ $HOSTNAME$ $LONGDATETIME$ $HOSTSTATE$ $HOSTADDRESS$ " } define command{ command_name notify-service-by-sms command_line /usr/local/bin/gammu.sh $CONTACTEMAIL$ "$NOTIFICATIONTYPE$ $SERVICEDESC$ $HOSTALIAS$ $LONGDATETIME$: $SERVICEOUTPUT$ " }
...
#/etc/nagios/objects/contacts.cfg define contact{ contact_name nagiosadmin ; Short name of user use generic-contact ; Inherit default values from generic-contact template (defined above) alias Nagios Admin ; Full name of user email adres@email.do.pwiadomiania ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ****** } define contactgroup{ contactgroup_name admins alias Nagios Administrators members nagiosadmin,nasz_admin-gsmsms } define contact{ contact_name nasz_admin-gsmsms ; Short name of user use generic-contact-sms alias alias_usera ; Full name of user email +48XXXXXXXX }
i to wszystko. skrypt gammu.sh wysyla nam sms, info na gg a nagios z kontaktow podaje do skryptu numer telefonu i tresc oraz loguje wszystko do pliku. mozna by tez sie pokusic o smsapi.pl :)
a oto przykladowa tresc informacji
PROBLEM Primary Disk Usage ns1.mojserwer.pl Fri Jul 1 15:18:14 CEST 2011: Connection refused by host RECOVERY Check DNS ns1.mojserwer.pl Fri Jul 1 15:23:01 CEST 2011: DNS OK: 0.034 seconds response time. 127.0.0.1 returns localhost.