Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add aggregates on multi_bits_separate graphs #956

Merged
merged 4 commits into from May 10, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions AUTHORS.md
Expand Up @@ -23,6 +23,7 @@ Contributors to LibreNMS:
- Stuart Henderson <stu@spacehopper.org> (sthen)
- Filippo Giunchedi <filippo@esaurito.net> (filippog)
- Lasse Leegaard <lasse@brandbil.dk> (lasseleegaard)
- Mickael Marchand <mmarchand@corp.free.fr> (mmarchand)

[1]: http://observium.org/ "Observium web site"

Expand Down
3 changes: 3 additions & 0 deletions html/includes/graphs/common.inc.php
Expand Up @@ -7,6 +7,9 @@
if ($_GET['height']) { $height = mres($_GET['height']); }
if ($_GET['inverse']) { $in = 'out'; $out = 'in'; $inverse=TRUE; } else { $in = 'in'; $out = 'out'; }
if ($_GET['legend'] == "no") { $rrd_options .= " -g"; }
if ($_GET['nototal']) { $nototal=TRUE;} else { $nototal=FALSE;}
if ($_GET['nodetails']) { $nodetails=TRUE; } else { $nodetails=FALSE; }
if ($_GET['noagg']) { $noagg=TRUE; } else { $noagg=FALSE; }

if ($_GET['title'] == "yes") { $rrd_options .= " --title='".$graph_title."' "; }
if (isset($_GET['graph_title'])) { $rrd_options .= " --title='".$_GET['graph_title']."' "; }
Expand Down
102 changes: 75 additions & 27 deletions html/includes/graphs/generic_multi_bits_separated.inc.php
Expand Up @@ -13,14 +13,15 @@

$unit_text = "Bits/sec";

