add click to zoom to soem graphs, and new per-graphtype auth.inc.php to authenticate graphs and click-to-zoom pages.

git-svn-id: http://www.observium.org/svn/observer/trunk@1473 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
Adam Amstrong
2010-07-25 14:21:05 +00:00
parent 7a586e0e4f
commit 82e30b206b
21 changed files with 268 additions and 317 deletions

View File

@@ -69,8 +69,8 @@ function generatedevicelink($device, $text=0, $start=0, $end=0)
$graphhead = $entry['text'];
$contents .= '<div style="width: 708px">';
$contents .= '<span style="margin-left: 5px; font-size: 12px; font-weight: bold;">'.$graphhead.'</span><br />';
$contents .= '<img src="' . $config['base_url'] . "/graph.php?device=" . $device['device_id'] . "&amp;from=$start&amp;to=$end&amp;width=275&amp;height=100&amp;type=$graph&amp;legend=no" . '" style="margin: 2px;">';
$contents .= '<img src="' . $config['base_url'] . "/graph.php?device=" . $device['device_id'] . "&amp;from=".$config['week']."&amp;to=$end&amp;width=275&amp;height=100&amp;type=$graph&amp;legend=no" . '" style="margin: 2px;">';
$contents .= '<img src="' . $config['base_url'] . "/graph.php?id=" . $device['device_id'] . "&amp;from=$start&amp;to=$end&amp;width=275&amp;height=100&amp;type=$graph&amp;legend=no" . '" style="margin: 2px;">';
$contents .= '<img src="' . $config['base_url'] . "/graph.php?id=" . $device['device_id'] . "&amp;from=".$config['week']."&amp;to=$end&amp;width=275&amp;height=100&amp;type=$graph&amp;legend=no" . '" style="margin: 2px;">';
$contents .= '</div>';
}
$text = htmlentities($text);

View File

@@ -0,0 +1,11 @@
<?
if(is_numeric($id)) {
$device = device_by_id_cache($id);
}
$title = generatedevicelink($device);
?>

View File

@@ -18,16 +18,16 @@ if($_GET['debug']) {
if(!$_SESSION['authenticated']) { echo("not authenticated"); exit; }
}
if($_GET['device']) {
$_GET['id'] = $_GET['device'];
$device_id = $_GET['device'];
} elseif($_GET['if']) {
$_GET['id'] = $_GET['if'];
} elseif($_GET['port']) {
$_GET['id'] = $_GET['port'];
} elseif($_GET['peer']) {
$_GET['id'] = $_GET['peer'];
}
# if($_GET['device']) {
# $_GET['id'] = $_GET['device'];
# $device_id = $_GET['device'];
# } elseif($_GET['if']) {
# $_GET['id'] = $_GET['if'];
# } elseif($_GET['port']) {
# $_GET['id'] = $_GET['port'];
# } elseif($_GET['peer']) {
# $_GET['id'] = $_GET['peer'];
# }
preg_match('/^(?P<type>[A-Za-z0-9]+)_(?P<subtype>.+)/', mres($_GET['type']), $graphtype);

View File

@@ -0,0 +1,12 @@
<?
if(is_numeric($id)) {
$port = get_port_by_id($id);
$device = device_by_id_cache($port['device_id']);
}
$title = generatedevicelink($device);
$title .= " :: Port ".generateiflink($port);
?>

View File

