add new mempool graphing

git-svn-id: http://www.observium.org/svn/observer/trunk@507 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
Adam Amstrong
2009-11-10 14:15:32 +00:00
parent d1d5b280e0
commit 890bda49c3
13 changed files with 238 additions and 52 deletions

View File

@@ -0,0 +1,29 @@
<?php
include("common.inc.php");
$rrd_options .= " -u 100 -l 0 -E -b 1024 ";
$iter = "1";
$sql = mysql_query("SELECT * FROM `cmpMemPool` AS C, `devices` AS D where C.`cmp_id` = '".mres($_GET['id'])."' AND C.device_id = D.device_id");
$rrd_options .= " COMMENT:\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Cur\ \ \ \ Max\\\\n";
while($mempool = mysql_fetch_array($sql)) {
if($iter=="1") {$colour="CC0000";} elseif($iter=="2") {$colour="008C00";} elseif($iter=="3") {$colour="4096EE";
} elseif($iter=="4") {$colour="73880A";} elseif($iter=="5") {$colour="D01F3C";} elseif($iter=="6") {$colour="36393D";
} elseif($iter=="7") {$colour="FF0084"; unset($iter); }
$mempool['descr_fixed'] = $mempool['cmpName'];
$mempool['descr_fixed'] = str_pad($mempool['descr_fixed'], 28);
$mempool['descr_fixed'] = substr($mempool['descr_fixed'],0,28);
$oid = $mempool['Index'];
$rrd = $config['rrd_dir'] . "/".$mempool['hostname']."/cmp-$oid.rrd";
$rrd_options .= " DEF:mempool" . $oid . "free=$rrd:free:AVERAGE ";
$rrd_options .= " DEF:mempool" . $oid . "used=$rrd:used:AVERAGE ";
$rrd_options .= " CDEF:mempool" . $oid . "total=mempool" . $oid . "used,mempool" . $oid . "used,mempool" . $oid . "free,+,/,100,* ";
$rrd_options .= " LINE1:mempool" . $oid . "total#" . $colour . ":'" . $mempool['descr_fixed'] . "' ";
$rrd_options .= " GPRINT:mempool" . $oid . "total:LAST:%3.0lf";
$rrd_options .= " GPRINT:mempool" . $oid . "total:MAX:%3.0lf\\\l ";
$iter++;
}
?>

View File

