Apr
15
2010
Nur ganz kurz: Wenn es um zeitkritische Dienste geht, wie z.B. bei der vor kurzem beschriebenen LDAP StandbyMaster / Multi-Master Geschichte, dann lohnt es sich auch den NTP-Offset Wert mit Nagios zu ueberwachen… z.B. mit:
./check_ntp_time -H 123.123.123.123 -w 0,005 -c 0,01
no comments | tags: arbeit, Computer, LDAP, Monitoring, Nagios, ntp, time | posted in Computer, arbeit
Apr
13
2010
Aus aktuellem Anlass, weil ich gerade einen Check hinzugefuegt habe der den Batteriestatus ueberwacht und ggfs. darueber informiert wenn ausgewechselt werden muss.
Generell: Monitoring einer APC SmartUPS 3000 mit einer NetworkManagement Card via SNMP ist einfach. Ich habe diesen Weg gewaehlt (backup) und alles funktioniert einwandfrei.
Um zu ueberwachen ob eine Batterie ausgetauscht werden muss, habe ich das Plugin check_powerchute (backup) installiert. Einfach in /usr/lib/nagios/plugins/ kopieren, in der /etc/nagios3/commands.cfg einen entsprechenden Check hinzufuegen
# USV Batterie replacement
define command{
command_name check_apc_batterie
command_line $USER1$/check_powerchute $HOSTADDRESS$
}
und dann noch in der /etc/nagios3/conf.d/services.cfg den check definieren und fertig:
## USV Batterie replacement
define service{
host usv-smartups3000rm
service_description USV BATTERIE
check_command check_apc_batterie
use generic-service
notification_interval 0 ; set > 0 if you want to be renotifie
}
Bei dem Plugin check_powerchute ist zu beachten, dass es sehr simpel programmiert ist, und evtl. die SNMP-Community sowie die Protokollversion den Gegebenheiten vor Ort von Hand in der Datei selber angepasst werden muss.
no comments | tags: apc, Computer, linux, Monitoring, Nagios, usv, zeugs | posted in Computer, linux, zeugs
Nov
23
2009
Bei meiner VM auf der dieser Blog laeuft ist in den letzten Tage oefter mal MySQL abgestuerzt. Das ist ziemlich aergerlich da dann der Blog und einige andere Dinge auch nicht mehr funktionieren. Da ich nur eingeschraenkt vor dem Rechner sitze und es ueber mein Handy sehr umstaendlich ist mittels MidpSSH sich einzuloggen und den Dienst neuzustarten, hab ich mich kurz mit den EventHandlern bei Nagios auseinandergesetzt und im folgenden eine kurze Anleitung was ich gemacht habe:
Lesen: das und das und viele andere Dinge bis ich schliesslich bei dem Artikel “Event Handlers heute mal dynamisch” (PDF) von RomanK im Nagios-Portal Forum gelandet bin.
Alle im folgenden hier genannten Skripte sind nicht mein Werk, sondern stammen aus besagtem Artikel und wurden von mir auf die Debian-Verhaeltnisse meines Servers und auf meine Problematik angepasst.
Definition des Befehls in der /etc/nagios3/commands.cfg:
define command{
command_name do_event
command_line /usr/lib/nagios/libexec/event/run_command $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ $HOSTADDRESS$ $ARG1$
}
Das Skript run_command in dem Ordner /usr/lib/nagios/libexec/event/ ablegen:
#!/bin/bash
case "$1" in
OK)
;;
WARNING)
;;
UNKNOWN)
;;
CRITICAL)
case "$2" in
SOFT)
case "$3" in
3)
echo -n "Restarting Service (3rd soft critical state)..."
/usr/lib/nagios/plugins/check_nrpe -H "$4" -c "$5"
;;
esac
;;
HARD)
echo -n "Restarting Service..."
/usr/lib/nagios/plugins/check_nrpe -H "$4" -c "$5"
;;
esac
;;
esac
exit 0
Auf dieser VM habe ich dann zwei neue NRPE-Checks in der /etc/nagios/nrpe_local.cfg eingerichtet, einen zum ueberpruefen ob MySQL laeuft, und einen der als Event Handler ausgefuehrt wird:
command[check_mysql]=sudo /usr/lib/nagios/plugins/check_mysql
command[restart_mysqld]=sudo /etc/init.d/mysql restart
und die dafuer erforderlichen Eintraege in der /etc/sudoers:
nagios pregos = NOPASSWD: /usr/lib/nagios/plugins/check_mysql
nagios pregos = NOPASSWD: /etc/init.d/mysql
Nun auf dem Nagios-Server den Servicecheck mit entsprechendem Event Handler definieren:
define service{
use jan-service
host_name pregos.info
service_description MySQL
max_check_attempts 4
event_handler do_event!restart_mysqld
check_command check_nrpe_1arg!check_mysql
}
}
Nun kann man noch ueberpruefen ob das ganze funktioniert, indem man einfach den MySQL-Dienst beendet und per Webinterface einige male hintereinander den Servicecheck manuell anstoesst.
Wenn man an der max_check_attempts in der config was aendern will, muessen natuerlich auch evtl. Aenderungen in der run_command bei der case-Anweisung gemacht werden.
4 comments | tags: Blog, Computer, event handler, linux, Monitoring, mysql, Nagios, nrpe, zeugs | posted in Blog, Computer, linux, zeugs
Jul
11
2009
Das meiste steht bereits in der Ueberschrift. Ich wollte mit Nagios einige Festplatten im RAID 5 im Auge behalten. Den RAID-Controler selber ueberwache ich bereits mit dem Plugin check_3ware, das mal von Matthias veraendert wurde, aber nen Diff kann ich leider nicht bieten. Funktioniert jedoch wunderbar!
Um an die S.M.A.R.T-Werte der Festplatten zu kommen kann man nicht einfach ein smartctl -a /dev/hdaX machen, da sie ueber den RAID-Controler angesteuert werden und nicht als eigenes Device existieren. Der Befehl dafuer lautet jeh nach RAID-Controler entweder smartctl -a -d 3ware,0 /dev/twa0, oder evtl. auch /dev/twe0. Die Plugins die z.B. bei MonitoringExchange existieren koennen aber alle nicht mit einem zusaetzlichen Deviceparamter umgehen, oder akzeptieren nur “ata” bzw. “scsi” als Devicetyp fuer smartctl. Ueber diesen Blogeintrag bei ostlogd und das erste Kommentar dort mit dem Diff fuer das check_smart-Plugin waren dann alle Probleme geloest. Works like a charm
no comments | tags: 3ware, arbeit, Computer, controler, fest, festplatten, linux, Monitoring, Nagios, raid, smart | posted in Computer, arbeit, linux