HostMonitor - Modul zum Überwachen (Ping) von Hosts (IP/URL)

Ho ho ho :smiley:

Mein Weihnachtsgeschenk an die IPS-Community ist fertig >> HostMonitor

Mit diesem Modul kann man verschiedene Geräte/Webseiten/… mit Ping überwachen/monitoren. Sollte ein Host nicht mehr erreichbar sein, dann kann man sich entweder sofort oder erst ab einer bestimmten Dauer über verschiedene Wege benachrichtigen lassen. Je Host wird eine Modul-Instanz erstellt und die gewünschten Einstellungen können vorgenommen werden. Man kann sich beliebig viele dieser Modul-Instanzen anlegen. Push-Nachrichten und EMail-Benachrichtigung sind eingebaut, weitere/eigene Aktionen sind durch eigene Skripte verwendbar.
> Eine Online-Benachrichtigung kann nur erfolgen, wenn zuvor eine Offline-Benachrichtigung ausgelöst wurde!


EINRICHTUNG

Es muss ein Name für den Host eingetragen werden (z.B. „Router“), dann eine IP-Adresse/URL/… über die der Host über PING erreichbar ist (z.B. „192.168.2.1“). Der Prüf-Intervall legt fest, in welchem Abstand der Host auf Erreichbarkeit geprüft wird. Je nachdem, ob eine Benachrichtigung per EMail/Push/Skript gewünscht ist, muss noch die entsprechende Instanz ausgewählt und auf aktiv gesetzt werden (Haken setzen). Zusätzlich kann eingetragen werden, wie lange ein Host offline sein darf, bevor eine Benachrichtigung ausgelöst wird (0 = sofortige Benachrichtigung, wenn Host als Offline erkannt wird).

