Beispiel #1
0
<?php

$scale_min = '0';
$scale_max = '100';
$ds = 'usage';
// FIXME: As far as I can tell, $descr is never mentioned in includes/graphs/generic_simplex.inc.php -- PDG 2015-11-14
$descr = rrdtool_escape(short_hrDeviceDescr($proc['processor_descr']), 28);
$colour_line = 'cc0000';
$colour_area = 'FFBBBB';
$colour_minmax = 'c5c5c5';
$graph_max = 1;
$unit_text = 'Usage';
require 'includes/graphs/generic_simplex.inc.php';
Beispiel #2
0
<?php

$scale_min = '0';
$scale_max = '10';
require 'includes/graphs/common.inc.php';
$rrd_options .= " COMMENT:'                            Min   Max   Last\\n'";
$rrd_options .= " DEF:sensor={$rrd_filename}:sensor:AVERAGE";
$rrd_options .= " LINE1.5:sensor#cc0000:'" . rrdtool_escape($sensor['sensor_descr'], 21) . "'";
$rrd_options .= ' GPRINT:sensor:MIN:%4.1lf';
$rrd_options .= ' GPRINT:sensor:MAX:%4.1lf';
$rrd_options .= ' GPRINT:sensor:LAST:%4.1lf\\\\l';
if (is_numeric($sensor['sensor_limit'])) {
    $rrd_options .= ' HRULE:' . $sensor['sensor_limit'] . '#999999::dashes';
}
if (is_numeric($sensor['sensor_limit_low'])) {
    $rrd_options .= ' HRULE:' . $sensor['sensor_limit_low'] . '#999999::dashes';
}
Beispiel #3
0
<?php

/**
 * Observium
 *
 *   This file is part of Observium.
 *
 * @package    observium
 * @subpackage graphs
 * @copyright  (C) 2006-2013 Adam Armstrong, (C) 2013-2016 Observium Limited
 *
 */
$scale_min = "0";
$scale_max = "100";
$ds = "usage";
$descr = rrdtool_escape(rewrite_hrDevice($proc['processor_descr']), 28);
$colour_line = "cc0000";
$colour_area = "FFBBBB";
$colour_minmax = "c5c5c5";
$graph_max = 1;
$unit_text = "Usage";
include $config['html_dir'] . "/includes/graphs/generic_simplex.inc.php";
// EOF
<?php