@@ -2,11 +2,9 @@
include("common.inc.php");
$rrd_options .= " -l 0 -E -b 1024 -u 100 -r";
$rrd_options .= " -l 0 -E -b 1024 -u 100 -r";
$count = mysql_result(mysql_query("SELECT COUNT(*) FROM `cempMemPool` WHERE `device_id` = '$device_id'"),0);
if($count > '0') {
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `cempMemPool` WHERE `device_id` = '$device_id'"),0) > '0') {
$iter = "1";
$rrd_options .= " COMMENT:' Currently Used Max\\n'";
$sql = mysql_query("SELECT * FROM `cempMemPool` where `device_id` = '$device_id'");
@@ -37,27 +35,29 @@ if($count > '0') {
$iter++;
}
} else {
$database = $config['rrd_dir'] . "/" . $hostname . "/ios-mem.rrd";
$rrd_options .= " DEF:MEMTOTAL=$database:MEMTOTAL:AVERAGE";
$rrd_options .= " DEF:IOFREE=$database:IOFREE:AVERAGE";
$rrd_options .= " DEF:IOUSED=$database:IOUSED:AVERAGE";
$rrd_options .= " DEF:PROCFREE=$database:PROCFREE:AVERAGE";
$rrd_options .= " DEF:PROCUSED=$database:PROCUSED:AVERAGE";
$rrd_options .= " CDEF:FREE=IOFREE,PROCFREE,+";
$rrd_options .= " CDEF:USED=IOUSED,PROCUSED,+";
$rrd_options .= " COMMENT:Bytes\ \ \ \ Current\ \ Minimum\ \ Maximum\ \ Average\\\\n";
$rrd_options .= " AREA:USED#ff6060:";
$rrd_options .= " LINE2:USED#cc0000:Used";
$rrd_options .= " GPRINT:USED:LAST:%6.2lf%s";
$rrd_options .= " GPRINT:USED:MIN:%6.2lf%s";
$rrd_options .= " GPRINT:USED:MAX:%6.2lf%s";
$rrd_options .= " GPRINT:USED:AVERAGE:%6.2lf%s\\\\l";
$rrd_options .= " AREA:FREE#e5e5e5:Free:STACK";
$rrd_options .= " GPRINT:FREE:LAST:%6.2lf%s";
$rrd_options .= " GPRINT:FREE:MIN:%6.2lf%s";
$rrd_options .= " GPRINT:FREE:MAX:%6.2lf%s";
$rrd_options .= " GPRINT:FREE:AVERAGE:%6.2lf%s\\\\l";
$rrd_options .= " LINE1:MEMTOTAL#000000:";
$iter = "1";
$rrd_options .= " COMMENT:' Currently Used Max\\n'";
$sql = mysql_query("SELECT * FROM `cmpMemPool` where `device_id` = '$device_id'");
while($mempool = mysql_fetch_array($sql)) {
if($iter=="1") {$colour="CC0000";} elseif($iter=="2") {$colour="008C00";} elseif($iter=="3") {$colour="4096EE";
} elseif($iter=="4") {$colour="73880A";} elseif($iter=="5") {$colour="D01F3C";} elseif($iter=="6") {$colour="36393D";
} elseif($iter=="7") {$colour="FF0084"; unset($iter); }
$mempool['descr_fixed'] = $mempool['cmpName'];
$mempool['descr_fixed'] = str_pad($mempool['descr_fixed'], 20);
$mempool['descr_fixed'] = substr($mempool['descr_fixed'],0,20);
$oid = $mempool['Index'];
$rrd = $config['rrd_dir'] . "/$hostname/cmp-$oid.rrd";
$rrd_options .= " DEF:mempool" . $iter . "free=$rrd:free:AVERAGE";
$rrd_options .= " DEF:mempool" . $iter . "used=$rrd:used:AVERAGE";
$rrd_options .= " DEF:mempool" . $iter . "free_m=$rrd:free:MAX";
$rrd_options .= " DEF:mempool" . $iter . "used_m=$rrd:used:MAX";
$rrd_options .= " CDEF:mempool" . $iter . "total=mempool" . $iter . "used,mempool" . $iter . "used,mempool" . $iter . "free,+,/,100,* ";
$rrd_options .= " LINE1:mempool" . $iter . "total#" . $colour . ":'" . $mempool['descr_fixed'] . "' ";
$rrd_options .= " GPRINT:mempool" . $iter . "used:LAST:%6.2lf%s";
$rrd_options .= " GPRINT:mempool" . $iter . "total:LAST:%3.0lf%%";
$rrd_options .= " GPRINT:mempool" . $iter . "total:MAX:%3.0lf%%\\\\n";
$iter++;
}
}
?>

View File

@@ -3,6 +3,7 @@
$temp = mysql_result(mysql_query("select count(*) from temperature WHERE temp_host = '" . $device['device_id'] . "'"), 0);
$storage = mysql_result(mysql_query("select count(*) from storage WHERE host_id = '" . $device['device_id'] . "'"), 0);
$cemp = mysql_result(mysql_query("select count(*) from cempMemPool WHERE device_id = '" . $device['device_id'] . "'"), 0);
$cmp = mysql_result(mysql_query("select count(*) from cmpMemPool WHERE device_id = '" . $device['device_id'] . "'"), 0);
$cpm = mysql_result(mysql_query("select count(*) from cpmCPU WHERE device_id = '" . $device['device_id'] . "'"), 0);
$hrprocessor = mysql_result(mysql_query("select count(*) from hrDevice WHERE device_id = '" . $device['device_id'] . "' AND `hrDeviceType` = 'hrDeviceProcessor'"), 0);
@@ -11,11 +12,12 @@ if($temp) { $datas[] = 'temp'; }
if($storage) { $datas[] = 'storage'; }
if($cemp) { $datas[] = 'cemp'; }
if($cpm) { $datas[] = 'cpm'; }
if($cmp) { $datas[] = 'cmp'; }
if($hrprocessor) { $datas[] = 'hrprocessors'; }
$type_text['temp'] = "Temperatures";
$type_text['cemp'] = "Memory Pools";
$type_text['cmp'] = "Memory Pools";
$type_text['cemp'] = "Memory Enh Pools";
$type_text['cpm'] = "Processor Usage";
$type_text['storage'] = "Disk Usage";
$type_text['hrprocessors'] = "Processor Usage";