@@ -1,47 +1,15 @@
<?php
$g_i++;
if(!is_integer($g_i/2)) { $row_colour = $list_colour_a; } else { $row_colour = $list_colour_b; }
echo("<div style='background-color: $row_colour;'>");
$graph_array['type'] = $graph_type;
$graph_array['id'] = $device['device_id'];
echo('<div style="padding:4px 0px 0px 8px;" class=graphhead>'.$graph_title.'</div>');
$daily_traffic = "graph.php?device=" . $device['device_id'] . "&type=$graph_type&from=".$config['day']."&to=".$config['now']."&width=215&height=100";
$daily_traffic .= $args;
$daily_url = "graph.php?device=" . $device['device_id'] . "&type=$graph_type&from=".$config['day']."&to=".$config['now']."&width=400&height=150";
$daily_url .= $args;
$weekly_traffic = "graph.php?device=" . $device['device_id'] . "&type=$graph_type&from=".$config['week']."&to=".$config['now']."&width=215&height=100";
$weekly_traffic .= $args;
$weekly_url = "graph.php?device=" . $device['device_id'] . "&type=$graph_type&from=".$config['week']."&to=".$config['now']."&width=400&height=150";
$weekly_url .= $args;
$monthly_traffic = "graph.php?device=" . $device['device_id'] . "&type=$graph_type&from=".$config['month']."&to=".$config['now']."&width=215&height=100";
$monthly_traffic .= $args;
$monthly_url = "graph.php?device=" . $device['device_id'] . "&type=$graph_type&from=".$config['month']."&to=".$config['now']."&width=400&height=150";
$monthly_url .= $args;
$yearly_traffic = "graph.php?device=" . $device['device_id'] . "&type=$graph_type&from=".$config['year']."&to=".$config['now']."&width=215&height=100";
$yearly_traffic .= $args;
$yearly_url = "graph.php?device=" . $device['device_id'] . "&type=$graph_type&from=".$config['year']."&to=".$config['now']."&width=400&height=150";
$yearly_url .= $args;
$graph_args = $device['device_id'] . "/" . $graph_type . "/";
echo("<a href='".$config['base_url']."/graphs/" . $graph_args . "' onmouseover=\"return overlib('<img src=\'$daily_url\'>', LEFT".$config['overlib_defaults'].");\"
onmouseout=\"return nd();\"> <img src='$daily_traffic' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$weekly_url\'>', LEFT".$config['overlib_defaults'].");\" onmouseout=\"return nd();\">
<img src='$weekly_traffic' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$monthly_url\'>', LEFT".$config['overlib_defaults'].");\" onmouseout=\"return nd();\">
<img src='$monthly_traffic' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$yearly_url\'>', LEFT".$config['overlib_defaults'].");\" onmouseout=\"return nd();\">
<img src='$yearly_traffic' border=0></a>");
echo("</div>");
$g_i++;
if(!is_integer($g_i/2)) { $row_colour = $list_colour_a; } else { $row_colour = $list_colour_b; }
echo('<div style="background-color: '.$row_colour.';">');
echo('<div style="padding:4px 0px 0px 8px;" class=graphhead>'.$graph_title.'</div>');
include("includes/print-quadgraphs.inc.php");
echo("</div>");
?>

View File

@@ -2,27 +2,15 @@
global $config;
if(!$graph_type) { $graph_type = $_GET['type']; }
if(!$device) { $device['device_id'] = getifhost($interface['interface_id']); }
#if(!$graph_type) { $graph_type = $_GET['type']; }
#if(!$device) { $device['device_id'] = getifhost($interface['interface_id']); }
$graph_array['height'] = "100";
$graph_array['width'] = "215";
$graph_array['to'] = $now;
$graph_array['port'] = $interface['interface_id'];
$graph_array['id'] = $interface['interface_id'];
$graph_array['type'] = $graph_type;
$periods = array('day', 'week', 'month', 'year');
if($graph_type == "etherlike" && !is_file($config['rrd_dir'] . "/" . $device['hostname'] . "/etherlike-" . $interface['ifIndex'] . ".rrd")) {
} else {
foreach($periods as $period) {
$graph_array['from'] = $$period;
$graph_array_zoom = $graph_array; $graph_array_zoom['height'] = "150"; $graph_array_zoom['width'] = "400";
echo(overlib_link($_SERVER['REQUEST_URI'], generate_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), NULL));
}
}
include("includes/print-quadgraphs.inc.php");
?>

View File

@@ -20,35 +20,13 @@ while($current = mysql_fetch_array($query)) {
echo("<tr bgcolor=$row_colour><td colspan='4'>");
$graph_type = "sensor_current";
$graph_array['id'] = $current['sensor_id'];
$graph_array['type'] = $graph_type;
// start current graphs
include("includes/print-quadgraphs.inc.php");
$daily_current = "graph.php?id=" . $current['sensor_id'] . "&type=$graph_type&from=$day&to=$now&width=211&height=100";
$daily_url = "graph.php?id=" . $current['sensor_id'] . "&type=$graph_type&from=$day&to=$now&width=400&height=150";
$weekly_current = "graph.php?id=" . $current['sensor_id'] . "&type=$graph_type&from=$week&to=$now&width=211&height=100";
$weekly_url = "graph.php?id=" . $current['sensor_id'] . "&type=$graph_type&from=$week&to=$now&width=400&height=150";
$monthly_current = "graph.php?id=" . $current['sensor_id'] . "&type=$graph_type&from=$month&to=$now&width=211&height=100";
$monthly_url = "graph.php?id=" . $current['sensor_id'] . "&type=$graph_type&from=$month&to=$now&width=400&height=150";
$yearly_current = "graph.php?id=" . $current['sensor_id'] . "&type=$graph_type&from=$year&to=$now&width=211&height=100";
$yearly_url = "graph.php?id=" . $current['sensor_id'] . "&type=$graph_type&from=$year&to=$now&width=400&height=150";
echo("<a onmouseover=\"return overlib('<img src=\'$daily_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$daily_current' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$weekly_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$weekly_current' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$monthly_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$monthly_current' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$yearly_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$yearly_current' border=0></a>");
echo("</td></tr>");
$row++;
$i++;
}

View File

