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);
$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");