MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.
 
  You should have received a copy of the GNU General Public License
  along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
//$fp = fopen('/tmp/test', 'a');
//ob_start();
//print_r($this->DS);
$fmt = '%4.2lf';
$unit = 'B';
// Array remap
foreach ($this->DS as $key => $value) {
    $ds[$value['NAME']] = $value;
}
$max = pnp::adjust_unit($ds['real_used']['MAX'], 1024, $fmt);
$upper = "-u {$max['1']}";
$unit_scale = $max[2];
$divis = $max[3];
$opt[1] = "--vertical-label {$unit_scale} -l 0 {$upper} --title \"RAM usage for {$hostname}\" ";
$def[1] = rrd::def("var1", $ds['real_used']['RRDFILE'], $ds['real_used']['DS']);
$def[1] .= rrd::def("var2", $ds['total']['RRDFILE'], $ds['total']['DS']);
$def[1] .= rrd::def("var3", $ds['shared']['RRDFILE'], $ds['shared']['DS']);
$def[1] .= rrd::def("var4", $ds['buffered']['RRDFILE'], $ds['buffered']['DS']);
$def[1] .= rrd::def("var5", $ds['cached']['RRDFILE'], $ds['cached']['DS']);
$def[1] .= rrd::def("var6", $ds['free']['RRDFILE'], $ds['free']['DS']);
$def[1] .= rrd::def("var7", $ds['swap_total']['RRDFILE'], $ds['swap_total']['DS']);
$def[1] .= rrd::def("var8", $ds['swap_free']['RRDFILE'], $ds['swap_free']['DS']);
$def[1] .= rrd::cdef("v_real_used", "var1,{$divis},/");
$def[1] .= rrd::cdef("v_total", "var2,{$divis},/");
$def[1] .= rrd::cdef("v_shared", "var3,{$divis},/");
# Graph Definitions
$def[1] = rrd::def("var1", $DS_mem['RRDFILE'], $DS_mem['DS']);
$def[1] .= rrd::def("var2", $DS_pool['RRDFILE'], $DS_pool['DS']);
# "normalize" graph values
$divis = $max[3];
$def[1] .= rrd::cdef("v_n", "var1,{$divis},/");
$def[1] .= rrd::cdef("v_pool", "var2,{$divis},/");
$def[1] .= rrd::gradient("v_n", "00FF33", "339900", $DS_mem['NAME']);
$def[1] .= rrd::line1("v_n", "#003300");
$def[1] .= rrd::gprint("v_n", array("LAST", "MAX", "AVERAGE"), "{$fmt} {$unit}");
$def[1] .= rrd::gradient("v_pool", "00FFDD", "3399DD", $DS_pool['NAME']);
$def[1] .= rrd::line1("v_pool", "#003300");
$def[1] .= rrd::gprint("v_pool", "LAST", "{$fmt} {$unit}\\n");
# create max line and legend
//$def[1] .= rrd::gprint("v_n", "MAX", "$fmt $unit max used \\n");
$def[1] .= rrd::hrule($max[1], "#003300", "Max size ({$max['0']}) \\n");
# create warning line and legend
$warn = pnp::adjust_unit($DS_mem['WARN'] . $unit, 1024, $fmt);
$def[1] .= rrd::hrule($warn[1], "#ffff00", "Warning ({$warn['0']}) \\n");
# create critical line and legend
$crit = pnp::adjust_unit($DS_mem['CRIT'] . $unit, 1024, $fmt);
$def[1] .= rrd::hrule($crit[1], "#ff0000", "Critical ({$crit['0']})\\n");
# Create pool line and legend
## Legend header
#$def[1] .= rrd::gprint("v_n", "MAX", "Max used \: $fmt $unit\\t");
#$def[1] .= rrd::gprint("v_n", "AVERAGE", "Average used \: $fmt $unit\\n");
//print_r($def[1]);
// Debug
//$content = ob_get_clean();
//fwrite($fp, "$content\n");
//fclose($fp);
Exemple #3
0
        $divis = $max[3];
        $return = '';
    }
    $ds_name[$KEY] = str_replace("_", "/", $VAL['NAME']);
    # set graph labels
    $opt[$KEY] = "--vertical-label {$label} -l 0 {$upper} --title \"Filesystem {$ds_name[$KEY]}\" ";
    # Graph Definitions
    $def[$KEY] = rrd::def("var1", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE");
    # "normalize" graph values
    $def[$KEY] .= rrd::cdef("v_n", "var1,{$divis},/");
    $def[$KEY] .= rrd::area("v_n", "#c6c6c6", $ds_name[$KEY]);
    $def[$KEY] .= rrd::line1("v_n", "#003300");
    # show values in legend
    $def[$KEY] .= rrd::gprint("v_n", "LAST", "{$fmt} {$label}{$pct} {$maximum} ");
    $def[$KEY] .= rrd::gprint("v_n", "AVERAGE", "{$fmt} {$label}{$pct} avg used {$return}");
    # create max line and legend
    if ($VAL['MAX'] != "") {
        $def[$KEY] .= rrd::gprint("v_n", "MAX", "{$fmt} {$label}{$pct} max used \\n");
        $def[$KEY] .= rrd::hrule($max[1], "#003300", "Size of FS  {$max['0']} \\n");
    }
    # create warning line and legend
    if ($VAL['WARN'] != "") {
        $warn = pnp::adjust_unit($VAL['WARN'] . $unit, 1024, $fmt);
        $def[$KEY] .= rrd::hrule($warn[1], "#ffff00", "Warning  on {$warn['0']} \\n");
    }
    # create critical line and legend
    if ($VAL['CRIT'] != "") {
        $crit = pnp::adjust_unit($VAL['CRIT'] . $unit, 1024, $fmt);
        $def[$KEY] .= rrd::hrule($crit[1], "#ff0000", "Critical on {$crit['0']}\\n");
    }
}
  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.
 
  You should have received a copy of the GNU General Public License
  along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
//$fp = fopen('/tmp/test', 'a');
//ob_start();
$DS_in = $this->DS[0];
$DS_out = $this->DS[1];
$unit = 'B';
$fmt = "%6.2lf";
$max_in = pnp::adjust_unit($DS_in['ACT'] . $unit, 1024, $fmt);
$max_out = pnp::adjust_unit($DS_out['ACT'] . $unit, 1024, $fmt);
$max = $max_in;
$opt[1] = "--slope-mode --vertical-label \"bytes/s\" -u {$max['1']} -l0 --title \"Interface traffic / {$hostname}\"";
$divis = $max[3];
$def[1] = rrd::def("var1", $DS_in['RRDFILE'], $DS_in['DS'], "AVERAGE");
$def[1] .= rrd::def("var2", $DS_out['RRDFILE'], $DS_out['DS'], "AVERAGE");
$def[1] .= rrd::cdef("v_in", "var1,-1,*");
$def[1] .= rrd::cdef("v_out", "var2,1,*");
$def[1] .= rrd::cdef("v_in_f", "var1,1024,/");
// KiB
$def[1] .= rrd::cdef("v_out_f", "var2,1024,/");
// KiB
$def[1] .= rrd::gradient("v_out", "#33CCFF", "#0000FF", $DS_out['NAME']);
$def[1] .= rrd::gprint("v_out_f", array("LAST", "AVERAGE", "MAX"), "{$fmt} KiB/s");
$def[1] .= rrd::gradient("v_in", "#FFCC66", "#FF0000", $DS_in['NAME']);
$def[1] .= rrd::gprint("v_in_f", array("LAST", "AVERAGE", "MAX"), "{$fmt} KiB/s");