Überwachung der Server-Parameter

Mit der Server-Parameter Überwachung haben Sie eine sehr flexible und dennoch einfache Möglichkeit interne Server-Daten, wie z.B. CPU-Auslastung, RAID-Status, MySQL-Replikation, Festplatten-Kapazität, oder sonstige Werte Ihrer Wahl zu überwachen. Sobald diese Werte bestimmte Limits überschreiten, werden Sie per E-Mail bzw. SMS informiert.

Wie funktioniert das Ganze?

Die Überwachung der Server-Parameter erfolgt über eine HTTP-Schnittstelle. Als Voraussetzung hierfür muss also der Server über das HTTP-Protokoll erreichbar sein. Während der Überwachung wird in regelmäßigen Zeitabständen per HTTP-Zugriff ein serverseitiges Script (wie z.B. PHP- oder Perl-Script) aufgerufen. Dieses Script führt bestimmte Anweisungen auf dem Server aus, um notwendige Daten (wie z.B. die CPU-Auslastung) zu ermitteln. Diese Daten werden dann an serverstate.de übermittelt und anschließend ausgewertet.

Überwachung einrichten

Beim Erstellen eines Überwachungsauftrags wählen Sie im Feld 'Überwachung' die Option 'Server Parameter (via HTTP)' aus. Geben Sie im Feld 'Adresse' die genaue Script-URL (z.B. http://example.com/my_server_parameter.php) ein. Weiter unten müssen Sie einzelne Server-Parameter definieren. In der Spalte 'Parameter Name' geben Sie eine beliebige Bezeichnung ein, welche aus Kleinbuchstaben (a bis z), Zahlen, oder dem "_"-Zeichen bestehen darf. Zum Beispiel wollen wir die CPU-Auslastung überwachen. Geben Sie also in der Spalte 'Parameter Name' die Bezeichnung 'cpu_usage' ein.
In der rechten Spalte müssen Sie eine bestimmte Bedingung inkl. Wert vorgeben. Der Check gilt als fehlgeschlagen, wenn die Bedingung zutrifft. In unserem Beispiel geben wir den Wert 95 ein, als Bedingung wählen wir 'größer als' aus. Der Check wird also fehlschlagen, wenn die gemessene CPU-Auslastung den Wert 95 übersteigt. Sie können pro Überwachungsauftrag max. fünf solche Server-Parameter definieren. Sollte bei einem dieser Parameter während der Überwachung die Bedingung zutreffen, wird der Check als fehlgeschlagen angesehen.
 
Um einen zweiten Parameter zu definieren klicken Sie einfach auf 'Weiteren Parameter hinzufügen'. Nun wollen wir auch den RAID-Status überwachen. Geben Sie in der Spalte 'Parameter Name' die Bezeichnung 'raid_state' ein. Wählen Sie als Bedingung 'gleich' aus und geben Sie im rechten Feld 'error' ein.
 
Bei der Wert-Vorgabe in der rechten Spalte beachten Sie bitte folgende Regeln: Sie können eine beliebige ganze Zahl zwischen 0 und 999999999 festlegen. Wenn Sie als Bedingung 'gleich' oder 'ungleich' wählen, dann können Sie zusätzlich auch alphanumerische Werte eingeben, welche aus Kleinbuchstaben (a bis z), Zahlen, oder dem "_"-Zeichen bestehen dürfen.
Damit das funktioniert, müssen Sie das Script, dessen URL Sie im Feld 'Adresse' definiert haben,
auf Ihrem Server anlegen. Dieses Script muss die Parameter in folgendem Format ausgeben:
parameter_name_1=parameter_wert_1
parameter_name_2=parameter_wert_2
etc...
In jeder Zeile wird der Parameter-Name, welcher auch im Überwachungsauftrag definiert ist, sowie der
aktuell gemessene Wert ausgegeben. In unserem Beispiel kann der Script z.B. folgende Ausgabe liefern:
cpu_usage=50
raid_state=ok
Der Check mit o.g. Messergebnissen wird in unserem Beispiel als erfolgreich markiert. Sollte aber bei 'cpu_usage' z.B. 96 stehen, oder bei 'raid_state' das Schlüsselwort 'error', dann wird der Check als fehlgeschlagen angesehen. Bitte beachten Sie: Die Ausführung des Scripts unter realen Bedingungen darf nicht länger als 60 Sekunden dauern, ansonsten wird der Check ebenfalls als fehlgeschlagen markiert.
 
Sie können Parameter-Werte von bereits durchgeführten Checks im Login-Bereich jederzeit anschauen. Klicken
Sie hierfür auf 'Überwachungsaufträge' und dann neben dem jeweiligen Überwachungsauftrag auf 'Checklog'.

Fertige PHP-Scripte

Um Ihnen den Programmieraufwand zu ersparen, haben wir einige fertige PHP-Scripte vorbereitet. Alle Scripte sind für Unix basierte Systeme konzipiert und wurden auf einem Ubuntu-Linux getestet.

Überwachung des MySQL-Servers

Es wird versucht eine MySQL-Verbindung mit vorgegebenen Zugangsdaten aufzubauen.

Überwachung der MySQL-Replikation

Bei dieser Überwachung wird im ersten Schritt eine MySQL-Verbindung aufgebaut. Dann wird geprüft, ob die Slave-Threads aktiv sind. Anschließend werden nach 10 Sekunden die Log-Position-Daten verglichen. Dies setzt natürlich voraus, dass alle 10 Sekunden irgendwelche Updates stattfinden.

Überwachung der Durchschnittslast

Mit dem u.g. Script wird die Durchschnittslast der letzten 60 Sekunden ausgegeben. Dieser Wert ist aus dem Unix-Befehl 'uptime' bekannt. Da bei den Server-Parameter nur ganze Zahlen zugelassen sind, wurde dieser Wert um das 100-fache multipliziert. Anstatt z.B. 1,5 wird hier also 150 ausgegeben.