// Draw generic bits graph
// args: ds_in, ds_out, rrd_filename, bg, legend, from, to, width, height, inverse, previous
include "includes/graphs/common.inc.php";
if ($format == "octets" || $format == "bytes") {
    $units = "Bps";
    $format = "bytes";
    $units_descr = "Bytes/s";
} else {
    $units = "bps";
    $format = "bits";
    $units_descr = "Bits/s";
}
$i = 0;
$units_descr = rrdtool_escape($units_descr, 9);
if (!$noheader) {
    $rrd_options .= " COMMENT:'{$units_descr}  Now      Ave      Max     95th \\n'";
}
if ($rrd_filename) {
    $rrd_filename_out = $rrd_filename;
    $rrd_filename_in = $rrd_filename;
}
if ($inverse) {
    $in = 'out';
    $out = 'in';
} else {
    $in = 'in';
    $out = 'out';
}
if ($multiplier) {
    $rrd_options .= " COMMENT:'\\l'";
}
$colour_iter = 0;
foreach ($rrd_list as $i => $rrd) {
    if ($rrd['colour']) {
        $colour = $rrd['colour'];
    } else {
        if (!$config['graph_colours'][$colours][$colour_iter]) {
            $colour_iter = 0;
        }
        $colour = $config['graph_colours'][$colours][$colour_iter];
        $colour_iter++;
    }
    $ds = $rrd['ds'];
    $filename = $rrd['filename'];
    $descr = rrdtool_escape($rrd['descr'], $descr_len);
    $id = "ds" . $i;
    $rrd_options .= " DEF:" . $id . "={$filename}:{$ds}:AVERAGE";
    if ($simple_rrd) {
        $rrd_options .= " CDEF:" . $id . "min=" . $id . " ";
        $rrd_options .= " CDEF:" . $id . "max=" . $id . " ";
    } else {
        $rrd_options .= " DEF:" . $id . "min={$filename}:{$ds}:MIN";
        $rrd_options .= " DEF:" . $id . "max={$filename}:{$ds}:MAX";
    }
    if ($rrd['invert']) {
        $rrd_options .= " CDEF:" . $id . "i=" . $id . ",-1,*";
        $rrd_optionsb .= " LINE1.25:" . $id . "i#" . $colour . ":'{$descr}'";
        if (!empty($rrd['areacolour'])) {
            $rrd_optionsb .= " AREA:" . $id . "i#" . $rrd['areacolour'];
        }
<?php

/**
 * Observium
 *
 *   This file is part of Observium.
 *
 * @package    observium
 * @subpackage graphs
 * @copyright  (C) 2006-2013 Adam Armstrong, (C) 2013-2016 Observium Limited
 *
 */
$ds = "sensor";
$line_text = rrdtool_escape($sensor['sensor_descr'], 22);
$colour_line = "cc0000";
$colour_area = "FFFF99";
$colour_minmax = "c5c5c5";
$scale_min = 0;
$graph_max = 1;
$unit_text = "lux";
$print_min = 1;
include $config['html_dir'] . "/includes/graphs/generic_simplex.inc.php";
if (is_numeric($sensor['sensor_limit'])) {
    $rrd_options .= " HRULE:" . $sensor['sensor_limit'] . "#999999::dashes";
}
if (is_numeric($sensor['sensor_limit_low'])) {
    $rrd_options .= " HRULE:" . $sensor['sensor_limit_low'] . "#999999::dashes";
}
$graph_return['descr'] = 'Illuminance sensor measured in lux.';
// EOF
Beispiel #7
0
<?php

include "includes/graphs/common.inc.php";
$sla = dbFetchRow("SELECT * FROM `slas` WHERE `sla_id` = ?", array($vars['id']));
$device = device_by_id_cache($sla['device_id']);
#if ($_GET['width'] >= "450") { $descr_len = "48"; } else { $descr_len = "21"; }
$descr_len = intval($_GET['width'] / 8) * 0.8;
$unit_long = 'milliseconds';
$unit = 'ms';
$rrd_options .= " -l 0 -E ";
$rrd_options .= " COMMENT:'" . str_pad($unit_long, $descr_len) . "   Cur      Min     Max\\n'";
#$descr = "";
$descr = $sla['sla_nr'] . " ";
if ($sla['tag']) {
    $descr .= $sla['tag'];
}
if ($sla['owner']) {
    $descr .= " (Owner: " . $sla['owner'] . ")";
}
$rrd_file = $config['rrd_dir'] . "/" . $device['hostname'] . "/" . safename("sla-" . $sla['sla_nr'] . ".rrd");
$rrd_options .= " DEF:rtt={$rrd_file}:rtt:AVERAGE ";
$rrd_options .= " VDEF:avg=rtt,AVERAGE ";
$rrd_options .= " LINE1:avg#CCCCFF:'" . str_pad('Average', $descr_len - 3) . "':dashes";
$rrd_options .= " GPRINT:rtt:AVERAGE:%4.1lf" . $unit . "\\\\l ";
$rrd_options .= " LINE1:rtt#CC0000:'" . rrdtool_escape($descr) . "'";
$rrd_options .= " GPRINT:rtt:LAST:%4.1lf" . $unit . " ";
$rrd_options .= " GPRINT:rtt:MIN:%4.1lf" . $unit . " ";
$rrd_options .= " GPRINT:rtt:MAX:%4.1lf" . $unit . "\\\\l ";
        $pings_options .= ",p" . $i . "p" . $p . ",UN,+";
        $m_options .= ",p" . $i . "p" . $p . ",+";
        $sdev_options .= ",p" . $i . "p" . $p . ",m" . $i . ",-,DUP,*,+";
    }
    $rrd_options .= " CDEF:pings" . $i . "=" . $pings . ",p" . $i . "p1,UN" . $pings_options . ",-";
    $rrd_options .= " CDEF:m" . $i . "=p" . $i . "p1" . $m_options . ",pings" . $i . ",/";
    $rrd_options .= " CDEF:sdev" . $i . "=p" . $i . "p1,m" . $i . ",-,DUP,*" . $sdev_options . ",pings" . $i . ",/,SQRT";
    // end emulate Smokeping::calc_stddev
    $rrd_options .= " CDEF:dmlow{$i}=dm{$i},sdev{$i},2,/,-";
    $rrd_options .= " CDEF:s2d{$i}=sdev{$i}";
    $dm_list .= ",dm{$i},+";
    $sd_list .= ",s2d{$i},+";
    $ploss_list .= ",ploss{$i},+";
    $i++;
}
$descr = rrdtool_escape("Average", $descr_len);
$rrd_options .= " CDEF:ploss_all=0" . $ploss_list . ",{$i},/";
$rrd_options .= " CDEF:dm_all=0" . $dm_list . ",{$i},/";
#  $rrd_options .= " CDEF:dm_all_clean=dm_all,UN,NaN,dm_all,IF";
$rrd_options .= " CDEF:sd_all=0" . $sd_list . ",{$i},/";
$rrd_options .= " CDEF:dmlow_all=dm_all,sd_all,2,/,-";
$rrd_options .= " AREA:dmlow_all";
$rrd_options .= " AREA:sd_all#AAAAAA::STACK";
$rrd_options .= " LINE1:dm_all#CC0000:'{$descr}'";
$rrd_options .= " VDEF:avmed=dm_all,AVERAGE";
$rrd_options .= " VDEF:avsd=sd_all,AVERAGE";
$rrd_options .= " CDEF:msr=dm_all,POP,avmed,avsd,/";
$rrd_options .= " VDEF:avmsr=msr,AVERAGE";
$rrd_options .= " GPRINT:avmed:'%5.1lf%ss'";
$rrd_options .= " GPRINT:ploss_all:AVERAGE:'%5.1lf%%'";
$rrd_options .= " GPRINT:avsd:'%5.1lf%Ss'";
    } elseif (is_numeric($divider)) {
        $g_defname = $rrd['ds'] . "_cdef";
        $rrd_options .= " CDEF:" . $g_defname . $i . "=" . $rrd['ds'] . $i . "," . $divider . ",/";
        $rrd_options .= " CDEF:" . $g_defname . $i . "min=" . $rrd['ds'] . $i . "min," . $divider . ",/";
        $rrd_options .= " CDEF:" . $g_defname . $i . "max=" . $rrd['ds'] . $i . "max," . $divider . ",/";
    }
    // Are our text values related to the multiplier/divisor or not?
    if (isset($text_orig) && $text_orig) {
        $t_defname = $rrd['ds'];
    } else {
        $t_defname = $g_defname;
    }
    $rrd_options .= " AREA:" . $g_defname . $i . "#" . $colour . ":'" . rrdtool_escape($rrd['descr'], $descr_len) . "':{$stack}";
    $rrd_options .= " GPRINT:" . $t_defname . $i . ":LAST:%5.1lf%s GPRINT:" . $t_defname . $i . "min:MIN:%5.1lf%s";
    $rrd_options .= " GPRINT:" . $t_defname . $i . "max:MAX:%5.1lf%s GPRINT:" . $t_defname . $i . ":AVERAGE:%5.1lf%s";
    if (!$nototal) {
        $rrd_options .= " GPRINT:tot" . $rrd['ds'] . $i . ":%5.2lf%s" . rrdtool_escape($total_units) . "";
    }
    $rrd_options .= "'\\n' COMMENT:'\\n'";
}
if ($_GET['previous'] == "yes") {
    if (is_numeric($multiplier)) {
        $rrd_options .= " CDEF:X=" . $thingX . $plusesX . "," . $multiplier . ",*";
    } elseif (is_numeric($divider)) {
        $rrd_options .= " CDEF:X=" . $thingX . $plusesX . "," . $divider . ",/";
    } else {
        $rrd_options .= " CDEF:X=" . $thingX . $plusesX;
    }
    $rrd_options .= " AREA:X#99999999:";
    $rrd_options .= " LINE1.25:X#666666:";
}
        $m_options .= ',p' . $i . 'p' . $p . ',+';
        $sdev_options .= ',p' . $i . 'p' . $p . ',m' . $i . ',-,DUP,*,+';
    }
    $rrd_options .= ' CDEF:pings' . $i . '=' . $pings . ',p' . $i . 'p1,UN' . $pings_options . ',-';
    $rrd_options .= ' CDEF:m' . $i . '=p' . $i . 'p1' . $m_options . ',pings' . $i . ',/';
    $rrd_options .= ' CDEF:sdev' . $i . '=p' . $i . 'p1,m' . $i . ',-,DUP,*' . $sdev_options . ',pings' . $i . ',/,SQRT';
    // end emulate Smokeping::calc_stddev
    $rrd_options .= " CDEF:dmlow{$i}=dm{$i},sdev{$i},2,/,-";
    $rrd_options .= " CDEF:s2d{$i}=sdev{$i}";
    $dm_list .= ",dm{$i},+";
    $sd_list .= ",s2d{$i},+";
    $ploss_list .= ",ploss{$i},+";
    $i++;
}
//end foreach
$descr = rrdtool_escape('Average', $descr_len);
$rrd_options .= ' CDEF:ploss_all=0' . $ploss_list . ",{$i},/";
$rrd_options .= ' CDEF:dm_all=0' . $dm_list . ",{$i},/";
// $rrd_options .= " CDEF:dm_all_clean=dm_all,UN,NaN,dm_all,IF";
$rrd_options .= ' CDEF:sd_all=0' . $sd_list . ",{$i},/";
$rrd_options .= ' CDEF:dmlow_all=dm_all,sd_all,2,/,-';
$rrd_options .= ' AREA:dmlow_all';
$rrd_options .= ' AREA:sd_all#AAAAAA::STACK';
$rrd_options .= " LINE1:dm_all#CC0000:'{$descr}'";
$rrd_options .= ' VDEF:avmed=dm_all,AVERAGE';
$rrd_options .= ' VDEF:avsd=sd_all,AVERAGE';
$rrd_options .= ' CDEF:msr=dm_all,POP,avmed,avsd,/';
$rrd_options .= ' VDEF:avmsr=msr,AVERAGE';
$rrd_options .= " GPRINT:avmed:'%5.1lf%ss'";
$rrd_options .= " GPRINT:ploss_all:AVERAGE:'%5.1lf%%'";
$rrd_options .= " GPRINT:avsd:'%5.1lf%Ss'";
Beispiel #11
0
$rrd_options .= " DEF:used={$rrd_filename}:used:AVERAGE";
$rrd_options .= " DEF:free={$rrd_filename}:free:AVERAGE";
$rrd_options .= " CDEF:size=used,free,+";
$rrd_options .= " CDEF:perc=used,size,/,100,*";
$rrd_options .= " AREA:perc#" . $background['right'] . ":";
$rrd_options .= " LINE1.25:perc#" . $background['left'] . ":'{$descr}'";
$rrd_options .= " GPRINT:size:LAST:%6.2lf%sB";
$rrd_options .= " GPRINT:free:LAST:%6.2lf%sB";
$rrd_options .= " GPRINT:perc:LAST:%5.2lf%%\\n";
if ($_GET['trend']) {
    $rrd_options .= " VDEF:slope=perc,LSLSLOPE ";
    $rrd_options .= " VDEF:cons=perc,LSLINT ";
    $rrd_options .= " CDEF:lsl2=perc,POP,slope,COUNT,*,cons,+ ";
    $rrd_options .= ' LINE1.25:lsl2#ff0000::dashes=2';
}
if ($_GET['previous']) {
    $descr = rrdtool_escape("Prev " . $storage['storage_descr'], 12);
    $colour = "99999999";
    $colour_area = "66666666";
    $rrd_options .= " DEF:usedX={$rrd_filename}:used:AVERAGE:start=" . $prev_from . ":end=" . $from;
    $rrd_options .= " DEF:freeX={$rrd_filename}:free:AVERAGE:start=" . $prev_from . ":end=" . $from;
    $rrd_options .= " SHIFT:usedX:{$period}";
    $rrd_options .= " SHIFT:freeX:{$period}";
    $rrd_options .= " CDEF:sizeX=usedX,freeX,+";
    $rrd_options .= " CDEF:percX=usedX,sizeX,/,100,*";
    $rrd_options .= " AREA:percX#" . $colour_area . ":";
    $rrd_options .= " LINE1.25:percX#" . $colour . ":'{$descr}'";
    $rrd_options .= " GPRINT:sizeX:LAST:%6.2lf%sB";
    $rrd_options .= " GPRINT:freeX:LAST:%6.2lf%sB";
    $rrd_options .= " GPRINT:percX:LAST:%5.2lf%%\\n";
}
<?php

