HostMonitor — ReadMe

ÜBERSICHT   —   FREISCHALTUNG  —   SCREENSHOTS

 

  1. Funk­tion­sum­fang
  2. Sys­te­man­forderun­gen
  3. Instal­la­tion
  4. Befehlsref­erenz

 

1. Funktionsumfang

Mit diesem Mod­ul kann man ver­schiedene Geräte/Webseiten/… mit Ping überwachen/monitoren. Sollte ein Host nicht mehr erre­ich­bar sein, dann kann man sich entwed­er sofort oder erst ab ein­er bes­timmten Dauer über ver­schiedene Wege benachrichti­gen lassen. Je Host wird eine Mod­ul-Instanz erstellt und die gewün­scht­en Ein­stel­lun­gen kön­nen vorgenom­men wer­den. Man kann sich beliebig viele dieser Mod­ul-Instanzen anle­gen.

Eine Host­Mon­i­tor-Instanz kann durch die Check­box "Mon­i­tor­ing aktiviert" oder die zuge­höri­gen Funk­tio­nen tem­porär
de/aktiviert wer­den (z.B. für geplante Downtimes/Wartungszwecke). Push-Nachricht­en und EMail-Benachrich­ti­gung sind
einge­baut, weitere/eigene Aktio­nen sind durch eigene Skripte ver­wend­bar.

Eine Online-Benachrich­ti­gung kann nur erfol­gen, wenn zuvor eine Offline-Benachrich­ti­gung aus­gelöst wurde!

 

Einrichtung:

Es muss ein Name für den Host einge­tra­gen wer­den (z.B. "Router"), dann eine IP-Adresse/URL/… über die der Host über PING erre­ich­bar
ist (z.B. "192.168.2.1"). Der Prüf-Inter­vall legt fest, in welchem Abstand der Host auf Erre­ich­barkeit geprüft wird.
Je nach­dem, ob eine Benachrich­ti­gung per EMail/Push/Skript gewün­scht ist, muss noch die entsprechende Instanz aus­gewählt und auf aktiv
geset­zt wer­den (Hak­en set­zen). Zusät­zlich kann einge­tra­gen wer­den, wie lange ein Host offline sein darf, bevor eine Benachrich­ti­gung
aus­gelöst wird (0 = sofor­tige Benachrich­ti­gung, wenn Host als Offline erkan­nt wird).

Es muss ein Name für den Host einge­tra­gen wer­den (z.B. "Router"), dann eine IP-Adresse/URL/… über die der Host über PING erre­ich­bar ist (z.B. "192.168.2.1"). Der Prüf-Inter­vall legt fest, in welchem Abstand der Host auf Erre­ich­barkeit geprüft wird.
Je nach­dem, ob eine Benachrich­ti­gung per EMail/Push/Skript gewün­scht ist, muss noch das entsprechende Objekt aus­gewählt und auf aktiv geset­zt wer­den (Hak­en set­zen). Zusät­zlich kann einge­tra­gen wer­den, wie lange ein Host offline sein darf, bevor eine Benachrich­ti­gung aus­gelöst wird (0 = sofor­tige Benachrich­ti­gung, wenn ein Host als offline erkan­nt wird).

Eben­falls kann man ein eigenes Skript fes­tle­gen, welch­es zur Benachrich­ti­gung ver­wen­det wird. Dieses Skript wird bei nicht Erre­ich­barkeit des Host, nach eingestell­ter Zeit oder sofort, aus­ge­führt. Hier kann man dann Benachrich­ti­gun­gen über Sonos, Enig­ma2-Nachricht, SMS, … ein­richt­en.
Für eigene Aktio­nen ste­hen im aus­gewählten Skript die fol­gen­den Vari­ablen zur Ver­fü­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"] >> Sekun­den seit let­zter Erre­ich­barkeit

 

Beispiel-Script:

<?php
if ($_IPS["HMON_Status"] === "offline") {
    IPS_LogMessage("HostMonitor-OFFLINE", $_IPS["HMON_Text"]); // Schreibt den Text ins IPS-Log (zu sehen im Mel­dun­gen-Fen­ster in der IPS-Con­sole)
} elseif ($_IPS["HMON_Status"] === "online") {
    IPS_LogMessage("HostMonitor-ONLINE", $_IPS["HMON_Text"]); // Schreibt den Text ins IPS-Log (zu sehen im Mel­dun­gen-Fen­ster in der IPS-Con­sole)
}

 

2. Systemanforderungen

  • IP-Sym­con ab Ver­sion 4.3

 

3. Installation

Über die Kern-Instanz "Mod­ule Con­trol" fol­gende URL hinzufü­gen:

https://GITLAB-BENUTZERNAME:GITLAB-PASSWORT@gitlab.com/BY-IPS-Module/HostMonitor.git
Die neue Instanz find­et ihr dort, wo ihr sie angelegt habt.

 

4. Befehlsreferenz

HMON_CheckStatus(int $InstanzID);
Prüft den in der Instanz einge­tra­ge­nen Host auf Ere­ich­barkeit per PING und berück­sichtigt dabei, ob das Mon­i­tor­ing aktiviert ist oder nicht.
Ist der Host offline, wird FALSE zurück­gegeben. Ist der Host online, wird TRUE zurück­gegeben. Bei einem Fehler (oder wenn das Mon­i­tor­ing deak­tiviert ist) wird NULL zurück­gegeben.
Diese Funk­tion wird vom Timer im in der Instanz eing­stell­ten Inter­vall aufgerufen.

HMON_GetMonitoringStatus(int $InstanzID);
Liest den Mon­i­tor­ing-Sta­tus ein­er Host­Mon­i­tor-Instanz aus, ob diese aktiviert (true) bzw. deak­tiviert (false) ist.

HMON_SetMonitoringStatus(int $InstanzID, bool $sta­tus);
Set­zt den Mon­i­tor­ing-Sta­tus ein­er Instanz auf aktiviert (true) bzw. deak­tiviert (false).
Gibt true zurück, wenn der Mon­i­tor­ing-Sta­tus erfol­gre­ich geset­zt wurde, anson­sten false.

HMON_NotificationTEST(int $InstanzID);
Simuliert dass der Host offline ist und löst zum Test eine Offline-Benachrich­ti­gung aus.

HMON_Update(int $InstanzID);
Iden­tisch zur Funk­tion "Check­Sta­tus" und ist nur aus Grün­den der Abwärt­skom­pat­i­bil­ität noch vorhan­den.
Bitte auf die Funk­tion "Check­Sta­tus" wech­seln, falls ihr irgend­wo in Skripten die Funk­tion "Update" ver­wen­det!