Server-Status überwachen

Um meinen Server mal ein wenig im Blick zu haben, und auch um ein wenig PHP-Erfahrung zu sammeln, hab ich das Script zur Anzeige des Server-Status eines Bekannten ein wenig erweitert. Dabei herausgekommen ist eine einfache Seite auf der die, zumindest für mich, wichtigsten Daten angezeigt werden wie z.B. die Uptime, eingeloggte Benutzer, RAM-Verbrauch, Partitions-Belegung incl. INodes, Festplatten-APM-Status, ein paar Temperaturen und die Prozessliste.

[FEHLT]
Das Ganze sieht so aus, wobei das Beispiel nur eine statische Ausgabe ist da die Informationen eventuell für Angriffe relevant sein könnten. Das Script dieses Servers ist per .htaccess geschützt.

Den Quelltext des Scriptes, der hier zu finden ist, hab ich versucht halbwegs sauber zu halten. Der PHP-Teil ist ein Objekt und die Ausgabe erfolgt über einen Datenhash, so dass man leicht Änderungen und Erweiterungen vornehmen kann. Allerdings sind viele Dinge vermutlich unnötig umständlich gelöst da ich PHP quasi direkt beim Schreiben lernen musste. Ansonsten muss das Script nur irgendwo im Webserver-Pfad abgelegt und dann einfach im Browser aufgerufen werden. Es gibt aber ein paar Dinge, die eingerichtet werden müssen, damit sie angezeigt werden.

Die Temperaturen werden per lm-sensors gemessen. Hier ist eine Beschreibung dazu, wie man es installiert und einrichtet. Da die Seite oft nicht erreichbar ist, hier eine kurze Zusammenfassung:

sudo apt-get install lm-sensors
Installieren der benötigten Programme
sudo sensors-detect
Richtet die Treiber ein. Hier muss man eigentlich nur alles mit Ja beantworten. Bei mir blieb es an einer Stelle hängen, so dass ich nach dem abbrechen und neu durchgehen diese Stelle dann mit Nein übergangen habe. Ansonsten ist es ziemlich simpel
sensors
Liefert die Messergebnisse.

Die Messwerte sind nicht immer korrekt und müssen teilweise interpretiert werden. Bei mir mit dem VIA C3 ist die System-Temperatur eigentlich die CPU-Temperatur und der als CPU-Temperatur angegebene Wert ist mit dauerhaft über 140°C unbrauchbar. Die North-Bridge-Temperaur scheint allerdings glaubwürdig. Da die Daten, die geliefert werden, sehr unterschiedlich sein können, muss das Statusscript hier mit hoher warscheinlichkeit bei jedem System ein wenig angepasst werden.

Der APM-Status der Festplatten beruht auf dem selbst erstellten APM-Script. Man könnte die Daten auch per hdparm auslesen, was bei mir aber das Aufwachen der Platten bewirkt. Außerdem braucht hdparm root-Rechte, und die werde ich sicher keinem PHP-Script verpassen.

Ansonsten ist noch zu erwähnen, dass die Daten mit den Überschriften der Shellausgabe als Schlüssel verwendet werden. Mein System ist in englischer Sprache und die Schlüssel werden entsprechend so verwendet. Bei anderen Sprachversionen ist auch hier an etlichen Stellen eine Anpassung nötig.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert