Serverlast mit RSS Feed überwachen
Geschrieben von: Markus Junginger in Linux, Sonstiges, tags: Download, Feed, Monitoring, PHP, RSS, Server Load
Mit einem kleinen PHP Skript lässt sich ganz einfach die Serverlast überwachen. Beispielsweise kann man damit kontrollieren, ob der Server überfordert ist. Das funktioniert auch für Shared Server, also typische Webhostings. Bedingung ist, dass es sich um ein Linux System handelt und hier entweder PHP >= 5.1.3 installiert ist, oder dass der Zugriff auf /proc/loadavg erlaubt ist.
Der RSS Feed kann bei Bedarf direkt als im Browser angezeigt oder in einen RSS Reader ständig aktualisiert werden um eine ständige Kontrolle zu ermöglichen.
Angezeigt werden aus die aus der Linux Welt bekannten Load Average Werte. Diese drei Zahlen geben die durchschnittliche Last der letzten Minute, 5 Minuten und 15 Minuten an. Vereinfacht gesagt, gibt die Lastzahl an, wie viele Prozesse auf Ressourcen und damit auf ihre Ausführung warten. Für die Server-Performance optimal sind Werte zwischen 0 und 1. Werte über 1 deuten darauf hin das Anfragen mehr oder weniger verzögert bearbeitet werden. Je höher der Wert desto schlechter ist die Performance. Wenn eine Webseite langsam lädt kann man das Problem in der Regel auch anhand der Load Werte belegen. Auch für einfaches Monitoring, ob der Server noch läuft und erreichbar ist, lässt sich das Skript verwenden.
Installation: Datei loadavg.zip (< 1KB) herunterladen und die ausgepackte Datei loadavg.php auf den Server laden.
Siehe auch: RSS Feeds mit PHP
Für Interessierte hier der Source des Skripts:
<?php /* * Server-Load RSS Feed V1.00 * By Markus Junginger, http://jars.de */ header("Content-Type: application/rss+xml"); echo('<?xml version="1.0" encoding="ISO-8859-1"?>'); $MJ_LINK='http://'.$_SERVER['HTTP_HOST'].$_SERVER["PHP_SELF"]; ?> <rss version="2.0"> <channel> <title><?php echo $_SERVER['HTTP_HOST']; ?> Server Load</title> <link><?php echo $MJ_LINK ?></link> <description>Server Load by <a href="jars.de">jars.de</a></description> <pubDate><?php echo date("r"); ?></pubDate> <?php if (function_exists('sys_getloadavg')) { $loadArray = sys_getloadavg(); $load= "Load: ".$loadArray[0]."/".$loadArray[1]."/".$loadArray[2]; } else { $load=@file_get_contents('/proc/loadavg'); } if(!$load) { $load= 'Sorry, no load average available for your server'; $info = 'PHP >= 5.1.3 or access to /proc/loadavg is required.'; } ?> <item> <title><?php echo $load;?></title> <description><![CDATA[<?php echo $info;?>]]></description> <pubDate><?php echo date("r"); ?></pubDate> <link><?php echo $MJ_LINK ?></link> <guid><?php echo $_SERVER['REQUEST_URI']; ?></guid> </item> </channel> </rss>


Einträge (RSS)
[...] jars.de findet mein ein nettes kleines PHP-Script, mit dem man sich den ServerLoad in einem RSS-Feed ausgeben lassen kann. Ich habe das Script gleich [...]
[...] Serverlast mit RSS Feed überwachen @ jars.de – Java und Technologie Mit einem kleinen PHP Skript lässt sich ganz einfach die Serverlast überwachen. Beispielsweise kann man damit kontrollieren, ob der Server überfordert ist. (tags: server monitoring rss feed php) [...]
[...] Markus Junginger bietet in seinem Blog einen kleinen PHP-Script an, der die Serverlast ermittelt und daraus einen RSS-Feed generiert. Voraussetzung ist ein Linux Betriebssystem mit PHP >= 5.1.3 auf dem der Zugriff auf /proc/loadavg erlaubt ist. Alle Details findest du in dem Blogeintrag. [...]
wo liegt der fehler wenn trotz php 5.2.5 auf linux nur “Load //” ausgegeben wird, also augenscheinlich die sys_getloadavg funktion nix zurückgibt?
bekannte probleme?
[...] vorstellen wollte, der kann sich ja mal Mailgraph anschauen. Und als Schmankerl zum Schluss: CPU-Load via RRS-Newsfeed. Dieses Script ist wirklich toll und sowas hab ich mir immer gewünscht. Besonders cool kommt [...]
Hallo,
kannst du mir sagen, was du für eine Sidebar auf dem Screenshot benutzt und welche Gadgets das sind?
Dennis, das sind Standard-Gadgets der Google Sidebar, aber die von z.B. Microsoft hat dieselben.
Vielen Dank, dass man hier auch die Source zum Skript erhält – damit kann man doch gleich viel mehr anfangen und weiter ausbauen
Also bei “klein” und “Script” zusammen in einem Satz komme ich normalerweise aus dem staunen und kopfschütteln nicht mehr heraus. Aber hier ist das Script wirklich mal klein und trotzdem sehr nützlich. Vielen Dank dafür!