include_once $config['html_dir'] . "/includes/graphs/common.inc.php";
$colour = "CC0000";
$colour_area = "ffaaaa";
$sql = "SELECT * FROM `applications-state` WHERE `application_id` = ?";
$app_state = dbFetchRow($sql, array($app['app_id']));
$app_data = unserialize($app_state['app_state']);
$descr = rrdtool_escape($app['app_instance'], $descr_len);
$rrd_filename = $config['rrd_dir'] . "/" . $device['hostname'] . "/wmi-app-mssql_" . $app['app_instance'] . "-cpu.rrd";
$rrd_options .= " -u 100 -l 0 ";
$rrd_options .= " COMMENT:'Usage       Current     Average    Maximum\\n'";
$rrd_options .= " DEF:proc=" . $rrd_filename . ":percproctime:LAST ";
$rrd_options .= " DEF:lastpoll=" . $rrd_filename . ":lastpoll:LAST ";
$rrd_options .= " CDEF:usage=proc,lastpoll,/,100,* ";
$rrd_options .= " 'AREA:usage#ea8f00:   '";
$rrd_options .= " GPRINT:usage:LAST:'     %5.2lf%%'";
$rrd_options .= " GPRINT:usage:AVERAGE:'   %5.2lf%%'";
$rrd_options .= " GPRINT:usage:MAX:'   %5.2lf%%\\n'";
// EOF
Beispiel #13
0
function graph_from_definition($vars, $type, $subtype, $device)
{
    global $config, $graph_defs;
    $graph_def = $graph_defs[$type][$subtype];
    include_once $config['html_dir'] . "/includes/graphs/common.inc.php";
    // Here we scale the number of numerical columns shown to make sure we keep the text.
    if ($width > 600) {
        $data_show = array('lst', 'avg', 'min', 'max', 'tot');
    } elseif ($width > 400) {
        $data_show = array('lst', 'avg', 'max', 'tot');
    } elseif ($width > 300) {
        $data_show = array('lst', 'avg', 'max', 'tot');
    } else {
        $data_show = array('lst', 'avg', 'max');
    }
    // Drop total from view if requested not to show
    if ($args['nototal'] || $nototal) {
        if (($key = array_search('tot', $data_show)) !== FALSE) {
            unset($data_show[$key]);
        }
    }
    $data_len = count($data_show) * 8;
    // Here we scale the length of the description to make sure we keep the numbers
    if ($width > 600) {
        $descr_len = 40;
    } elseif ($width > 300) {
        $descr_len = floor(($width + 42) / 8) - $data_len;
    } else {
        $descr_len = floor(($width + 42) / 7) - $data_len;
    }
    // Build the legend headers using the length values previously calculated
    if (!isset($unit_text)) {
        if ($format == "octets" || $format == "bytes") {
            $units = "Bps";
            $format = "bytes";
            $unit_text = "Bytes/s";
        } else {
            $units = "bps";
            $format = "bits";
            $unit_text = "Bits/s";
        }
    }
    if ($legend != 'no') {
        $rrd_options .= " COMMENT:'" . rrdtool_escape($unit_text, $descr_len) . "'";
        if (in_array("lst", $data_show)) {
            $rrd_options .= " COMMENT:'   Now'";
        }
        if (in_array("avg", $data_show)) {
            $rrd_options .= " COMMENT:'    Avg'";
        }
        if (in_array("min", $data_show)) {
            $rrd_options .= " COMMENT:'    Min'";
        }
        if (in_array("max", $data_show)) {
            $rrd_options .= " COMMENT:'    Max'";
        }
        if (in_array("tot", $data_show)) {
            $rrd_options .= " COMMENT:'  Total'";
        }
        $rrd_options .= " COMMENT:'\\l'";
    }
    foreach ($graph_def['ds'] as $ds_name => $ds) {
        if (!isset($ds['file'])) {
            $ds['file'] = $graph_def['file'];
        }
        if (!isset($ds['draw'])) {
            $ds['draw'] = "LINE1.5";
        }
        $ds['file'] = get_rrd_path($device, $ds['file']);
        $cmd_def .= " DEF:" . $ds_name . "=" . $ds['file'] . ":" . $ds_name . ":AVERAGE";
        $cmd_def .= " DEF:" . $ds_name . "_min=" . $ds['file'] . ":" . $ds_name . ":MIN";
        $cmd_def .= " DEF:" . $ds_name . "_max=" . $ds['file'] . ":" . $ds_name . ":MAX";
        if (!empty($ds['cdef'])) {
            $ds_name = $ds_name . "_c";
            $cmd_cdef .= " CDEF:" . $ds_name . "=" . $ds['cdef'] . "";
            $cmd_cdef .= " CDEF:" . $ds_name . "_min=" . $ds['cdef'] . "";
            $cmd_cdef .= " CDEF:" . $ds_name . "_max=" . $ds['cdef'] . "";
        }
        if ($ds['ds_graph'] != "yes") {
            if (empty($ds['colour'])) {
                if (!$config['graph_colours'][$graph_def['colours']][$c_i]) {
                    $c_i = 0;
                }
                $colour = $config['graph_colours'][$graph_def['colours']][$c_i];
                $c_i++;
            } else {
                $colour = $ds['colour'];
            }
            $descr = rrdtool_escape($ds['label'], $descr_len);
            if ($ds['draw'] == "AREASTACK") {
                if ($i == 0) {
                    $ds['ds_draw'] = "AREA";
                } else {
                    $ds['ds_draw'] = "STACK";
                }
            } elseif (preg_match("/^LINESTACK([0-9\\.]*)/", $ds['ds_draw'], $m)) {
                if ($i == 0) {
                    $data['ds_draw'] = "LINE{$m['1']}";
                } else {
                    $ds['draw'] = "STACK";
                }
            }
            $cmd_graph .= ' ' . $ds['draw'] . ':' . $ds_name . '#' . $colour . ':"' . $descr . '"';
            $cmd_graph .= ' GPRINT:' . $ds_name . ':LAST:"%6.2lf%s"';
            $cmd_graph .= ' GPRINT:' . $ds_name . ':AVERAGE:"%6.2lf%s"';
            $cmd_graph .= ' GPRINT:' . $ds_name . ':MAX:"%6.2lf%s\\n"';
        }
    }
    $rrd_options = $cmd_def . $cmd_cdef . $cmd_graph;
    return $rrd_options;
}
Beispiel #14
0
$iter = "1";
$colour = "CC0000";
$colour_area = "ffaaaa";
if ($width > "500") {
    $descr_len = 13;
} else {
    $descr_len = 8;
    $descr_len += round(($width - 250) / 8);
}
if ($width > "500") {
    $rrd_options .= " COMMENT:'" . substr(str_pad($unit_text, $descr_len + 5), 0, $descr_len + 5) . "Total      Used      Free(    Min       Max      Avg)'";
    $rrd_options .= " COMMENT:'\\l'";
} else {
    $rrd_options .= " COMMENT:'" . substr(str_pad($unit_text, $descr_len + 5), 0, $descr_len + 5) . "Total      Used      Free\\l'";
}
$descr = rrdtool_escape(rewrite_hrDevice($mempool['mempool_descr']), $descr_len);
$perc = round($mempool['mempool_perc'], 0);
$background = get_percentage_colours($perc);
$rrd_options .= " DEF:" . $mempool['mempool_id'] . "used={$rrd_filename}:used:AVERAGE";
$rrd_options .= " DEF:" . $mempool['mempool_id'] . "free={$rrd_filename}:free:AVERAGE";
$rrd_options .= " CDEF:" . $mempool['mempool_id'] . "size=" . $mempool['mempool_id'] . "used," . $mempool['mempool_id'] . "free,+";
$rrd_options .= " CDEF:" . $mempool['mempool_id'] . "perc=" . $mempool['mempool_id'] . "used," . $mempool['mempool_id'] . "size,/,100,*";
$rrd_options .= " CDEF:" . $mempool['mempool_id'] . "percx=100," . $mempool['mempool_id'] . "perc,-";
$rrd_options .= " AREA:" . $mempool['mempool_id'] . "perc#" . $background['right'] . ":";
if ($width > "500") {
    $rrd_options .= " LINE1.25:" . $mempool['mempool_id'] . "perc#" . $background['left'] . ":'{$descr}'";
    $rrd_options .= " GPRINT:" . $mempool['mempool_id'] . "size:LAST:%6.2lf%sB";
    $rrd_options .= " GPRINT:" . $mempool['mempool_id'] . "used:LAST:%6.2lf%sB";
    $rrd_options .= " GPRINT:" . $mempool['mempool_id'] . "free:LAST:%6.2lf%sB";
    $rrd_options .= " GPRINT:" . $mempool['mempool_id'] . "free:MIN:%5.2lf%sB";
    $rrd_options .= " GPRINT:" . $mempool['mempool_id'] . "free:MAX:%5.2lf%sB";
<?php

include "includes/graphs/common.inc.php";
$rrd_options .= " -l 0 -E ";
$iter = "1";
$rrd_options .= " COMMENT:'Imaging Drum level     Cur     Min      Max\\n'";
$drums = array('Cyan' => 'c', 'Magenta' => 'm', 'Yellow' => 'y', 'Black' => 'k');
foreach ($drums as $drum => $letter) {
    $descr = rrdtool_escape("{$drum} Drum", 16);
    $colour = toner2colour($descr);
    $hostname = gethostbyid($device['device_id']);
    $rrd_filename = $config['rrd_dir'] . "/" . $device['hostname'] . "/" . safename("drum-{$letter}.rrd");
    $rrd_options .= " DEF:drum{$iter}={$rrd_filename}:drum:AVERAGE";
    $rrd_options .= " LINE2:drum{$iter}#" . $colour['left'] . ":'" . $descr . "'";
    $rrd_options .= " GPRINT:drum{$iter}:LAST:'%5.0lf%%'";
    $rrd_options .= " GPRINT:drum{$iter}:MIN:'%5.0lf%%'";
    $rrd_options .= " GPRINT:drum{$iter}:MAX:%5.0lf%%\\\\l";
    $iter++;
}
Beispiel #16
0
            case "3":
                $colour['left'] = "4096EE";
                break;
            case "4":
                $colour['left'] = "73880A";
                break;
            case "5":
                $colour['left'] = "D01F3C";
                break;
            case "6":
                $colour['left'] = "36393D";
                break;
            case "7":
            default:
                $colour['left'] = "FF0000";
                unset($iter);
                break;
        }
    }
    $hostname = gethostbyid($toner['device_id']);
    $descr = rrdtool_escape($toner['toner_descr'], 16);
    $rrd_filename = get_rrd_path($device, "toner-" . $toner['toner_index'] . ".rrd");
    $toner_id = $toner['toner_id'];
    $rrd_options .= " DEF:toner{$toner_id}={$rrd_filename}:toner:AVERAGE";
    $rrd_options .= " LINE2:toner{$toner_id}#" . $colour['left'] . ":'" . $descr . "'";
    $rrd_options .= " GPRINT:toner{$toner_id}:LAST:'%5.0lf%%'";
    $rrd_options .= " GPRINT:toner{$toner_id}:MIN:'%5.0lf%%'";
    $rrd_options .= " GPRINT:toner{$toner_id}:MAX:%5.0lf%%\\\\l";
    $iter++;
}
// EOF
Beispiel #17
0
        // Try with dots in hostname replaced by underscores
        $filename = $config['smokeping']['dir'] . str_replace('.', '_', $device['hostname']) . '.rrd';
    }
} else {
    $filename = $config['smokeping']['dir'] . $device['hostname'] . '~' . $src['hostname'] . '.rrd';
    if (!file_exists($filename)) {
        // Try with dots in hostname replaced by underscores
        $filename = $config['smokeping']['dir'] . str_replace('.', '-', $device['hostname']) . '~' . $src['hostname'] . '.rrd';
    }
}
if (!isset($config['graph_colours'][$colourset][$iter])) {
    $iter = 0;
}
$colour = $config['graph_colours'][$colourset][$iter];
$iter++;
$descr = rrdtool_escape($source, $descr_len);
$rrd_options .= " DEF:median{$i}=" . $filename . ':median:AVERAGE ';
$rrd_options .= " DEF:loss{$i}=" . $filename . ':loss:AVERAGE';
$rrd_options .= " CDEF:ploss{$i}=loss{$i},{$pings},/,100,*";
$rrd_options .= " CDEF:dm{$i}=median{$i}";
// $rrd_options .= " CDEF:dm$i=median$i,0,".$max->{$start}.",LIMIT";
// start emulate Smokeping::calc_stddev
foreach (range(1, $pings) as $p) {
    $rrd_options .= ' DEF:pin' . $i . 'p' . $p . '=' . $filename . ':ping' . $p . ':AVERAGE';
    $rrd_options .= ' CDEF:p' . $i . 'p' . $p . '=pin' . $i . 'p' . $p . ',UN,0,pin' . $i . 'p' . $p . ',IF';
}
unset($pings_options, $m_options, $sdev_options);
foreach (range(2, $pings) as $p) {
    $pings_options .= ',p' . $i . 'p' . $p . ',UN,+';
    $m_options .= ',p' . $i . 'p' . $p . ',+';
    $sdev_options .= ',p' . $i . 'p' . $p . ',m' . $i . ',-,DUP,*,+';
     if ($peer_info) {
         $asn = 'AS' . $peer_info['bgpPeerRemoteAs'];
         $astext = $peer_info['astext'];
     } else {
         unset($as);
         unset($astext);
         unset($asn);
     }
 }
 //end if
 $this_id = str_replace('.', '', $acc['mac']);
 if (!$config['graph_colours'][$colours][$iter]) {
     $iter = 0;
 }
 $colour = $config['graph_colours'][$colours][$iter];
 $descr = rrdtool_escape($name, 36);
 $rrd_options .= ' DEF:in' . $this_id . "={$this_rrd}:" . $prefix . 'IN:AVERAGE ';
 $rrd_options .= ' DEF:out' . $this_id . "temp={$this_rrd}:" . $prefix . 'OUT:AVERAGE ';
 $rrd_options .= ' CDEF:inB' . $this_id . '=in' . $this_id . ",{$multiplier},* ";
 $rrd_options .= ' CDEF:outB' . $this_id . 'temp=out' . $this_id . "temp,{$multiplier},*";
 $rrd_options .= ' CDEF:outB' . $this_id . '=outB' . $this_id . 'temp,-1,*';
 $rrd_options .= ' CDEF:octets' . $this_id . '=inB' . $this_id . ',outB' . $this_id . 'temp,+';
 $rrd_options .= ' VDEF:totin' . $this_id . '=inB' . $this_id . ',TOTAL';
 $rrd_options .= ' VDEF:totout' . $this_id . '=outB' . $this_id . 'temp,TOTAL';
 $rrd_options .= ' VDEF:tot' . $this_id . '=octets' . $this_id . ',TOTAL';
 $rrd_options .= ' AREA:inB' . $this_id . '#' . $colour . ":'" . $descr . "':STACK";
 if ($rrd_optionsb) {
     $stack = 'STACK';
 }
 $rrd_optionsb .= ' AREA:outB' . $this_id . '#' . $colour . "::{$stack}";
 $rrd_options .= ' GPRINT:inB' . $this_id . ":LAST:%6.2lf%s{$units}";
Beispiel #19
0
include_once $config['html_dir'] . "/includes/graphs/common.inc.php";
if ($width > 500) {
    $descr_len = 22;
} else {
    $descr_len = 12;
}
$descr_len += round(($width - 250) / 8);
$iter = 0;
$colours = 'mixed';
$rrd_options .= " COMMENT:'" . str_pad('Size      Used    %used', $descr_len + 31, ' ', STR_PAD_LEFT) . "\\l'";
//$rrd_options .= " COMMENT:'                    Size      Used    %age\\l'";
foreach (dbFetchRows("SELECT * FROM storage where device_id = ?", array($device['device_id'])) as $storage) {
    if (!$config['graph_colours'][$colours][$iter]) {
        $iter = 0;
    }
    $colour = $config['graph_colours'][$colours][$iter];
    $descr = rrdtool_escape($storage['storage_descr'], $descr_len);
    $rrd = get_rrd_path($device, "storage-" . $storage['storage_mib'] . "-" . $storage['storage_descr'] . ".rrd");
    if (is_file($rrd)) {
        $rrd_options .= " DEF:" . $storage['storage_id'] . "used={$rrd}:used:AVERAGE";
        $rrd_options .= " DEF:" . $storage['storage_id'] . "free={$rrd}:free:AVERAGE";
        $rrd_options .= " CDEF:" . $storage['storage_id'] . "size=" . $storage['storage_id'] . "used," . $storage['storage_id'] . "free,+";
        $rrd_options .= " CDEF:" . $storage['storage_id'] . "perc=" . $storage['storage_id'] . "used," . $storage['storage_id'] . "size,/,100,*";
        $rrd_options .= " LINE1.25:" . $storage['storage_id'] . "perc#" . $colour . ":'{$descr}'";
        $rrd_options .= " GPRINT:" . $storage['storage_id'] . "size:LAST:%6.2lf%sB";
        $rrd_options .= " GPRINT:" . $storage['storage_id'] . "used:LAST:%6.2lf%sB";
        $rrd_options .= " GPRINT:" . $storage['storage_id'] . "perc:LAST:%5.2lf%%\\\\l";
        $iter++;
    }
}
// EOF
Beispiel #20
0
        $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);
    }
    $descr = rrdtool_escape(short_hrDeviceDescr($mempool['mempool_descr']), 22);
    $rrd_filename = rrd_name($device['hostname'], array('mempool', $mempool['mempool_type'], $mempool['mempool_index']));
    if (rrdtool_check_rrd_exists($rrd_filename)) {
        $rrd_options .= " DEF:mempoolfree{$i}={$rrd_filename}:free:AVERAGE ";
        $rrd_options .= " DEF:mempoolused{$i}={$rrd_filename}:used:AVERAGE ";
        $rrd_options .= " CDEF:mempooltotal{$i}=mempoolused{$i},mempoolused{$i},mempoolfree{$i},+,/,100,* ";
        $rrd_options .= " AREA:mempooltotal{$i}#" . $colour . '10';
        $rrd_optionsb .= " LINE1:mempooltotal{$i}#" . $colour . ":'" . $descr . "' ";
        $rrd_optionsb .= " GPRINT:mempooltotal{$i}:MIN:%3.0lf%%";
        $rrd_optionsb .= " GPRINT:mempooltotal{$i}:LAST:%3.0lf%%";
        $rrd_optionsb .= " GPRINT:mempooltotal{$i}:MAX:%3.0lf%%\\l ";
        $iter++;
        $i++;
    }
}
//end foreach
    $rrd_options .= ' GPRINT:unique' . $x . ':LAST:"%6.2lf%s"';
    $rrd_options .= ' GPRINT:avg' . $x . ':"%6.2lf"';
    $rrd_options .= ' GPRINT:peak' . $x . ':LAST:"%6.2lf"';
    $rrd_options .= " COMMENT:\"\\n\"";
    if ($x) {
        $totcur .= ',cur' . $x . ',+';
        $totpeak .= ',peak' . $x . ',+';
        $totunique .= ',unique' . $x . ',+';
    }
    $x = $x < count($config['graph_colours'][$colours]) - 1 ? $x + 1 : 0;
    // $x++;
}
//end foreach
if (!$nototal) {
    $strlen = strlen($total_text) < $descr_len ? $descr_len - strlen($total_text) : '0';
    $descr = isset($total_text) ? rrdtool_escape($total_text, $desc_len + $strlen) : 'Total';
    $colour = $config['graph_colours'][$colours][$x];
    for ($z = 0; $z < $strlen; $z++) {
        $descr .= ' ';
    }
    $rrd_options .= ' CDEF:totcur=cur0' . $totcur;
    $rrd_options .= ' CDEF:totunique=unique0' . $totunique;
    $rrd_options .= ' CDEF:totpeak=peak0' . $totpeak;
    $rrd_options .= ' VDEF:totavg=totcur,AVERAGE';
    $rrd_options .= ' LINE2:totcur#' . $colour . ':"' . $descr . '"';
    $rrd_options .= ' GPRINT:totcur:LAST:"%6.2lf"';
    $rrd_options .= ' GPRINT:totunique:LAST:"%6.2lf%s"';
    $rrd_options .= ' GPRINT:totavg:"%6.2lf"';
    $rrd_options .= ' GPRINT:totpeak:LAST:"%6.2lf"';
    $rrd_options .= " COMMENT:\"\\n\"";
}
Beispiel #22
0
    $rrd_options .= " COMMENT:'" . substr(str_pad($mplug['mplug_vlabel'], $descr_len), 0, $descr_len) . "   Current   Average  Maximum\\l'";
}
$c_i = 0;
$dbq = dbFetchRows('SELECT * FROM `munin_plugins_ds` WHERE `mplug_id` = ?', array($mplug['mplug_id']));
foreach ($dbq as $ds) {
    $ds_filename = $plugfile . '_' . $ds['ds_name'] . '.rrd';
    $ds_name = $ds['ds_name'];
    $cmd_def .= ' DEF:' . $ds['ds_name'] . '=' . $ds_filename . ':val:AVERAGE';
    if (!empty($ds['ds_cdef'])) {
        $cmd_cdef .= '';
        $ds_name = $ds['ds_name'] . '_cdef';
    }
    if ($ds['ds_graph'] == 'yes') {
        if (empty($ds['colour'])) {
            if (!$config['graph_colours']['mixed'][$c_i]) {
                $c_i = 0;
            }
            $colour = $config['graph_colours']['mixed'][$c_i];
            $c_i++;
        } else {
            $colour = $ds['colour'];
        }
        $descr = rrdtool_escape($ds['ds_label'], $descr_len);
        $cmd_graph .= ' ' . $ds['ds_draw'] . ':' . $ds_name . '#' . $colour . ':"' . $descr . '"';
        $cmd_graph .= ' GPRINT:' . $ds_name . ':LAST:"%6.2lf%s"';
        $cmd_graph .= ' GPRINT:' . $ds_name . ':AVERAGE:"%6.2lf%s"';
        $cmd_graph .= ' GPRINT:' . $ds_name . ':MAX:"%6.2lf%s\\n"';
    }
}
//end foreach
$rrd_options .= $cmd_def . $cmd_cdef . $cmd_graph;
            $rrd_options .= ' CDEF:' . $g_defname . $i . 'max=' . $rrd['ds'] . $i . 'max,' . $divider . ',/';
        }
    }
    if (isset($text_orig) && $text_orig) {
        $t_defname = $rrd['ds'];
    } else {
        $t_defname = $g_defname;
    }
    if ($i && $dostack === 1) {
        $stack = ':STACK';
    }
    $rrd_options .= ' LINE2:' . $g_defname . $i . '#' . $colour . ":'" . $descr . "'{$stack}";
    $rrd_options .= ' GPRINT:' . $t_defname . $i . ':LAST:%8.0lf%s GPRINT:' . $t_defname . $i . 'min:MIN:%8.0lf%s';
    $rrd_options .= ' GPRINT:' . $t_defname . $i . 'max:MAX:%8.0lf%s GPRINT:' . $t_defname . $i . ":AVERAGE:'%8.0lf%s\\n'";
    if ($printtotal === 1) {
        $rrd_options .= ' GPRINT:tot' . $rrd['ds'] . $i . ":%6.2lf%s'" . rrdtool_escape($total_units) . "'";
    }
    $rrd_options .= " COMMENT:'\\n'";
}
//end foreach
if ($_GET['previous'] == 'yes') {
    if (is_numeric($multiplier)) {
        $rrd_options .= ' CDEF:X=' . $thingX . $plusesX . ',' . $multiplier . ',*';
    } else {
        if (is_numeric($divider)) {
            $rrd_options .= ' CDEF:X=' . $thingX . $plusesX . ',' . $divider . ',/';
        } else {
            $rrd_options .= ' CDEF:X=' . $thingX . $plusesX;
        }
    }
    $rrd_options .= ' HRULE:0#555555';
     $plusX = ',+';
 }
 if (!$args['nototal']) {
     $in_thing .= $seperator . 'inB' . $i . ',UN,0,' . 'inB' . $i . ',IF';
     $out_thing .= $seperator . 'outB' . $i . ',UN,0,' . 'outB' . $i . ',IF';
     $pluses .= $plus;
     $seperator = ',';
     $plus = ',+';
     $rrd_options .= ' VDEF:totinB' . $i . '=inB' . $i . ',TOTAL';
     $rrd_options .= ' VDEF:totoutB' . $i . '=outB' . $i . ',TOTAL';
     $rrd_options .= ' VDEF:tot' . $i . '=octets' . $i . ',TOTAL';
 }
 if ($i) {
     $stack = 'STACK';
 }
 $rrd_options .= ' AREA:inbits' . $i . '#' . $colour_in . ":'" . rrdtool_escape($rrd['descr'], 9) . "In '{$stack}";
 $rrd_options .= ' GPRINT:inbits' . $i . ':LAST:%6.2lf%s';
 $rrd_options .= ' GPRINT:inbits' . $i . ':AVERAGE:%6.2lf%s';
 $rrd_options .= ' GPRINT:inbits' . $i . ':MAX:%6.2lf%s';
 if (!$nototal) {
     $rrd_options .= ' GPRINT:totinB' . $i . ":%6.2lf%s{$total_units}";
 }
 $rrd_options .= " COMMENT:'\\n'";
 $rrd_optionsb .= ' AREA:outbits' . $i . '_neg#' . $colour_out . ":{$stack}";
 $rrd_options .= ' HRULE:999999999999999#' . $colour_out . ":'" . str_pad('', 10) . "Out'";
 $rrd_options .= ' GPRINT:outbits' . $i . ':LAST:%6.2lf%s';
 $rrd_options .= ' GPRINT:outbits' . $i . ':AVERAGE:%6.2lf%s';
 $rrd_options .= ' GPRINT:outbits' . $i . ':MAX:%6.2lf%s';
 if (!$nototal) {
     $rrd_options .= ' GPRINT:totoutB' . $i . ":%6.2lf%s{$total_units}";
 }
