FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: HeadCrash am 11 August 2013, 14:06:22

Titel: MAX! Batterie Warnung per Nagios/Icinga
Beitrag von: HeadCrash am 11 August 2013, 14:06:22
Hi,

ich möchte euch kurz meine Variante vorstellen wie bei mir leere Aktor Batterien gemeldet werden.
Ein Problem für mich war, wenn ich es direkt über FHEM machen würde müsste ich mich darum kümmern wann wie oft Nachrichten rausgehen + eMail Setup usw.
Da ich sowieso Nagios/Icinga zur Überwachung diverser Dinge einsätze und dies somit schon Konfiguriert war hier mein Ansatz.

Alles läuft auf EINEM Raspberry Pi, ließe sich aber z.B auch über "nrpe" trennen.

Der FHEM Teil

define notify_nagios_max_battery notify HT_.*:battery.* {
 my $unixtime=time();
 my $nagioshostname='fhem-batteries';
 my $nagiosreturncode=undef;
 if ( "$EVTPART1" eq "ok" ) { $nagiosreturncode=0; };
 if ( "$EVTPART1" eq "low" ) { $nagiosreturncode=1; };
 open (MYFILE, '>>/var/lib/icinga/rw/icinga.cmd');
 print MYFILE "[$unixtime] PROCESS_SERVICE_CHECK_RESULT;$nagioshostname;$NAME;$nagiosreturncode;Battery: $EVTPART1\n";
 close (MYFILE);
 return 0;
}


Der Nagios/Icinga Teil

define host{
        use                     linux-host
        host_name               fhem-batteries
        alias                   Freundliche Hausautomatisierung und Energie-Messung
        parents                 raspi
        address                 127.0.0.1
        notification_options    d,r
        icon_image              fhem.png
        statusmap_image         fhem.png
        vrml_image              fhem.png
        }
.
.
.
define service{
        use                             generic-service
        host_name                       fhem-batteries
        service_description             HT_xxx
        active_checks_enabled           0
        passive_checks_enabled          1
        max_check_attempts              1
        notifications_enabled           0
        check_command                   fhem-battery
        }
.
.
.
#Okay, da kann man noch etwas dran feilen ;)
# 'fhem-battery' command definition
define command{
        command_name        fhem-battery
        command_line        /bin/echo "unkown"
        }


Angedachte Funktionsweise, wann immer den MAX! Geräten danach ist schieben sie dem Nagios/Icinga eine PASSIVE Status Information. Dieser reagiert dann je nach Statuscode mit einer eMail und sendet, jenach Nagios/Icinga Konfiguration, weitere Nachrichten im Abstand von xxx Stunden.
Zusätzlich stehen die ganzen netten Nagios/Icinga Spielereien zur Verfügung (Acknowledge, Disable, usw.).
Durch die passiven Status Infromationen entfällt nebenbei ein Polling seiten Nagios/Icinga, sowie das erstellen eines PlugIns was mit FHEM spricht. Wobei letzteres durchaus zusätzlich zum Einsatz kommen könnte.

Achja, zubeachten sind natürlich ggf. vorhandene Linux Zugriffsrechte auf die Nagios/Icinga Command-Datei!

MfG.
Titel: Antw:MAX! Batterie Warnung per Nagios/Icinga
Beitrag von: MarkusN am 23 Oktober 2013, 19:33:35
Nette Sache, allerdings erschließt sich mir gerade nicht wie ich den passiven Check via NRPE realisieren soll. Bei mir laufen fhem und nagios nämlich auf unterschiedlichen Maschinen.

Deine Max-Geräte fangen als mit HT_ an? Dann müsste das ja sowohl mit Thermostaten als auch mit Fensterkontakten funktionieren.