HostMonitor — ReadMe
ÜBERSICHT — FREISCHALTUNG — SCREENSHOTS
1. Funktionsumfang
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.
Eine HostMonitor-Instanz kann durch die Checkbox "Monitoring aktiviert" oder die zugehörigen Funktionen temporär
de/aktiviert werden (z.B. für geplante Downtimes/Wartungszwecke). 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).
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 das entsprechende Objekt 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 ein 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 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_StatusBOOL"] >> true/false
- $_IPS["HMON_Text"] >> Text als String
- $_IPS["HMON_Zeit"] >> Sekunden seit letzter Erreichbarkeit
Beispiel-Script:
<?php
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)
} 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)
}
2. Systemanforderungen
- IP-Symcon ab Version 4.3
3. Installation
Über die Kern-Instanz "Module Control" folgende URL hinzufügen:
https://GITLAB-BENUTZERNAME:GITLAB-PASSWORT@gitlab.com/BY-IPS-Module/HostMonitor.git
Die neue Instanz findet ihr dort, wo ihr sie angelegt habt.
4. Befehlsreferenz
HMON_CheckStatus(int $InstanzID);
Prüft den in der Instanz eingetragenen Host auf Ereichbarkeit per PING und berücksichtigt dabei, ob das Monitoring aktiviert ist oder nicht.
Ist der Host offline, wird FALSE zurückgegeben. Ist der Host online, wird TRUE zurückgegeben. Bei einem Fehler (oder wenn das Monitoring deaktiviert ist) wird NULL zurückgegeben.
Diese Funktion wird vom Timer im in der Instanz eingstellten Intervall aufgerufen.
HMON_GetMonitoringStatus(int $InstanzID);
Liest den Monitoring-Status einer HostMonitor-Instanz aus, ob diese aktiviert (true) bzw. deaktiviert (false) ist.
HMON_SetMonitoringStatus(int $InstanzID, bool $status);
Setzt den Monitoring-Status einer Instanz auf aktiviert (true) bzw. deaktiviert (false).
Gibt true zurück, wenn der Monitoring-Status erfolgreich gesetzt wurde, ansonsten false.
HMON_NotificationTEST(int $InstanzID);
Simuliert dass der Host offline ist und löst zum Test eine Offline-Benachrichtigung aus.
HMON_Update(int $InstanzID);
Identisch zur Funktion "CheckStatus" und ist nur aus Gründen der Abwärtskompatibilität noch vorhanden.
Bitte auf die Funktion "CheckStatus" wechseln, falls ihr irgendwo in Skripten die Funktion "Update" verwendet!