Temperaturüberwachung mit Nagios

Das OpenSource Programm Nagios ermöglicht es dem Administrator sein gesamtes Netzwerk recht komfortabel zu überwachen. In Kombination mit der Ethernetbox von MessPC ist es sogar möglich die Temperatur z.B. des Serverraums sowie die Luftfeuchtigkeit etc. zu überwachen.

    

Vorraussetzungen:

Ein laufender Nagios Server (Installations Anleitung >>>hier klicken)

Eine Ethernetbox von MessPC (messpc.de) mit mindestens einem Sensor (Temperatur, Luftfeuchtigkeit, Rauchmelder etc.)

Die Ethernetbox muss konfiguriert und im Netzwerk in dem der Nagios Server läuft erreichbar sein. Dies ist aber recht einfach und in der beiligenden Dokumentation sehr gut beschrieben. Die wichtigste Einstellung hierbei ist die IP-Adresse, Subnetmask, und welche Art Sensor an welchem Port der Ethernetbox hängt. Dies kann man alles bequem über einen Internetbrowser auf der Box machen.

Einbindung in Nagios:

Schitt 1:

Das auslesen der Ethernetbox und deren angeschlossenen Sensoren gehört nicht zum Nagios Standard. Man benötigt also ein extra Skript, welchen die Kommuniaktion zur Ethernetbox aus Nagios heraus ermöglicht.

Ein solches Script gibt es unter

http://linux.swobspace.net/projects/nagios/pcmeasure/check_pcmeasure.tgz

zum download. Dieses auf den Nagiosserver herunterladen und mit

#tar -xzf /<Download-Dir>/check_pcmeasure.tgz

enpacken. Die entpackte Datei "check_pcmeasure.pl" muss nun noch in das Nagiosverzeichnis kopiert werden.

#cp /<Download-Dir>/check_pcmeasure.pl /<Nagios-Install-Dir>/libexec/check_pcmeasure.pl

Schritt 2:

Die Nagioskonfigurationsdatei bekommt einen neuen Command. Bei mir werden die Commands in der /<Nagios-Install-Dir>/etc/commands.cfg definiert. Einfach folgenden Eintrag hinzfügen.

define command { command_name check_temp1 command_line perl $USER $/check_pcmeasureDB.$HOSTADDRESS$ -W $ARG1$ -C $ARG2$ -c $ARG3$ -S com1.1}

Es wird dabei das zuvor heruntergeladene Perlskript aufgerufen.

Folgende Übergabeparameter sind möglich:

check_pcmeasure.pl -H <host> -S <sensor> [-p <port>] [-w <min-warn>] [-c <min-crit>] [-v] [-V] [-W <max-warn>] [-C<max-crit>] [-R <rrd file>]

  

Schritt 3:

In der Nagioskonfiguration muss ein neuer Host angelegt werden. Bei mir werden die Hosts in der /<Nagios-Install-Dir>/etc/hosts.cfg definiert. Einfach folgenden Eintrag hinzufügen.

define host { use generic-host ; Name of host template to use host_name messpc alias check_command check-host-alive max_check_attempts 10 notification_interval 120 notification_period notification_options d,r contact_groups admins}

Schritt 4:

In der Nagioskonfiguration müssen neue Services definiert werden. Bei mir werden die Services in der /<Nagios-Install-Dir>/etc/sercies.cfg definiert. Einfach folgenden Eintrag hinzufügen.

define service { host_name messpc service_description TempServerRaum check_command generic-service ; The \'name\' of this service template max_check_attempts 3 normal_check_interval 1 retry_check_interval 1 contact_groups admins check_period 24x7 notification_interval 180 notification_options w,c,r}

In der Zeile check_command übergebe ich dem command "check_temp1" 3 Parameter.

24 --> Oberer Temperaturwert bei dem Nagios in den "Warning" Zustand schaltet.
28 --> Oberer Temperaturwert bei dem Nagios in den "Critical" Zustand schaltet.
13 --> Unterer Temperaturwert bei dem Nagios in den "Critical" Zustand schaltet.

über die option "-w" in der command Definition könnte auch noch ein Unterer Temperaturwert angegeben werden, bei dem Nagios in den "Warning" Zustand schaltet. Einfach command in der commands.cfg erweitern und beim Service einen weiteren Wert überbeben.

Schritt 5:

Nun noch Nagios mit dem Befehl

#/etc/rc.d/nagios reload

die Konfigurationsdateien neu einlesen lassen.

Fertig :-)

Kommentare
Neuer Kommentar RSS
Perun  - bewegungssensor/rauchmelder   |141.88.235.xxx |2008-12-22 12:10:28
lassen sich auch diese sensoren irgendwie mit dem nagios plugin ueberwachen?
rbeu  - command_line   |213.252.170.xxx |2010-03-17 08:40:16
...command_line perl $USER $/check_pcmeasureDB.$HOSTADDRESS$...
ist falsch.

Richtig ist: ...command_line $USER1$/check_pcmeasure.pl $HOSTADDRESS$...


Kontakte können wie folgt überwacht werden: ./check_pcmeasure.pl -H -S com1.1
-c 1
rbeu  - command_line   |213.252.170.xxx |2010-03-17 08:55:25
ist falsch: ..command_line perl $USER
$/check_pcmeasureDB.$HOSTADDRESS$..
Richtig ist: ..command_line
$USER1$/check_pcmeasure.pl $HOSTADDRESS$..

Kontakt-Überwachung geht
mit:
./check_pcmeasure.pl -H 192.9.208.23 -S com1.1 -c 1
Kommentar schreiben
Name:
Email:
 
Titel:
Please input the anti-spam code that you can read in the image.

3.25 Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."