Ü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.