Plugin für Icinga bzw. Nagios

Die in IPSymcon gesammelten Daten lassen sich auch prima in Monitoring Frameworks wie Icinga oder Nagios verarbeiten. Obwohl solche Werkzeuge meist im prof. Computerumfeld eingesetztet werden, kann man sie auf Grund ihrer leichten Erweiterbarkeit auch für das Monitoring privater Umgebungen einsetzen. Auch die C’t hat in ihren Ausgaben 4+5/12 Anwendungen für Privatanwender dargestellt.
Deshalb habe ich ein einfaches Plugin (check script) geschrieben, mit dem man die in IPSymcon erfassten Daten auch dafür verwenden kann.
Alle Details hier: Icinga/Nagios Plugin für IPSymcon Daten

Tommi

Die SOAP-basierten Checks wurden durch Checks über die JSON-API abgelöst. Im Download enthalten sind Checks in Perl und PHP auf Basis von Autoloader Klassen. Diese Klassen werden auch zum Schalten von Aktoren vom Monitoring-Server verwendet. Voraussetzung ist IPS V3.0 mit aktivierter JSON-API.

Details siehe http://www.tdressler.net/ipsymcon/icinga_ips.html

Tommi

Hi tommi,

wollte mich nur einmal für die Coole Icinga Integration bedanken. Werd jetzt mal die Ärmel hochkrempeln und mich mal daran versuchen.
Ziel ist es die RSSI Werte meiner Homematic Sensoren und deren Batterien zu Monitoren :slight_smile:

Okay … viele Schmerzen :slight_smile:

Ich bin nun drauf gekommen das das php Script garnicht benötigt wird … is des soweit richtig ?
Was mir noch nicht ganz einleuchtet ist der wert bei -a ( Fehler but to old ? ) was macht der genau ?

Hi,

Ich bin nun drauf gekommen das das php Script garnicht benötigt wird … is des soweit richtig ?

PHP und Perl haben die gleiche Funktion, man braucht natürlich nur eines davon, je nach persönlichen Geschmack.

Was mir noch nicht ganz einleuchtet ist der wert bei -a ( Fehler but to old ? ) was macht der genau ?

-a (age) ist ein check, in welcher Zeit die Variable aktualisiert sein muss. Ist der Update-Timestamp kleiner wie die aktuelle Zeit - age, wird der Status auf „Warning“ gesetzt. Damit kann man das Problem tauber Sensoren lösen. Ich benutze das z.B. für meine Wettersensoren, denen gelegentlich der Saft ausgeht oder der XS1 hängenbleibt und dann keine Daten mehr sammelt.

BTW:Ich habe eine neue Version der JSON-API Module und der Icinga-Scripte hochgeladen.

Tommi

Auf meiner Webseite finden sich aktualisierte Versionen der JSON-API Plugins, die nun an die geänderten API-Klassen angepasst worden sind. Zusätzlich kann man nun auch Critical und Warning Schwellwerte übergeben. Dafür musste den Aufrufparameter etwas geändert werden. statt -c ist nun -f der Switch für das Konfigurationsfile.

Usage:./check_ips_json.pl  [-h]| -i <VariableID> [-c <critical level>(absolute)] [-w <warning level>(absolute)] [-f <config_file>] | [-H <IPSHOST> -P <IPSAPIPORT> [-a <maxage> in sec ] [-u <apiuser>] [-p <apipassword>] [-h]

Tommi

Tolle Sache, danke vielmals. Ich habe mein Nagios schon soweit, dass es die Temperaturen registriert, ähnlich wie Deine Terrassenfühler. Allerdings nur in den Performance-Daten, nicht aber im Status. Woran könnte das liegen? Siehe screenshot:

Das hängt mit der Ausgabe Deines Plugins zusammen. Alles was vor dem Pipe ist ist der Output, alles dannach die Performancedaten


./check_ips_json.pl -i 28865
OK - Errors:0, Age=15s |Errors=0;;;;

icinga_service_output.jpg

Tommi

ahhh, danke. Das mit dem Pipe hatte ich nicht gewusst.
Dennoch: die Befehlszeile

 /etc/ips_json/check_ips_json.php -i 53428

ergibt

OK - OutsideTemp:2.5 ▒C, Age=44s |OutsideTemp=2.5;;;;

aber der Statusfenster im Nagios sagt lediglich OK (ohne Tempteratur). Any ideas? Offenbar mache ich etwas Dummes - aber was???

Hm, evtl versteht er das Grad Zeichen nicht? Welche Nagios Version ist das?

Tommi