Beispiel #25
0
    $descr_len = floor(($width + 42) / 7) - $data_len;
}
// Build the legend headers using the length values previously calculated
if (!isset($unit_text)) {
    if ($format == "octets" || $format == "bytes") {
        $units = "Bps";
        $format = "bytes";
        $unit_text = "Bytes/s";
    } else {
        $units = "bps";
        $format = "bits";
        $unit_text = "Bits/s";
    }
}
if ($legend != 'no') {
    $rrd_options .= " COMMENT:'" . rrdtool_escape($unit_text, $descr_len) . "'";
    if (in_array("lst", $data_show)) {
        $rrd_options .= " COMMENT:'   Now'";
    }
    if (in_array("avg", $data_show)) {
        $rrd_options .= " COMMENT:'    Avg'";
    }
    if (in_array("min", $data_show)) {
        $rrd_options .= " COMMENT:'    Min'";
    }
    if (in_array("max", $data_show)) {
        $rrd_options .= " COMMENT:'    Max'";
    }
    if (in_array("tot", $data_show)) {
        $rrd_options .= " COMMENT:'  Total'";
    }
        $rrd_optionsb .= "'\\n' COMMENT:'\\n'";
    }
}
if ($vars['previous'] == "yes") {
    $thingX = implode(',', $rrd_multi['thingX']);
    $plusesX = str_repeat(',+', count($rrd_multi['thingX']) - 1);
    if (is_numeric($multiplier)) {
        $rrd_options .= " CDEF:X=" . $thingX . $plusesX . "," . $multiplier . ",*";
    } else {
        if (is_numeric($divider)) {
            $rrd_options .= " CDEF:X=" . $thingX . $plusesX . "," . $divider . ",/";
        } else {
            $rrd_options .= " CDEF:X=" . $thingX . $plusesX;
        }
    }
    $rrd_options .= " AREA:X#99999999:";
    $rrd_options .= " LINE1.25:X#666666:";
}
$rrd_options .= $rrd_optionsb;
if ($show_aggregate == TRUE) {
    $rrd_options .= " CDEF:aggregate=" . implode(',', $rrd_multi['aggregate']) . str_repeat(',+', count($rrd_multi['aggregate']) - 1);
    $rrd_options .= " LINE1.5:aggregate#000000:'" . rrdtool_escape("Aggregate", $descr_len) . "'";
    $rrd_options .= " GPRINT:aggregate:LAST:%5.1lf%s GPRINT:aggregate:MIN:%5.1lf%s";
    $rrd_options .= " GPRINT:aggregate:MAX:%5.1lf%s GPRINT:aggregate:AVERAGE:%5.1lf%s";
    $rrd_options .= "'\\n' COMMENT:'\\n'";
}
$rrd_options .= " HRULE:0#555555";
$rrd_options .= $rrd_optionsc;
// Clean
unset($rrd_multi, $thingX, $plusesX, $cstack, $bstack);
// EOF
$scale_min = "0";
$scale_max = "60";
include "includes/graphs/common.inc.php";
$rrd_options .= " COMMENT:'                          Min     Last   Max\\n'";
$rrd_options .= " DEF:sensor={$rrd_filename}:sensor:AVERAGE";
$rrd_options .= " DEF:sensor_max={$rrd_filename}:sensor:MAX";
$rrd_options .= " DEF:sensor_min={$rrd_filename}:sensor:MIN";
$rrd_options .= " CDEF:sensor_diff=sensor_max,sensor_min,-";
$rrd_options .= " AREA:sensor_min";
$rrd_options .= " AREA:sensor_diff#c5c5c5::STACK";
$rrd_options .= " LINE1.5:sensor#cc0000:'" . rrdtool_escape($sensor['sensor_descr'], 21) . "'";
$rrd_options .= " GPRINT:sensor_min:MIN:%4.1lfC";
$rrd_options .= " GPRINT:sensor:LAST:%4.1lfC";
$rrd_options .= " GPRINT:sensor_max:MAX:%4.1lfC\\\\l";
if (is_numeric($sensor['sensor_limit'])) {
    $rrd_options .= " HRULE:" . $sensor['sensor_limit'] . "#999999::dashes";
}
if (is_numeric($sensor['sensor_limit_low'])) {
    $rrd_options .= " HRULE:" . $sensor['sensor_limit_low'] . "#999999::dashes";
}
#wtfbroken code.
if ($_GET['previous'] == 'yes') {
    $rrd_options .= " DEF:sensorX={$rrd_filename}:sensor:AVERAGE:start=" . $prev_from . ":end=" . $from;
    $rrd_options .= " LINE1.5:sensorX#0000cc:'Prev " . rrdtool_escape($sensor['sensor_descr'], 18) . "'";
    $rrd_options .= " SHIFT:sensorX:{$period}";
    $rrd_options .= " GPRINT:sensorX{$current_id}:MIN:%5.2lfA";
    $rrd_options .= " GPRINT:sensorX:LAST:%5.2lfA";
    $rrd_options .= " GPRINT:sensorX:MAX:%5.2lfA\\\\l";
}
$graph_return = array('rrds' => array($rrd_filename), 'descr' => 'Temperature sensor measured in celsius.', 'valid_options');
}
if (!isset($multiplier)) {
    $multiplier = "8";
}
foreach ($rrd_list as $rrd) {
    if (!$config['graph_colours'][$colours_in][$iter] || !$config['graph_colours'][$colours_out][$iter]) {
        $iter = 0;
    }
    $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";
    }
    $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 ";
    $rrd_options .= " CDEF:inB" . $i . "=in" . $i . ",{$multiplier},* ";
    $rrd_options .= " CDEF:outB" . $i . "=out" . $i . ",{$multiplier},*";
    $rrd_options .= " CDEF:outB" . $i . "_neg=outB" . $i . ",-1,*";
    $rrd_options .= " CDEF:octets" . $i . "=inB" . $i . ",outB" . $i . ",+";
    if (!$args['nototal']) {
        $in_thing .= $seperator . $in . $i . ",UN,0," . $in . $i . ",IF";
        $out_thing .= $seperator . $out . $i . ",UN,0," . $out . $i . ",IF";
        $pluses .= $plus;
        $seperator = ",";
        $plus = ",+";
} else {
    $rows = dbFetchRows("SELECT * FROM `printersupplies` where `device_id` = ?", array($device['device_id']));
}
foreach ($rows as $supply) {
    // If colour was supplied by the device, pass it to the function, otherwise pass the description
    // and have the function try and figure it out from there.
    if ($supply['supply_colour'] != '') {
        $colour = toner_to_colour($supply['supply_colour'], $perc);
    } else {
        $colour = toner_to_colour($supply['supply_descr'], $perc);
    }
    // If no colour found by the toner to colour function, get one from the configured palette.
    if (!$colour['found']) {
        if (!$config['graph_colours'][$colours][$iter]) {
            $iter = 0;
        }
        $colour['left'] = $config['graph_colours'][$colours][$iter];
    }
    $hostname = get_device_by_device_id($supply['device_id']);
    $descr = rrdtool_escape($supply['supply_descr'], 16);
    $rrd_filename = get_rrd_path($device, "toner-" . $supply['supply_index'] . ".rrd");
    $supply_id = $supply['supply_id'];
    $rrd_options .= " DEF:level{$supply_id}={$rrd_filename}:level:AVERAGE";
    $rrd_options .= " LINE2:level{$supply_id}#" . $colour['left'] . ":'" . $descr . "'";
    $rrd_options .= " GPRINT:level{$supply_id}:LAST:'%5.0lf%%'";
    $rrd_options .= " GPRINT:level{$supply_id}:MIN:'%5.0lf%%'";
    $rrd_options .= " GPRINT:level{$supply_id}:MAX:%5.0lf%%\\l";
    $iter++;
    $colour['left'] = NULL;
}
// EOF
Beispiel #30
0
$hostname = gethostbyid($storage['device_id']);
$colour = 'CC0000';
$colour_area = 'ffaaaa';
$descr = rrdtool_escape($storage['storage_descr'], 12);
$percentage = round($storage['storage_perc'], 0);
$background = get_percentage_colours($percentage);
$rrd_options .= " DEF:used={$rrd_filename}:used:AVERAGE";
$rrd_options .= " DEF:free={$rrd_filename}:free:AVERAGE";
$rrd_options .= ' CDEF:size=used,free,+';
$rrd_options .= ' CDEF:perc=used,size,/,100,*';
$rrd_options .= ' AREA:perc#' . $background['right'] . ':';
$rrd_options .= ' LINE1.25:perc#' . $background['left'] . ":'{$descr}'";
$rrd_options .= ' GPRINT:size:LAST:%6.2lf%sB';
$rrd_options .= ' GPRINT:free:LAST:%6.2lf%sB';
$rrd_options .= " GPRINT:perc:LAST:%5.2lf%%\\\\n";
if ($_GET['previous']) {
    $descr = rrdtool_escape('Prev ' . $storage['storage_descr'], 12);
    $colour = '99999999';
    $colour_area = '66666666';
    $rrd_options .= " DEF:usedX={$rrd_filename}:used:AVERAGE:start=" . $prev_from . ':end=' . $from;
    $rrd_options .= " DEF:freeX={$rrd_filename}:free:AVERAGE:start=" . $prev_from . ':end=' . $from;
    $rrd_options .= " SHIFT:usedX:{$period}";
    $rrd_options .= " SHIFT:freeX:{$period}";
    $rrd_options .= ' CDEF:sizeX=usedX,freeX,+';
    $rrd_options .= ' CDEF:percX=usedX,sizeX,/,100,*';
    $rrd_options .= ' AREA:percX#' . $colour_area . ':';
    $rrd_options .= ' LINE1.25:percX#' . $colour . ":'{$descr}'";
    $rrd_options .= ' GPRINT:sizeX:LAST:%6.2lf%sB';
    $rrd_options .= ' GPRINT:freeX:LAST:%6.2lf%sB';
    $rrd_options .= " GPRINT:percX:LAST:%5.2lf%%\\\\n";
}