View File

@@ -0,0 +1,55 @@
<?php
echo("<div style='margin-top: 5px; padding: 0px;'>");
echo("<table width=100% cellpadding=6 cellspacing=0>");
$i = '1';
$mempools = mysql_query("SELECT * FROM `cmpMemPool` WHERE device_id = '" . $device['device_id'] . "'");
while($mempool = mysql_fetch_array($mempools)) {
if(!is_integer($i/2)) { $row_colour = $list_colour_a; } else { $row_colour = $list_colour_b; }
$perc = round($mempool['cmpUsed'] / ($mempool['cmpUsed'] + $mempool['cmpFree']) * 100,2);
$proc_url = "?page=device/".$device['device_id']."/sensors/mempools/";
$mempool_popup = "onmouseover=\"return overlib('<div class=list-large>".$device['hostname']." - ".$mempool['cmpName'];
$mempool_popup .= "</div><img src=\'graph.php?id=" . $mempool['cmp_id'] . "&type=cmpMemPool&from=$month&to=$now&width=400&height=125\'>";
$mempool_popup .= "', RIGHT".$config['overlib_defaults'].");\" onmouseout=\"return nd();\"";
if($mempool['cpuCPMTotal5minRev'] > '60') { $mempool_colour='#cc0000'; } else { $mempool_colour='#0000cc'; }
echo("<tr bgcolor='$row_colour'><td width=350 class=tablehead><a href='' $mempool_popup>" . $mempool['cmpName'] ."</a></td>
<td><a href='#' $mempool_popup><img src='percentage.php?per=" . $perc . "&width=600'></a></td>
<td style='font-weight: bold; color: $drv_colour'>$perc%</td>
<td style='color: $drv_colour'>" . formatstorage($mempool['cmpFree'], 0) . "/" . formatstorage($mempool['cmpUsed'] + $mempool['cmpFree'], 0) . "</strong></td>
</tr>");
echo("<tr bgcolor='$row_colour'><td colspan=5>");
$daily_graph = "graph.php?id=" . $mempool['cmp_id'] . "&type=cmpMemPool&from=$day&to=$now&width=211&height=100";
$daily_url = "graph.php?id=" . $mempool['cmp_id'] . "&type=cmpMemPool&from=$day&to=$now&width=400&height=150";
$weekly_graph = "graph.php?id=" . $mempool['cmp_id'] . "&type=cmpMemPool&from=$week&to=$now&width=211&height=100";
$weekly_url = "graph.php?id=" . $mempool['cmp_id'] . "&type=cmpMemPool&from=$week&to=$now&width=400&height=150";
$monthly_graph = "graph.php?id=" . $mempool['cmp_id'] . "&type=cmpMemPool&from=$month&to=$now&width=211&height=100";
$monthly_url = "graph.php?id=" . $mempool['cmp_id'] . "&type=cmpMemPool&from=$month&to=$now&width=400&height=150";
$yearly_graph = "graph.php?id=" . $mempool['cmp_id'] . "&type=cmpMemPool&from=$year&to=$now&width=211&height=100";
$yearly_url = "graph.php?id=" . $mempool['cmp_id'] . "&type=cmpMemPool&from=$year&to=$now&width=400&height=150";
echo("<a onmouseover=\"return overlib('<img src=\'$daily_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$daily_graph' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$weekly_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$weekly_graph' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$monthly_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$monthly_graph' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$yearly_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$yearly_graph' border=0></a>");
echo("</td></tr>");
$i++;
}
echo("</table>");
echo("</div>");
?>