if($width > "500")
{
$rrd_options .= " COMMENT:'".substr(str_pad($unit_text, $descr_len+5),0,$descr_len+5)." Current Average Maximum '";
if (!$nototal) { $rrd_options .= " COMMENT:'Total '"; }
$rrd_options .= " COMMENT:'\l'";
} else {
$rrd_options .= " COMMENT:'".substr(str_pad($unit_text, $descr_len+5),0,$descr_len+5)." Now Ave Max\l'";

if (!$noagg || !$nodetails) {
if($width > "500") {
$rrd_options .= " COMMENT:'".substr(str_pad($unit_text, $descr_len+5),0,$descr_len+5)." Current Average Maximum '";
if (!$nototal) { $rrd_options .= " COMMENT:'Total '"; }
$rrd_options .= " COMMENT:'\l'";
} else {
$nototal=TRUE;
$rrd_options .= " COMMENT:'".substr(str_pad($unit_text, $descr_len+5),0,$descr_len+5)." Now Ave Max\l'";
}
}

if(!isset($multiplier)) { $multiplier = "8"; }
Expand All @@ -32,15 +33,16 @@
$colour_in=$config['graph_colours'][$colours_in][$iter];
$colour_out=$config['graph_colours'][$colours_out][$iter];

if (isset($rrd['descr_in']))
{
$descr = rrdtool_escape($rrd['descr_in'], $descr_len) . " In";
} else {
$descr = rrdtool_escape($rrd['descr'], $descr_len) . " In";
if (!$nodetails) {
if (isset($rrd['descr_in'])) {
$descr = rrdtool_escape($rrd['descr_in'], $descr_len) . " In";
} else {
$descr = rrdtool_escape($rrd['descr'], $descr_len) . " In";
}
$descr_out = rrdtool_escape($rrd['descr_out'], $descr_len) . " Out";
$descr = str_replace("'", "", $descr); // FIXME does this mean ' should be filtered in rrdtool_escape? probably...
$descr_out = str_replace("'", "", $descr_out);
}
$descr_out = rrdtool_escape($rrd['descr_out'], $descr_len) . " Out";
$descr = str_replace("'", "", $descr); // FIXME does this mean ' should be filtered in rrdtool_escape? probably...
$descr_out = str_replace("'", "", $descr_out);

$rrd_options .= " DEF:".$in.$i."=".$rrd['filename'].":".$ds_in.":AVERAGE ";
$rrd_options .= " DEF:".$out.$i."=".$rrd['filename'].":".$ds_out.":AVERAGE ";
Expand All @@ -49,8 +51,7 @@
$rrd_options .= " CDEF:outB".$i."_neg=outB".$i.",-1,*";
$rrd_options .= " CDEF:octets".$i."=inB".$i.",outB".$i.",+";

if (!$args['nototal'])
{
if (!$nototal) {
$rrd_options .= " VDEF:totin".$i."=inB".$i.",TOTAL";
$rrd_options .= " VDEF:totout".$i."=outB".$i.",TOTAL";
$rrd_options .= " VDEF:tot".$i."=octets".$i.",TOTAL";
Expand All @@ -59,24 +60,71 @@
if ($i) { $stack="STACK"; }

$rrd_options .= " AREA:inB".$i."#" . $colour_in . ":'" . $descr . "':$stack";
$rrd_options .= " GPRINT:inB".$i.":LAST:%6.2lf%s$units";
$rrd_options .= " GPRINT:inB".$i.":AVERAGE:%6.2lf%s$units";
$rrd_options .= " GPRINT:inB".$i.":MAX:%6.2lf%s$units\l";

if (!$nototal) { $rrd_options .= " GPRINT:totin".$i.":%6.2lf%s$total_units"; }
if (!$nodetails) {
$rrd_options .= " GPRINT:inB".$i.":LAST:%6.2lf%s$units";
$rrd_options .= " GPRINT:inB".$i.":AVERAGE:%6.2lf%s$units";
$rrd_options .= " GPRINT:inB".$i.":MAX:%6.2lf%s$units";
if (!$nototal) {
$rrd_options .= " GPRINT:totin".$i.":%6.2lf%s$total_units";
}
$rrd_options .= "\l";
}

$rrd_options .= " 'HRULE:0#" . $colour_out.":".$descr_out."'";
$rrd_optionsb .= " 'AREA:outB".$i."_neg#" . $colour_out . "::$stack'";
$rrd_options .= " GPRINT:outB".$i.":LAST:%6.2lf%s$units";
$rrd_options .= " GPRINT:outB".$i.":AVERAGE:%6.2lf%s$units";
$rrd_options .= " GPRINT:outB".$i.":MAX:%6.2lf%s$units\l";

if (!$nototal) { $rrd_options .= " GPRINT:totout".$i.":%6.2lf%s$total_unit"; }
if (!$nodetails) {
$rrd_options .= " GPRINT:outB".$i.":LAST:%6.2lf%s$units";
$rrd_options .= " GPRINT:outB".$i.":AVERAGE:%6.2lf%s$units";
$rrd_options .= " GPRINT:outB".$i.":MAX:%6.2lf%s$units";
if (!$nototal) {
$rrd_options .= " GPRINT:totout".$i.":%6.2lf%s$total_unit";
}
$rrd_options .= "\l";
}

$rrd_options .= " 'COMMENT:\l'";

if ($i >= 1) {
$aggr_in .= ",";
$aggr_out .= ",";
}
if ($i > 1) {
$aggr_in .= "ADDNAN,";
$aggr_out .= "ADDNAN,";
}
$aggr_in .= $in.$i ;
$aggr_out .= $out.$i ;

$i++; $iter++;
}

if (!$noagg){
$rrd_options .= " CDEF:aggr".$in."bytes=" . $aggr_in.",ADDNAN";
$rrd_options .= " CDEF:aggr".$out."bytes=" . $aggr_out.",ADDNAN";
$rrd_options .= " CDEF:aggrinbits=aggrinbytes,".$multiplier.",*";
$rrd_options .= " CDEF:aggroutbits=aggroutbytes,".$multiplier.",*";
$rrd_options .= " VDEF:totalin=aggrinbytes,TOTAL";
$rrd_options .= " VDEF:totalout=aggroutbytes,TOTAL";
$rrd_options .= " COMMENT:' \\\\n'";
$rrd_options .= " COMMENT:'".substr(str_pad("Aggregate In", $descr_len+5),0,$descr_len+5)."'";
$rrd_options .= " GPRINT:aggrinbits:LAST:%6.2lf%s$units";
$rrd_options .= " GPRINT:aggrinbits:AVERAGE:%6.2lf%s$units";
$rrd_options .= " GPRINT:aggrinbits:MAX:%6.2lf%s$units";
if (!$nototal) {
$rrd_options .= " GPRINT:totalin:%6.2lf%s$total_units";
}
$rrd_options .= "\\\\n";
$rrd_options .= " COMMENT:'".substr(str_pad("Aggregate Out", $descr_len+5),0,$descr_len+5)."'";
$rrd_options .= " GPRINT:aggroutbits:LAST:%6.2lf%s$units";
$rrd_options .= " GPRINT:aggroutbits:AVERAGE:%6.2lf%s$units";
$rrd_options .= " GPRINT:aggroutbits:MAX:%6.2lf%s$units";
if (!$nototal) {
$rrd_options .= " GPRINT:totalout:%6.2lf%s$total_units";
}
$rrd_options .= "\\\\n";
}

if ($custom_graph) { $rrd_options .= $custom_graph; }

$rrd_options .= $rrd_optionsb;
Expand Down