Web Hosting Talk







View Full Version : Server load monitoring software - What do you recommend?


Junkfriend
07-08-2009, 04:50 AM
Hi,

I can some one recommend few light weight free software to monitor server load.

I'm looking for something like the following but for dedicated servers.

http://www.silversoft.com/products.php?item=11

Thanks in advance!

SupportPRO_ BD
07-08-2009, 05:09 AM
Try Nagios or Hugebrother

<<signatures to eb set up in your profile>>

HostcrateCEO
07-08-2009, 05:20 AM
why not Status2k? it works for a single server or more than one server as well.

Junkfriend
07-08-2009, 08:58 AM
I'm actually looking for a simple application to monitor a single server load in graph view and it should not be a desktop application.

Nagios is good but I guess it would be too complicated for a single server.

any other recommendations?

Gary4gar
07-08-2009, 09:03 AM
Try Nagios - truly awesome

lamnk
07-08-2009, 09:10 AM
I'm looking for something like the following but for dedicated servers.

http://www.silversoft.com/products.php?item=11
They say it works for dedicated servers also

Have a look at monit or munin

inspiron
07-08-2009, 10:46 AM
We use nagios and its works great for us.

Junkfriend
07-08-2009, 11:07 AM
We use nagios and its works great for us.How does nagios work? Do you guys install nagios on a separate dedicated server? then use it to monitor the other servers? How's its resource usage?

Deem3nŽ
07-10-2009, 06:56 AM
Munin, Cacti, phpSysInfo
<< removed >>

hsn09
07-10-2009, 10:59 AM
why not Status2k? it works for a single server or more than one server as well.

Status2K is not showing detailed status. It shows general status of server with information. However it is best for starting.

<< response to removed portion of post >>

Crashus
07-12-2009, 01:41 PM
Hello,

Use nagios - is is very light-weight and very very configurable.

Take a look at NRPE plugins - they allows you to monitor almost all aspects of your server.

There are bunch of manuals how to setup nagios, however feel free to ask me if you will face any issues.

Good luck!

assistanz247
07-14-2009, 01:51 PM
Nagios are best with great plugins on the market.

blessen
07-14-2009, 05:16 PM
Nagios is a great product and I recommend it for server monitoring purpose.

gplhost
07-18-2009, 12:18 AM
Hi,

Nagios will NOT graph the server load. Munin will. If neither Nagios and Munin are fit for the job, then you can try to do it by yourself. Here's how.

The rrd file creation:

rrdtool create /path/to/cpu.rrd --step 60 \
DS:loadaverage:GAUGE:900:0:U \
RRA:AVERAGE:0.5:1:20160 \
RRA:AVERAGE:0.5:30:2016 \
RRA:AVERAGE:0.5:60:105120 \
RRA:MAX:0.5:1:1440 \
RRA:MAX:0.5:30:2016 \
RRA:MAX:0.5:60:105120

Here's the script to set as a cron job every minute:

#!/bin/sh

cd $DTC_ETC

CPU=`uptime | rev | cut -d : -f1 | rev| cut -d "," -f1 | tr -d " "`
CPU1=`echo ${CPU} | cut -f 1 -d'.'`
CPU2=`echo ${CPU} | cut -f 2 -d'.'`
LOADAVG=`echo ${CPU1}${CPU2}`
#echo $LOADAVG
rrdtool update /path/to/cpu.rrd "N:$LOADAVG"

And here is the php script to graph it:

<?php

$rrd = '/path/to/cpu.rrd';
$xpoints = 800;
$ypoints = 160;
$vert_label = "CPU Load average";

if( isset($_REQUEST["graph"]) ){

switch($_REQUEST["graph"]){
case "hour":
$title = 'Hour graph';
$steps = 3600;
break;
case "day":
$title = 'Day Graph';
$steps = 3600*24;
break;
case "week":
$title = 'Week Graph';
$steps = 3600*24*7;
break;
case "month":
$title = 'Month Graph';
$steps = 3600*24*31;
break;
case "year":
$title = 'Year Graph';
$steps = 3600*24*365;
break;
default:
die("Nothing to do here...");
break;
}
$range = - $steps;
$filename = tempnam("/tmp","dtc_cpugraph");
$cmd = "rrdtool graph $filename --imgformat PNG --width $xpoints --height $ypoints --start $range --end now --vertical-label '$vert_label' --title '$title' --lazy --interlaced ";
$cmd .= "DEF:loadaverage=$rrd:loadaverage:AVERAGE ";
$cmd .= "'LINE1:loadaverage#ff0000:CPU Load average*100:' 'GPRINT:loadaverage:MAX:Maximum\: %0.0lf' 'GPRINT:loadaverage:AVERAGE:Average\: %0.0lf/min\\n' ";
exec($cmd,$output);

$filesize = filesize($filename);

if( ($fp = fopen($filename,"rb")) != NULL ){
header("Content-Type: image/png");
header("Content-Transfer-Encoding: binary");
header("Content-Length: $filesize");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public", false);
header("Expires: 0");
while(!feof($fp) && connection_status() == 0){
print(fread($fp,1024*8));
flush();
}
fclose($fp);
}
unlink($filename);
}else{
echo '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>CPU load average statistics for '.$_SERVER["SERVER_NAME"].'</TITLE>
<style type="text/css">
body{
height:100%;
margin:0;
color: #000000;
}
h1 {
font: 14px Arial, Helvetica, sans-serif;
font-weight: bold;
text-decoration: underline;
color: #000000;
}
</style>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<H1>CPU load average Statistics for '.$_SERVER["SERVER_NAME"].'</H1>
<center>
<IMG BORDER="0" SRC="'.$_SERVER["PHP_SELF"].'?graph=hour" ALT="Hour CPU Load Graph" width="897" height="239"><br>
<IMG BORDER="0" SRC="'.$_SERVER["PHP_SELF"].'?graph=day" ALT="Day CPU Load Graph" width="897" height="239"><br>
<IMG BORDER="0" SRC="'.$_SERVER["PHP_SELF"].'?graph=week" ALT="Week CPU Load Graph" width="897" height="239"><br>
<IMG BORDER="0" SRC="'.$_SERVER["PHP_SELF"].'?graph=month" ALT="Month CPU Load Graph" width="897" height="239"><br>
<IMG BORDER="0" SRC="'.$_SERVER["PHP_SELF"].'?graph=year" ALT="Year CPU Load Graph" width="897" height="239">
</center>
</body>
</html>';
}

?>

These scripts, I wrote them all, and they are part of our control panel. We've been using them for YEARS without an issue, and we got the same thing for CPU, memory and mail queue. It's quite an important thing to have, it helps a lot understanding what's going on in a server.

I hope that helps!

Thomas