Loadavg RSS Sidebar

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>
10 Responses to “Serverlast mit RSS Feed überwachen”
  1. Server-Monitoring via RSS | funnydingo.de says:

    […] 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 […]

  2. links for 2007-08-13 | Patrick Kempf says:

    […] 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) […]

  3. PHP Serverüberwachung Servermonitoring | Server-Monitoring-Blog.de says:

    […] 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. […]

  4. fragezeichen says:

    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?

  5. CPU-Load Monitoring (grafisch) « Data Travelers-Blog says:

    […] 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 […]

  6. Dennis says:

    Hallo,

    kannst du mir sagen, was du für eine Sidebar auf dem Screenshot benutzt und welche Gadgets das sind?

  7. Markus Junginger says:

    Dennis, das sind Standard-Gadgets der Google Sidebar, aber die von z.B. Microsoft hat dieselben.

  8. Oli says:

    Vielen Dank, dass man hier auch die Source zum Skript erhält – damit kann man doch gleich viel mehr anfangen und weiter ausbauen 😉

  9. Martin says:

    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!

Trackbacks
  1. EDV - Ende der Vernunft says:

    Links for 2007-08-07…

    OpenSolaris User Group Meeting – Projekt Indiana wird scheitern. Warum? Es gibt zuviele Leute die das wollen
    20 Things I Learned From Tech Support – Users can smell fear. Once you’ve lost control, all is lost *lol*
    Serverlast mit RSS Feed &#252…