@@ -18,14 +18,6 @@ while($drive = mysql_fetch_array($query)) {
if(is_integer($row/2)) { $row_colour = $list_colour_a; } else { $row_colour = $list_colour_b; }
# $total = $drive['storage_size'];
# $used = $drive['storage_used'];
# $free = $drive['storage_free'];
# $perc = round($drive['storage_perc'], 0);
# $used = formatStorage($used);
# $total = formatStorage($total);
# $free = formatStorage($free);
$fs_url = "/device/".$device['device_id']."/health/diskio/";
$fs_popup = "onmouseover=\"return overlib('<div class=list-large>".$device['hostname']." - ".$drive['diskio_descr'];
@@ -46,21 +38,12 @@ while($drive = mysql_fetch_array($query)) {
echo('<tr bgcolor="'.$row_colour.'"><td colspan=5>');
$graph_array['height'] = "100";
$graph_array['width'] = "215";
$graph_array['to'] = $now;
$graph_array['id'] = $drive['diskio_id'];
$graph_array['type'] = $graph_type;
$periods = array('day', 'week', 'month', 'year');
include("includes/print-quadgraphs.inc.php");
foreach($periods as $period) {
$graph_array['from'] = $$period;
$graph_array_zoom = $graph_array; $graph_array_zoom['height'] = "150"; $graph_array_zoom['width'] = "400";
echo(overlib_link($_SERVER['REQUEST_URI'], generate_graph_tag($graph_array), generate_graph_tag($graph_array_zoom), NULL));
}
echo('</tr></td>');
echo("</td></tr>");
}

View File

@@ -21,28 +21,10 @@ while($fan = mysql_fetch_array($query)) {
$graph_type = "sensor_fanspeed";
// start fanspeed graphs
$graph_array['id'] = $fan['sensor_id'];
$graph_array['type'] = $graph_type;
$daily_fan = "graph.php?id=" . $fan['sensor_id'] . "&type=$graph_type&from=$day&to=$now&width=211&height=100";
$daily_url = "graph.php?id=" . $fan['sensor_id'] . "&type=$graph_type&from=$day&to=$now&width=400&height=150";
$weekly_fan = "graph.php?id=" . $fan['sensor_id'] . "&type=$graph_type&from=$week&to=$now&width=211&height=100";
$weekly_url = "graph.php?id=" . $fan['sensor_id'] . "&type=$graph_type&from=$week&to=$now&width=400&height=150";
$monthly_fan = "graph.php?id=" . $fan['sensor_id'] . "&type=$graph_type&from=$month&to=$now&width=211&height=100";
$monthly_url = "graph.php?id=" . $fan['sensor_id'] . "&type=$graph_type&from=$month&to=$now&width=400&height=150";
$yearly_fan = "graph.php?id=" . $fan['sensor_id'] . "&type=$graph_type&from=$year&to=$now&width=211&height=100";
$yearly_url = "graph.php?id=" . $fan['sensor_id'] . "&type=$graph_type&from=$year&to=$now&width=400&height=150";
echo("<a onmouseover=\"return overlib('<img src=\'$daily_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$daily_fan' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$weekly_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$weekly_fan' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$monthly_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$monthly_fan' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$yearly_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$yearly_fan' border=0></a>");
include("includes/print-quadgraphs.inc.php");
echo("</td></tr>");

View File

@@ -21,28 +21,10 @@ while($freq = mysql_fetch_array($query)) {
$graph_type = "sensor_frequency";
// start frequency graphs
$graph_array['id'] = $freq['sensor_id'];
$graph_array['type'] = $graph_type;
$daily_freq = "graph.php?id=" . $freq['freq_id'] . "&type=$graph_type&from=$day&to=$now&width=211&height=100";
$daily_url = "graph.php?id=" . $freq['freq_id'] . "&type=$graph_type&from=$day&to=$now&width=400&height=150";
$weekly_freq = "graph.php?id=" . $freq['freq_id'] . "&type=$graph_type&from=$week&to=$now&width=211&height=100";
$weekly_url = "graph.php?id=" . $freq['freq_id'] . "&type=$graph_type&from=$week&to=$now&width=400&height=150";
$monthly_freq = "graph.php?id=" . $freq['freq_id'] . "&type=$graph_type&from=$month&to=$now&width=211&height=100";
$monthly_url = "graph.php?id=" . $freq['freq_id'] . "&type=$graph_type&from=$month&to=$now&width=400&height=150";
$yearly_freq = "graph.php?id=" . $freq['freq_id'] . "&type=$graph_type&from=$year&to=$now&width=211&height=100";
$yearly_url = "graph.php?id=" . $freq['freq_id'] . "&type=$graph_type&from=$year&to=$now&width=400&height=150";
echo("<a onmouseover=\"return overlib('<img src=\'$daily_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$daily_freq' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$weekly_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$weekly_freq' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$monthly_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$monthly_freq' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$yearly_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$yearly_freq' border=0></a>");
include("includes/print-quadgraphs.inc.php");
echo("</td></tr>");

View File

@@ -21,28 +21,10 @@ while($humidity = mysql_fetch_array($query)) {
$graph_type = "sensor_humidity";
// start humidity graphs
$graph_array['id'] = $humidity['sensor_id'];
$graph_array['type'] = $graph_type;
$daily_humidity = "graph.php?id=" . $humidity['sensor_id'] . "&type=$graph_type&from=$day&to=$now&width=211&height=100";
$daily_url = "graph.php?id=" . $humidity['sensor_id'] . "&type=$graph_type&from=$day&to=$now&width=400&height=150";
$weekly_humidity = "graph.php?id=" . $humidity['sensor_id'] . "&type=$graph_type&from=$week&to=$now&width=211&height=100";
$weekly_url = "graph.php?id=" . $humidity['sensor_id'] . "&type=$graph_type&from=$week&to=$now&width=400&height=150";
$monthly_humidity = "graph.php?id=" . $humidity['sensor_id'] . "&type=$graph_type&from=$month&to=$now&width=211&height=100";
$monthly_url = "graph.php?id=" . $humidity['sensor_id'] . "&type=$graph_type&from=$month&to=$now&width=400&height=150";
$yearly_humidity = "graph.php?id=" . $humidity['sensor_id'] . "&type=$graph_type&from=$year&to=$now&width=211&height=100";
$yearly_url = "graph.php?id=" . $humidity['sensor_id'] . "&type=$graph_type&from=$year&to=$now&width=400&height=150";
echo("<a onmouseover=\"return overlib('<img src=\'$daily_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$daily_humidity' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$weekly_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$weekly_humidity' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$monthly_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$monthly_humidity' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$yearly_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$yearly_humidity' border=0></a>");
include("includes/print-quadgraphs.inc.php");
echo("</td></tr>");

View File

@@ -43,26 +43,13 @@ $graph_type = "mempool_usage";
echo("<tr bgcolor='$row_colour'><td colspan=5>");
$daily_graph = "graph.php?id=" . $mempool['mempool_id'] . "&type=".$graph_type."&from=$day&to=$now&width=211&height=100";
$daily_url = "graph.php?id=" . $mempool['mempool_id'] . "&type=".$graph_type."&from=$day&to=$now&width=400&height=150";
$weekly_graph = "graph.php?id=" . $mempool['mempool_id'] . "&type=".$graph_type."&from=$week&to=$now&width=211&height=100";
$weekly_url = "graph.php?id=" . $mempool['mempool_id'] . "&type=".$graph_type."&from=$week&to=$now&width=400&height=150";
$monthly_graph = "graph.php?id=" . $mempool['mempool_id'] . "&type=".$graph_type."&from=$month&to=$now&width=211&height=100";
$monthly_url = "graph.php?id=" . $mempool['mempool_id'] . "&type=".$graph_type."&from=$month&to=$now&width=400&height=150";
$yearly_graph = "graph.php?id=" . $mempool['mempool_id'] . "&type=".$graph_type."&from=$year&to=$now&width=211&height=100";
$yearly_url = "graph.php?id=" . $mempool['mempool_id'] . "&type=".$graph_type."&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>");
$graph_array['id'] = $mempool['mempool_id'];
$graph_array['type'] = $graph_type;
include("includes/print-quadgraphs.inc.php");
echo("</td></tr>");
$i++;

View File

@@ -2,68 +2,51 @@
$graph_type = "processor_usage";
echo("<div style='margin-top: 5px; padding: 0px;'>");
echo("<table width=100% cellpadding=6 cellspacing=0>");
$i = '1';
$procs = mysql_query("SELECT * FROM `processors` WHERE device_id = '" . $device['device_id'] . "'");
while($proc = mysql_fetch_array($procs)) {
echo("<div style='margin-top: 5px; padding: 0px;'>");
echo("<table width=100% cellpadding=6 cellspacing=0>");
$i = '1';
$procs = mysql_query("SELECT * FROM `processors` WHERE device_id = '" . $device['device_id'] . "'");
while($proc = mysql_fetch_array($procs)) {
$proc_url = $config['base_url']."/device/".$device['device_id']."/health/processors/";
$proc_url = $config['base_url']."/device/".$device['device_id']."/health/processors/";
$mini_url = $config['base_url'] . "/graph.php?id=".$proc['processor_id']."&type=".$graph_type."&from=".$day."&to=".$now."&width=80&height=20&bg=f4f4f4";
$mini_url = $config['base_url'] . "/graph.php?id=".$proc['processor_id']."&type=".$graph_type."&from=".$day."&to=".$now."&width=80&height=20&bg=f4f4f4";
$text_descr = $proc['processor_descr'];
$text_descr = $proc['processor_descr'];
$text_descr = rewrite_entity_descr($text_descr);
$text_descr = rewrite_entity_descr($text_descr);
$proc_popup = "onmouseover=\"return overlib('<div class=list-large>".$device['hostname']." - ".$text_descr;
$proc_popup .= "</div><img src=\'graph.php?id=" . $proc['processor_id'] . "&type=".$graph_type."&from=$month&to=$now&width=400&height=125\'>";
$proc_popup .= "', RIGHT".$config['overlib_defaults'].");\" onmouseout=\"return nd();\"";
$proc_popup = "onmouseover=\"return overlib('<div class=list-large>".$device['hostname']." - ".$text_descr;
$proc_popup .= "</div><img src=\'graph.php?id=" . $proc['processor_id'] . "&type=".$graph_type."&from=$month&to=$now&width=400&height=125\'>";
$proc_popup .= "', RIGHT".$config['overlib_defaults'].");\" onmouseout=\"return nd();\"";
$perc = round($proc['processor_usage']);
$perc = round($proc['processor_usage']);
if($perc > '90') { $left_background='c4323f'; $right_background='C96A73';
} elseif($perc > '75') { $left_background='bf5d5b'; $right_background='d39392';
} elseif($perc > '50') { $left_background='bf875b'; $right_background='d3ae92';
} elseif($perc > '25') { $left_background='5b93bf'; $right_background='92b7d3';
} else { $left_background='9abf5b'; $right_background='bbd392'; }
if($perc > '90') { $left_background='c4323f'; $right_background='C96A73';
} elseif($perc > '75') { $left_background='bf5d5b'; $right_background='d39392';
} elseif($perc > '50') { $left_background='bf875b'; $right_background='d3ae92';
} elseif($perc > '25') { $left_background='5b93bf'; $right_background='92b7d3';
} else { $left_background='9abf5b'; $right_background='bbd392'; }
echo("<tr bgcolor=$row_colour>
<td class=tablehead><a href='".$proc_url."' $proc_popup>" . $text_descr . "</a></td>
<td width=90><a href='".$proc_url."' $proc_popup><img src='$mini_url'></a></td>
<td width=200><a href='".$proc_url."' $proc_popup>
".print_percentage_bar (400, 20, $perc, $perc."%", "ffffff", $left_background, (100 - $perc)."%" , "ffffff", $right_background)."
</a></td>
</tr>");
echo("<tr bgcolor=$row_colour>
<td class=tablehead><a href='".$proc_url."' $proc_popup>" . $text_descr . "</a></td>
<td width=90><a href='".$proc_url."' $proc_popup><img src='$mini_url'></a></td>
<td width=200><a href='".$proc_url."' $proc_popup>
".print_percentage_bar (400, 20, $perc, $perc."%", "ffffff", $left_background, (100 - $perc)."%" , "ffffff", $right_background)."
</a></td>
</tr>");
echo("<tr bgcolor='$row_colour'><td colspan=5>");
$daily_graph = "graph.php?id=" . $proc['processor_id'] . "&type=".$graph_type."&from=$day&to=$now&width=211&height=100";
$daily_url = "graph.php?id=" . $proc['processor_id'] . "&type=".$graph_type."&from=$day&to=$now&width=400&height=150";
$graph_array['id'] = $proc['processor_id'];
$graph_array['type'] = $graph_type;
$weekly_graph = "graph.php?id=" . $proc['processor_id'] . "&type=".$graph_type."&from=$week&to=$now&width=211&height=100";
$weekly_url = "graph.php?id=" . $proc['processor_id'] . "&type=".$graph_type."&from=$week&to=$now&width=400&height=150";
include("includes/print-quadgraphs.inc.php");
$monthly_graph = "graph.php?id=" . $proc['processor_id'] . "&type=".$graph_type."&from=$month&to=$now&width=211&height=100";
$monthly_url = "graph.php?id=" . $proc['processor_id'] . "&type=".$graph_type."&from=$month&to=$now&width=400&height=150";
}
$yearly_graph = "graph.php?id=" . $proc['processor_id'] . "&type=".$graph_type."&from=$year&to=$now&width=211&height=100";
$yearly_url = "graph.php?id=" . $proc['processor_id'] . "&type=".$graph_type."&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>");
echo("</table>");
echo("</div>");
?>

View File

@@ -45,30 +45,12 @@ while($drive = mysql_fetch_array($query)) {
</td><td>" . $free . "</td><td></td></tr>");
// start temperature graphs
$daily_temp = "graph.php?id=" . $drive['storage_id'] . "&type=$graph_type&from=$day&to=$now&width=212&height=100";
$daily_url = "graph.php?id=" . $drive['storage_id'] . "&type=$graph_type&from=$day&to=$now&width=400&height=150";
$weekly_temp = "graph.php?id=" . $drive['storage_id'] . "&type=$graph_type&from=$week&to=$now&width=212&height=100";
$weekly_url = "graph.php?id=" . $drive['storage_id'] . "&type=$graph_type&from=$week&to=$now&width=400&height=150";
$monthly_temp = "graph.php?id=" . $drive['storage_id'] . "&type=$graph_type&from=$month&to=$now&width=212&height=100";
$monthly_url = "graph.php?id=" . $drive['storage_id'] . "&type=$graph_type&from=$month&to=$now&width=400&height=150";
$yearly_temp = "graph.php?id=" . $drive['storage_id'] . "&type=$graph_type&from=$year&to=$now&width=212&height=100";
$yearly_url = "graph.php?id=" . $drive['storage_id'] . "&type=$graph_type&from=$year&to=$now&width=400&height=150";
$graph_array['id'] = $storage['storage_id'];
$graph_array['type'] = $graph_type;
echo("<tr bgcolor='$row_colour'><td colspan=6>");
echo("<a onmouseover=\"return overlib('<div class=list-large>".$device['hostname']." - ".$drive['storage_descr']."</div><img src=\'$daily_url\'>', LEFT, FGCOLOR, '#e5e5e5');\" onmouseout=\"return nd();\">
<img src='$daily_temp' border=0></a> ");
echo("<a onmouseover=\"return overlib('<div class=list-large>".$device['hostname']." - ".$drive['storage_descr']."</div><img src=\'$weekly_url\'>', LEFT, FGCOLOR, '#e5e5e5');\" onmouseout=\"return nd();\">
<img src='$weekly_temp' border=0></a> ");
echo("<a onmouseover=\"return overlib('<div class=list-large>".$device['hostname']." - ".$drive['storage_descr']."</div><img src=\'$monthly_url\'>', LEFT, FGCOLOR, '#e5e5e5');\" onmouseout=\"return nd();\">
<img src='$monthly_temp' border=0></a> ");
echo("<a onmouseover=\"return overlib('<div class=list-large>".$device['hostname']." - ".$drive['storage_descr']."</div><img src=\'$yearly_url\'>', LEFT, FGCOLOR, '#e5e5e5');\" onmouseout=\"return nd();\">
<img src='$yearly_temp' border=0></a>");
include("includes/print-quadgraphs.inc.php");
echo("</td></tr>");

View File

@@ -21,29 +21,10 @@ while($temp = mysql_fetch_array($query)) {
$graph_type = "sensor_temperature";
// start temperature graphs
$daily_temp = "graph.php?id=" . $temp['sensor_id'] . "&type=$graph_type&from=$day&to=$now&width=211&height=100";
$daily_url = "graph.php?id=" . $temp['sensor_id'] . "&type=$graph_type&from=$day&to=$now&width=400&height=150";
$weekly_temp = "graph.php?id=" . $temp['sensor_id'] . "&type=$graph_type&from=$week&to=$now&width=211&height=100";
$weekly_url = "graph.php?id=" . $temp['sensor_id'] . "&type=$graph_type&from=$week&to=$now&width=400&height=150";
$monthly_temp = "graph.php?id=" . $temp['sensor_id'] . "&type=$graph_type&from=$month&to=$now&width=211&height=100";
$monthly_url = "graph.php?id=" . $temp['sensor_id'] . "&type=$graph_type&from=$month&to=$now&width=400&height=150";
$yearly_temp = "graph.php?id=" . $temp['sensor_id'] . "&type=$graph_type&from=$year&to=$now&width=211&height=100";
$yearly_url = "graph.php?id=" . $temp['sensor_id'] . "&type=$graph_type&from=$year&to=$now&width=400&height=150";
echo("<a onmouseover=\"return overlib('<img src=\'$daily_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$daily_temp' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$weekly_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$weekly_temp' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$monthly_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$monthly_temp' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$yearly_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$yearly_temp' border=0></a>");
$graph_array['id'] = $temp['sensor_id'];
$graph_array['type'] = $graph_type;
include("includes/print-quadgraphs.inc.php");
echo("</td></tr>");

View File

@@ -21,28 +21,10 @@ while($volt = mysql_fetch_array($query)) {
$graph_type = "sensor_voltage";
// start voltage graphs
$graph_array['id'] = $volt['sensor_id'];
$graph_array['type'] = $graph_type;
$daily_volt = "graph.php?id=" . $volt['sensor_id'] . "&type=$graph_type&from=$day&to=$now&width=211&height=100";
$daily_url = "graph.php?id=" . $volt['sensor_id'] . "&type=$graph_type&from=$day&to=$now&width=400&height=150";
$weekly_volt = "graph.php?id=" . $volt['sensor_id'] . "&type=$graph_type&from=$week&to=$now&width=211&height=100";
$weekly_url = "graph.php?id=" . $volt['sensor_id'] . "&type=$graph_type&from=$week&to=$now&width=400&height=150";
$monthly_volt = "graph.php?id=" . $volt['sensor_id'] . "&type=$graph_type&from=$month&to=$now&width=211&height=100";
$monthly_url = "graph.php?id=" . $volt['sensor_id'] . "&type=$graph_type&from=$month&to=$now&width=400&height=150";
$yearly_volt = "graph.php?id=" . $volt['sensor_id'] . "&type=$graph_type&from=$year&to=$now&width=211&height=100";
$yearly_url = "graph.php?id=" . $volt['sensor_id'] . "&type=$graph_type&from=$year&to=$now&width=400&height=150";
echo("<a onmouseover=\"return overlib('<img src=\'$daily_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$daily_volt' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$weekly_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$weekly_volt' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$monthly_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$monthly_volt' border=0></a> ");
echo("<a onmouseover=\"return overlib('<img src=\'$yearly_url\'>', LEFT);\" onmouseout=\"return nd();\">
<img src='$yearly_volt' border=0></a>");
include("includes/print-quadgraphs.inc.php");
echo("</td></tr>");

View File

@@ -7,7 +7,7 @@ if($ports['total']) {
$graph_array['height'] = "100";
$graph_array['width'] = "490";
$graph_array['to'] = $now;
$graph_array['device'] = $device['device_id'];
$graph_array['id'] = $device['device_id'];
$graph_array['type'] = "device_bits";
$graph_array['from'] = $day;
$graph_array['legend'] = "no";
@@ -28,7 +28,10 @@ if($ports['total']) {
$content .= generate_graph_tag($graph_array);
$content .= "</div>";
echo(overlib_link($_SERVER['REQUEST_URI'], $graph, $content, NULL));
$link = $config['base_url'] . "/graphs/" . $graph_array['id'] . "/" . $graph_array['type'] . "/" . $graph_array['day'] . "/" . $config['now'] . "/";
echo(overlib_link($link, $graph, $content, NULL));
echo(' <div style="height: 5px;"></div>');

119
html/pages/graphs.inc.php Normal file
View File

@@ -0,0 +1,119 @@
<?php
$id = $_GET['opta'];
$graph_type = $_GET['optb'];
if(is_numeric($_GET['optc'])) { $from = $_GET['optc']; } else { $from = $day; }
if(is_numeric($_GET['optd'])) { $to = $_GET['optd']; } else { $to = $now; }
preg_match('/^(?P<type>[A-Za-z0-9]+)_(?P<subtype>.+)/', mres($graph_type), $graphtype);
$type = $graphtype['type'];
$subtype = $graphtype['subtype'];
if(isset($config['graph'][$type][$subtype])) { $descr = $config['graph'][$type][$subtype]; } else { $descr = $graph_type; }
if(is_file("includes/graphs/".$type."/auth.inc.php"))
{
include("includes/graphs/".$type."/auth.inc.php");
} else {
#### FIXME. UGLY ERROR
echo("Missing auth for this graph type! This is a bug. Please report it.");
exit();
}
if(isset($config['graph'][$type][$subtype])) { $title .= " :: ".$config['graph'][$type][$subtype]; } else { $title .= " :: ".$graph_type; }
$graph_array['height'] = "60";
$graph_array['width'] = "150";
$graph_array['legend'] = "no";
$graph_array['to'] = $now;
$graph_array['id'] = $id;
$graph_array['type'] = $graph_type;
$graph_array['from'] = $day;
$graph_array_zoom = $graph_array; $graph_array_zoom['height'] = "150"; $graph_array_zoom['width'] = "400";
print_optionbar_start();
echo($title);
print_optionbar_end();
echo("<div style='margin: 0px 0px 0px 0px'>");
echo("<div style='width: 1200px; margin:10px;'>");
echo("<div style='width: 150px; margin: 0px 10px 5px 0px; padding:5px; background: #e5e5e5; float: left;'>
<span class=device-head>24 Hour</span><br />
<a href='".$config['base_url']."/graphs/$id/$graph_type/".$graph_array['from']."/$to/'>");
echo(generate_graph_tag($graph_array));
echo(" </a>
</div>");
$graph_array['from'] = $twoday;
echo("<div style='width: 150px; margin: 0px 10px 5px 0px; padding:5px; background: #e5e5e5; float: left;'>
<span class=device-head>48 Hour</span><br />
<a href='".$config['base_url']."/graphs/$id/$graph_type/".$graph_array['from']."/$to/'>");
echo(generate_graph_tag($graph_array));
echo(" </a>
</div>");
$graph_array['from'] = $week;
echo("<div style='width: 150px; margin: 0px 10px 5px 0px; padding:5px; background: #e5e5e5; float: left;'>
<span class=device-head>Week</span><br />
<a href='".$config['base_url']."/graphs/$id/$graph_type/".$graph_array['from']."/$to/'>");
echo(generate_graph_tag($graph_array));
echo(" </a>
</div>");
$graph_array['from'] = $config['twoweek'];
echo("<div style='width: 150px; margin: 0px 10px 5px 0px; padding:5px; background: #e5e5e5; float: left;'>
<span class=device-head>Two Week</span><br />
<a href='".$config['base_url']."/graphs/$id/$graph_type/".$graph_array['from']."/$to/'>");
echo(generate_graph_tag($graph_array));
echo(" </a>
</div>");
$graph_array['from'] = $month;
echo("<div style='width: 150px; margin: 0px 10px 5px 0px; padding:5px; background: #e5e5e5; float: left;'>
<span class=device-head>Month</span><br />
<a href='".$config['base_url']."/graphs/$id/$graph_type/".$graph_array['from']."/$to/'>");
echo(generate_graph_tag($graph_array));
echo(" </a>
</div>");
$graph_array['from'] = $config['twomonth'];
echo("<div style='width: 150px; margin: 0px 10px 5px 0px; padding:5px; background: #e5e5e5; float: left;'>
<span class=device-head>Two Month</span><br />
<a href='".$config['base_url']."/graphs/$id/$graph_type/".$graph_array['from']."/$to/'>");
echo(generate_graph_tag($graph_array));
echo(" </a>
</div>");
$graph_array['from'] = $year;
echo("<div style='width: 150px; margin: 0px 10px 5px 0px; padding:5px; background: #e5e5e5; float: left;'>
<span class=device-head>Year</span><br />
<a href='".$config['base_url']."/graphs/$id/$graph_type/".$graph_array['from']."/$to/'>");
echo(generate_graph_tag($graph_array));
echo(" </a>
</div>");
echo("</div>");
$graph_array['height'] = "300";
$graph_array['width'] = "1075";
$graph_array['from'] = $from;
$graph_array['to'] = $to;
$graph_array['legend'] = "yes";
echo("<div style='width:1150px; margin: auto;'>");
echo(generate_graph_tag($graph_array));
echo("</div>");
echo("</div>");
?>

View File

@@ -17,6 +17,8 @@ if(is_array($storage_array)) {
if ($device['os'] == "routeros" && $descr == "main memory") { $deny = 0; }
if(strstr($descr, "MALLOC") || strstr($descr, "UMA")) { $deny = 1; } ## Ignore FreeBSD INSANITY
if(strstr($descr, "procfs") || strstr($descr, "/proc")) { $deny = 1; } ## Ignore ProcFS
if(!$deny && is_numeric($index)) {
discover_mempool($valid_mempool, $device, $index, "hrstorage", $descr, $units, NULL, NULL);

View File

@@ -89,6 +89,19 @@ function device_array($device_id)
return $device;
}
function get_port_by_id($port_id)
{
if(is_numeric($port_id)) {
$port = mysql_fetch_assoc(mysql_query("SELECT * FROM `ports` WHERE `interface_id` = '".$port_id."'"));
}
if(is_array($port)){
return $port;
} else {
return FALSE;
}
}
function get_device_id_by_interface_id($interface_id) {
if(is_numeric($interface_id)) {
$device_id = mysql_result(mysql_query("SELECT `device_id` FROM `ports` WHERE `interface_id` = '".$interface_id."'"),0);

View File

@@ -396,6 +396,16 @@ $config['os'][$os]['type'] = "network";
$device_types = array('server', 'network', 'firewall', 'workstation', 'printer', 'power', 'environment');
$config['graph']['device']['bits'] = "Total Traffic";
$config['graph']['device']['hrusers'] = "Users Logged In";
$config['graph']['device']['temperatures'] = "Temperatures";
$config['graph']['device']['memory'] = "Memory Usage";
$config['graph']['device']['processors'] = "Processor Usage";
$config['graph']['device']['cpu'] = "Processor Usage";
$config['graph']['device']['storage'] = "Disk Usage";
##############################
# No changes below this line #
##############################
@@ -443,12 +453,15 @@ $week = time() - (7 * 24 * 60 * 60);
$month = time() - (31 * 24 * 60 * 60);
$year = time() - (365 * 24 * 60 * 60);
$config['now'] = $now;
$config['day'] = $day;
$config['twoday'] = $twoday;
$config['week'] = $week;
$config['month'] = $month;
$config['year'] = $year;
$config['now'] = time();
$config['day'] = time() - (24 * 60 * 60);
$config['twoday'] = time() - (2 * 24 * 60 * 60);
$config['week'] = time() - (7 * 24 * 60 * 60);
$config['twoweek'] = time() - (2 * 7 * 24 * 60 * 60);
$config['month'] = time() - (31 * 24 * 60 * 60);
$config['twomonth'] = time() - (2 * 31 * 24 * 60 * 60);
$config['threemonth'] = time() - (3 * 31 * 24 * 60 * 60);
$config['year'] = time() - (365 * 24 * 60 * 60);
?>