FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: mrbreil am 31 März 2015, 11:06:25

Titel: Fhem als Service Monitor
Beitrag von: mrbreil am 31 März 2015, 11:06:25
FHEM kann per email und pushbullet kommunizieren, es kann die Erreichbarkeit per presence prüfen, es kann mich zu Hause akustisch darauf hinweisen das etwas im argen ist! Deshalb kam mir der Gedanke damit meinen Webserver und email server zu überwachen. Nur leider finde ich keine Möglichkeit mit presence auf einen bestimmten Port zu prüfen. Damit kann 9000, so haben wir unsere neue Mitbewohnerin getauft ;), zwar darauf achten das der Server erreichbar ist, ist aber nicht im Stande zu erkennen ob ein gewisser Dienst läuft.

Habe ich forum etwas übersehen oder in der commandref überlesen? Hat vielleicht jemand ne Idee wie man das umsetzten könnte?

Grüße Christian
Titel: Antw:Fhem als Service Monitor
Beitrag von: Icinger am 31 März 2015, 11:11:49
Webserver könntest zB mit HTTPMOD überwachen......

Regelmäßig eine Seite pollen, wenn die nicht erreichbar ist --> Meldung.

lg, Ici
Titel: Antw:Fhem als Service Monitor
Beitrag von: marvin78 am 31 März 2015, 11:13:20
Oder den Modus function oder shellscript verwenden.
Titel: Antw:Fhem als Service Monitor
Beitrag von: mrbreil am 31 März 2015, 11:14:22
Danke, gute Idee. Diese kam mir auch schonmal. Mit mailcheck könnte ich den email server überwachen. Aber ich denke es muss doch einen allgemeinere Lösung geben.
Titel: Antw:Fhem als Service Monitor
Beitrag von: Zephyr am 31 März 2015, 12:29:38
wenn Du schon soweit bist, dass Du einen Webserver betreibst, bekommst Du bestimmt auch ein "echtes" Monitoringtool wie Munin oder Nagios eingerichtet. Die prüfen noch ein paar Sachen mehr und können ebenfalls über Pushbullet, Pushover etc. informieren.

Viele grüße
Zephyr
Titel: Antw:Fhem als Service Monitor
Beitrag von: mrbreil am 01 April 2015, 12:58:23
Ziel ist es ja aber das fhem weiß, was online ist und was nicht.

Habe mir jetzt etwas in "COPY & Paste" programiert, kann leider kein Perl.
Bei mir scheint es bis jetzt zu funktionieren. Vielleicht hilft es jemand anderen auf die Sprünge, wenn er vor dem selben Problem steht.

Noch ein nötiges Packet installieren
apt-get install libnet-ping-external-perl

In die 99_myUtils.pm muss folgendes rein.
use Net::Ping::External qw(ping);

sub
ServiceMonitor($$)
{
    my ($host, $port)    = @_;
    my $status;
   
    # Create a new ping object
    my $p = Net::Ping->new("syn");
    $p->port_number($port);
    $p->ping($host,10);
   
    # perform the ping
    if ( $p->ack ) {
$status = 1;
    }
    else{
    $status = 0;
    }
   
    # close our ping handle
    $p->close();
    return $status;
   
}


Dann ein PRESENCE Device erstellen.

define Pre_KSL_Email PRESENCE function {ServiceMonitor("IP","PORT")}
Titel: Antw:Fhem als Service Monitor
Beitrag von: mrbreil am 04 Mai 2017, 20:05:53
Jetzt muss ich für meine eigene Lösung eine Frage stellen. Möchte jetzt meine Lösung auf einen Raspberry einsetzten, vorher normaler PC. Erhalte aber immer folgende Fehlermeldung und kann damit auch nach vielen Google Versuchen nix anfangen:

Zitaterror while processing check: unexpected function output (expected 0 or 1): Can't locate object method "new" via package "Net::Ping" at

Hängt das mit der Architektur zusammen?
Wie kann ich das beheben?

Vielen Dank für eure Hilfe
Titel: Antw:Fhem als Service Monitor
Beitrag von: gent am 04 Mai 2017, 20:08:37
Hi,

Net::Ping scheint ein perl Modul zu sein. Eventuell mal mit

sudo cpan install Net::Ping

nachinstallieren.

Viele Grüße
Titel: Antw:Fhem als Service Monitor
Beitrag von: mrbreil am 04 Mai 2017, 20:12:59
Danke, hatte ich vorher schon probiert.
Habe es jetzt nochmal getan

Net::Ping is up to date (2.59).

Aber gleicher Fehler
Titel: Antw:Fhem als Service Monitor
Beitrag von: gent am 04 Mai 2017, 20:22:47
Hi,

aber

sudo apt-get install libnet-ping-external-perl

hast Du auch auf dem RPi ausgeführt?

Habe ich vorher gar nicht gesehen gehabt, aber Du brauchst natürlich nur die Packages entweder über apt-get oder über cpan installieren. Vielleicht überschneidet sich da jetzt auch was.

Ich hatte das auch mal und musste cpanminus (heißt glaube ich so) zuerst installieren, um ein vermeintlich neueres cpan package wieder weg zu bekommen.

Viele Grüße
Titel: Antw:Fhem als Service Monitor
Beitrag von: mrbreil am 04 Mai 2017, 20:26:11
Zitat von: gent am 04 Mai 2017, 20:22:47
Hi,

aber

sudo apt-get install libnet-ping-external-perl

hast Du auch auf dem RPi ausgeführt?

Habe ich vorher gar nicht gesehen gehabt, aber Du brauchst natürlich nur die Packages entweder über apt-get oder über cpan installieren. Vielleicht überschneidet sich da jetzt auch was.

Ich hatte das auch mal und musste cpanminus (heißt glaube ich so) zuerst installieren, um ein vermeintlich neueres cpan package wieder weg zu bekommen.

Viele Grüße

Ja habe ich ausgefüht. Keine Änderung
Titel: Antw:Fhem als Service Monitor
Beitrag von: gent am 04 Mai 2017, 20:52:55
Hi,

schade, ich habe gedacht, ich könnte hier helfen. Da ich die gleiche Umgebung habe, habe ich das auch bei mir mal so umgesetzt und erhalte denselben Fehler.

Sorry und viele Grüße
Titel: Antw:Fhem als Service Monitor
Beitrag von: mrbreil am 04 Mai 2017, 21:01:20
Danke gent,

das ist doch schonmal etwas. Wenn es bei mir auf einer x86 Architektur funktioniert, aber bei uns beiden nicht auf arm, könnte es ja vielleicht daran liegen. Wenn sich jetzt noch einer einklinkt, könnten wir das Problem vielleicht lösen.

Danke
 
Titel: Antw:Fhem als Service Monitor
Beitrag von: kadettilac89 am 05 Mai 2017, 09:12:56
Du machst in deiner Sub "use Net::Ping::External qw(ping);" greifst aber mit "my $p = Net::Ping->new("syn");" auf den Constructor von Net::Ping zu. ..External ist ein Subset und ich denke damit ist nicth alles bekannt.

Teste mal use Net::Ping mit einzubinden. Bin zu wenig Perl-Experte aber der Fehler sieht so aus.
Titel: Antw:Fhem als Service Monitor
Beitrag von: mrbreil am 05 Mai 2017, 10:52:27
Vielen Dank kadettilac89, hat funktioniert.