Programming Basics

  Home arrow Programming Basics arrow Page 3 - Server Statistics
PROGRAMMING BASICS

Server Statistics
By: Andrew Walsh
  • Search For More Articles!
  • Disclaimer
  • Author Terms
  • Rating: 3 stars3 stars3 stars3 stars3 stars / 4
    2004-10-01

    Table of Contents:
  • Server Statistics
  • Uptime in Percentage
  • Final Script
  • Conclusion

  •  
     

    SEARCH CODEWALKERS

    TOOLS YOU CAN USE

    advertisement

    Server Statistics - Final Script


    (Page 3 of 4 )

    As I promised here is a more advanced version which displays server name, IP, port, software, gateway, and a few others. You may recognize this from the codewalkers code gallery where I posted it. This has a nice little html template used for displaying the results so it does look alot nicer than previous scripts.

    <?php
    $uptime 
    = @exec('uptime');
    /* Get uptime from uptime command */
    preg_match("/averages?: ([0-9\.]+),[\s]+([0-9\.]+),[\s]+([0-9\.]+)/",$uptime,$avgs);
    /* Break up result */
      
    $uptime explode(' up '$uptime);
      
    $uptime explode(','$uptime[1]);
      
    $uptime $uptime[0].', '.$uptime[1];
    $start=mktime(00011date("Y"), 0);
    $end=mktime(000date("m"), date("j"), date("y"), 0);
    /* Make dates */
    $diff=$end-$start;
    $days=$diff/86400;
    $percentage=($uptime/$days) * 100;
    /* Work out percentages */
    $load=$avgs[1].",".$avgs[2].",".$avgs[3]."";
    /* Grab average uptime into string */
    /* Format page */
    $page='&lt;html&gt;
    &lt;head&gt;
    &lt;title&gt;Server Statistics For '
    .getenv('SERVER_NAME').'&lt;/title&gt;
    &lt;style type="text/css"&gt;
    td{
    border-style: solid;
    border-width: 1px;
    color: #000000;
    }
    table{
    border-style: solid;
    border-width: 1px;
    color: #000000;
    }
    tr{
    border-style: solid;
    border-width: 1px;
    color: #000000;
    }
    &lt;/style&gt;
    &lt;/head&gt;

    &lt;body&gt;

    &lt;table width="100%" cellspacing="0" cellpadding="0" style="border: 1 solid #000000" border="1"&gt;
      &lt;tr&gt;
        &lt;td width="50%" bgcolor="#3973AC" style="border: 1 solid #000000"&gt;&lt;font color="#FFFFFF"&gt;Server
          Details&lt;/font&gt;&lt;/td&gt;
        &lt;td width="50%" bgcolor="#3973AC" style="border: 1 solid #000000"&gt;&lt;font color="#FFFFFF"&gt;Server
          Statistics&lt;/font&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td width="50%" bgcolor="#7CA8D3" style="border: 1 solid #000000"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;td width="50%" bgcolor="#7CA8D3" style="border: 1 solid #000000"&gt;&amp;nbsp;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td width="50%" bgcolor="#7CA8D3" style="border: 1 solid #000000"&gt;&lt;b&gt;Name:&lt;/b&gt;&amp;nbsp;'
    .getenv('SERVER_NAME').'
          &lt;/td&gt;
        &lt;td width="50%" bgcolor="#7CA8D3" style="border: 1 solid #000000"&gt;&lt;b&gt;Uptime&lt;/b&gt;
          (days): '
    .$uptime.'&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td width="50%" bgcolor="#7CA8D3" style="border: 1 solid #000000"&gt;&lt;b&gt;Port:&lt;/b&gt;
          '
    .getenv('SERVER_PORT').'&lt;/td&gt;
        &lt;td width="50%" bgcolor="#7CA8D3" style="border: 1 solid #000000"&gt;&lt;b&gt;Uptime
          &lt;/b&gt;
          (%): '
    .$percentage.'%&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td width="50%" bgcolor="#7CA8D3" style="border: 1 solid #000000"&gt;&lt;b&gt;Software:
          &lt;/b&gt;
          '
    .getenv('SERVER_SOFTWARE').'&lt;/td&gt;
        &lt;td width="50%" bgcolor="#7CA8D3" style="border: 1 solid #000000"&gt;&lt;b&gt;Load:&lt;/b&gt;&amp;nbsp; '
    .$load.'  &lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td width="50%" bgcolor="#7CA8D3" style="border: 1 solid #000000"&gt;&lt;b&gt;Protocol:&lt;/b&gt;&amp;nbsp; '
    .getenv('SERVER_PROTOCOL').'&lt;/td&gt;
        &lt;td width="50%" bgcolor="#7CA8D3" rowspan="3" style="border: 1 solid #000000"&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td width="50%" bgcolor="#7CA8D3" style="border: 1 solid #000000"&gt;&lt;b&gt;Gateway:&lt;/b&gt;&amp;nbsp;'
    .getenv('GATEWAY_INTERFACE').'&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td width="50%" bgcolor="#7CA8D3" style="border: 1 solid #000000"&gt;&amp;nbsp;&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/table&gt;
    &lt;/body&gt;

    &lt;/html&gt;'
    ;
    echo 
    $page;
    /* Print the page to browser
    Done
     */
    ?>

    More Programming Basics Articles
    More By Andrew Walsh

    blog comments powered by Disqus

    PROGRAMMING BASICS ARTICLES

    - Control Flow Constructs
    - More Time Manipulation with PHP
    - Validating and Manipulating Dates with PHP
    - Using the Date Constructor in PHP
    - Calendar Construction with PHP
    - PHP`s Calendar Package
    - Getting Modified Versions and Correct Dates ...
    - Combining Date Functions in PHP
    - Using PHP for Date and Time in Programming
    - More Exception Handling with PHP
    - Exception Handling in PHP
    - Error Logging and Handling Exceptions
    - Configuration Directives for Error and Excep...
    - Error and Exception Handling
    - Python Modules for Games


    © 2003-2012 by Developer Shed. All rights reserved. DS Cluster 9 - Follow our Sitemap