Ebenfalls kann man ein eigenes Skript festlegen, welches zur Benachrichtigung verwendet wird. Dieses Skript wird bei nicht Erreichbarkeit des Host, nach eingestellter Zeit oder sofort, ausgeführt. Hier kann man dann Benachrichtigungen über Sonos, Enigma2-Nachricht, SMS, … einrichten.
Für eigene Aktionen stehen einem im ausgewählten Skript die folgenden Variablen zur Verfügung:
$_IPS['HMON_Name"] >> Name des Host
$_IPS[„HMON_Adresse“] >> Adresse des Host
$_IPS[„HMON_Status“] >> online/offline
$_IPS[„HMON_Text“] >> Text als String
$_IPS[„HMON_Zeit“] >> Sekunden seit letzter Erreichbarkeit


BEISPIEL-SKRIPT für eigene Aktion

<?
if ($_IPS["HMON_Status"] === "offline")
{
	IPS_LogMessage("HostMonitor-OFFLINE", $_IPS['HMON_Text']); // Schreibt den Text ins IPS-Log (zu sehen im Meldungen-Fenster in der IPS-Console)
	Enigma2BY_SendMsg($Enigma2BYinstanzID, $_IPS['HMON_Text'], 3, 10); // Zeigt 10 Sekunden lang eine Alarm-Nachricht über einen Enigma2-Receiver an
}
elseif ($_IPS["HMON_Status"] === "online")
{
	IPS_LogMessage("HostMonitor-ONLINE", $_IPS['HMON_Text']); // Schreibt den Text ins IPS-Log (zu sehen im Meldungen-Fenster in der IPS-Console)
	Enigma2BY_SendMsg($Enigma2BYinstanzID, $_IPS['HMON_Text'], 1, 10); // Zeigt 10 Sekunden lang eine Info-Nachricht über einen Enigma2-Receiver an
}
?>

Wo finde ich weitere Informationen über das Modul?
> Hier: BayaroX/BY_HostMonitor - GitHub

Wie installiere ich das Modul?
Updates und neue Module gibt es nur noch hier >> https://bayaro.lima-city.de

>>> Zur Visualisierung kann man einfach die Instanz(en) ins WebFront verlinken. Oder selbst etwas anderes bauen :slight_smile:
HostMonitor_WebFront.png

Changelog
[b]Version 1.0:

  • Erster Release[/b]

Grüße,
Chris

Hallo
Gleich mal ausprobiert und folgenden Fehler in der Doku und in dem Script gefunden.
Die Variable „$_IPS[„HMON_Hoststatus“]“ gibt es nicht es muss „$_IPS[„HMON_Status“]“ heissen.

:rolleyes: :smiley: Da hat mein Beta-Tester wieder gepfuscht :wink: :stuck_out_tongue:

Habe auch gleich „HMON_Hostname“ in „HMON_Name“ geändert, damit das alles einheitlich ist!

> HMON_Zeit war auch falsch, da stand der Hostname drin und nicht die Zeit in Sek. seit der letzten Erreichbarkeit. Nicht mein Fehler, das war Copy&Paste :smiley:

> Und noch eine optische Anpassung in der Instanz (da war etwas Text abgeschnitten durch ein Eingabe-Feld)

Danke und Grüße,
Chris

Und schon bei mir drin :slight_smile:

Frohes Fest

Ein witziger Effekt beim Duplizieren eines HostMonitors
Aus dem Standardtext:

Der Host -§HOST- mit Adresse -§ADRESSE- ist seit §ZEITMIN Minuten nicht mehr erreichbar!

wird bei dem Duplikat:

Der Host -§HOST- mit Adresse -§ADRESSE- ist seit §ZEITMIN Minuten nicht mehr erreichbar!

Ist mir auch aufgefallen und habe ich hier schon gemeldet :wink:
Umlaute Problen in ValidationTextBox bei Modulen während duplizieren

Aber Danke! :slight_smile:

Grüße,
Chris

Danke dir und Frohe Weihnachten an alle.

Vielleicht noch eine Idee oder 2:
Statt Name „Host - Status“ -> „192.168.1.123 - Status“
und
automatisch sortieren nach IP -> „123“

Ich kann dir leider grad nicht folgen :confused: Kannst du bitte nochmal genauer erklären was du meinst? :slight_smile:

Oder meinst du den Variablennamen noch um die Host-Adresse ergänzen? Denke das wird zu „unruhig“ im WebFront und mit dem Namen sollte klar sein, welches Gerät/Host gemeint ist?!

Grüße,
Chris

Den Namen der Status-Variablen mit der IP-Adresse ergänzen und danach die Hosta sortieren

Habe mir das Modul jetzt noch nicht angesehen.
Aber normalerweise kannst du Statusvariablen jederzeit so umbenennen und einsortieren wie du es magst.
Michael

Den Namen hat man ja in der Instanz schon drin. Und die IP-Adresse/URL…joa, könnte man noch irgendwo hin stecken, aber an sich sollte man über den Namen ja wissen was gemeint ist. Alternativ kann mich sich auch die Adresse in den Instanznamen stecken und dann hat man auch alle Infos die man will.

Zum Sortieren gibt es eigentlich nichts unterhalb der Instanz. Weil jede Host eine eigene Modul-Instanz hat. Wie man die in sein WebFront einbaut und wie man die sortieren will, dass kann auch jeder selbst entscheiden und hat nichts mit dem Modul zu tun.

Oder verstehe ich irgendwas falsch?!

-Chris-

Und ja, die Variablen kann man ggf. manuell umbenennen, weil diese nur über den Ident angesprochen werden und damit ist dem Modul der Name der Variable egal.

-Chris-

Klasse Chris.:smiley:

Frohes Fest Euch allen

Schönes Modul Danke für das Weihnachtsgeschenk

!!! UPDATE - ACHTUNG !!!

Mit dem aktuellen Update werden die Instanzen von WebFront und SMTP korrekt als INTEGER registriert! Leider geht dabei die Instanz-Konfiguration verloren. Ihr müsst also nach dem Update leider die WebFront-Instanz, SMTP-Instanz oder das Skript neu auswählen!!! :frowning:

Sorry! Aber so wie es jetzt ist, so ist es richtig!

Bei einer Neu-Installation (ab jetzt) passiert das nicht. Nur wer von einer älteren Version updated!

Grüße,
Chris

Das Modul ist auch gekauft.
Ich werde ja noch abhängig. :smiley:

Freut mich zu hören :slight_smile: Wo ist das „rotwerd-Smilie“ :smiley:

Grüße,
Chris

Einen Schoenheitsfehler hab ich noch gefunden.
Bei dem Text wenn Geraet wieder Online ist:
„Der Host -§HOST- mit Adresse -§ADRESSE- war §ZEITMIN Minuten offline und ist jetzt wieder erreichbar!“
ist die §ZEITMIN immer 0. Sollte doch wohl die Zeit anzeigen in der sie OFFLINE war.

Danke für den Fund! Werde ich mir gleich ansehen :slight_smile:

Grüße,
Chris

Uiuiui…da war ein kapitaler Fehler eingebaut mit der Offline-Dauer die in der Online-Benachrichtigung angezeigt wurde :rolleyes:

Aber ist jetzt gefixed und der FIX IST ONLINE :slight_smile:

Grüße,
Chris