diff --git a/PNP/templates/piechart.check_naf.php b/PNP/templates/piechart.check_naf.php new file mode 100644 index 0000000..7123916 --- /dev/null +++ b/PNP/templates/piechart.check_naf.php @@ -0,0 +1,262 @@ + +# Copyright (c) 2011 Sebastian Harl +# +# Default Template used if no other template is found. + +# +### Helper functions +# + +require_once("check_naf_helper.php"); + +# +### Main loop +# + +$graphs = 0; + +##foreach ($this->DS as $KEY=>$VAL) { +while( count($this->DS) > 0 ) { + $VAL = array_shift($this->DS); + + if ($VAL['NAME'] == 'nacache_usage') { + $opt[$graphs]['title'] = "PAM cache usage on " . $this->MACRO['DISP_HOSTNAME']; + $opt[$graphs]['labels'] = array("PAM cache usage"); + + $ds_name[$graphs] = "PAM cache usage"; + + # this is an percentage + $def[$graphs] = array($VAL['ACT'], 100.0 - $VAL['ACT']); + + + } elseif (substr($VAL['NAME'], 0, 8) == 'nacache_') { + $o_hits = $VAL; + $o_miss = array_shift($this->DS); + $o_evict = array_shift($this->DS); + $o_inval = array_shift($this->DS); + $o_insert = array_shift($this->DS); + + $opt[$graphs]['title'] = "PAM ops/s on " . $this->MACRO['DISP_HOSTNAME']; + $opt[$graphs]['labels'] = array("hits", "miss", "evict", "inval", "insert"); + + $ds_name[$graphs] = "PAM ops/s"; + + $def[$graphs] = array($o_hits['ACT'], $o_miss['ACT'], $o_evict['ACT'], $o_inval['ACT'], $o_insert['ACT']); + + +# } elseif ($VAL['NAME'] == 'nacpu') { +# $opt[$graphs] = "--vertical-label % -l 0 -r --title \"CPU usage on "; +# $opt[$graphs] .= $this->MACRO['DISP_HOSTNAME'] . "\""; +# +# $ds_name[$graphs] = $VAL['LABEL']; +# +# $def[$graphs] = ""; +# $def[$graphs] .= rrd::def ("cpu_avg", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE"); +# $def[$graphs] .= rrd::def ("cpu_min", $VAL['RRDFILE'], $VAL['DS'], "MIN"); +# $def[$graphs] .= rrd::def ("cpu_max", $VAL['RRDFILE'], $VAL['DS'], "MAX"); +# +# $def[$graphs] .= rrd::area ("cpu_max", "#6666FFCC"); +# $def[$graphs] .= rrd::area ("cpu_min", "#FFFFFF"); +# $def[$graphs] .= rrd::line1 ("cpu_avg", "#0000FF", "CPU usage:"); +# +# $def[$graphs] .= wc($VAL); +# $def[$graphs] .= rrd::gprint ("cpu_avg", array("LAST","MAX","AVERAGE"), "%3.4lf %S".$VAL['UNIT']); +# +# +# } elseif ($VAL['NAME'] == 'nacs') { +# $opt[$graphs] = "--vertical-label \"Context Switches\" -l 0 -r --title \"Context switches on "; +# $opt[$graphs] .= $this->MACRO['DISP_HOSTNAME'] . "\""; +# +# $ds_name[$graphs] = $VAL['LABEL']; +# +# $def[$graphs] = ""; +# $def[$graphs] .= rrd::def ("cs_avg", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE"); +# $def[$graphs] .= rrd::def ("cs_min", $VAL['RRDFILE'], $VAL['DS'], "MIN"); +# $def[$graphs] .= rrd::def ("cs_max", $VAL['RRDFILE'], $VAL['DS'], "MAX"); +# +# $def[$graphs] .= rrd::area ("cs_max", "#FF6666CC"); +# $def[$graphs] .= rrd::area ("cs_min", "#FFFFFF"); +# $def[$graphs] .= rrd::line1 ("cs_avg", "#FF0000", "Context switches:"); +# +# $def[$graphs] .= wc($VAL); +# $def[$graphs] .= rrd::gprint ("cs_avg", array("LAST","MAX","AVERAGE"), "%3.4lf %S".$VAL['UNIT']); +# +# +# } elseif ($VAL['NAME'] == 'nadisk_total') { +# $d_t = $VAL; +# $d_a = array_shift($this->DS); +# $d_s = array_shift($this->DS); +# $d_f = array_shift($this->DS); +# +# $opt[$graphs] = "--vertical-label \"Disks\" -l 0 -r --title \"Disks on "; +# $opt[$graphs] .= $this->MACRO['DISP_HOSTNAME'] . "\""; +# +# $ds_name[$graphs] = "Disks"; +# +# $def[$graphs] = ""; +# $def[$graphs] .= rrd::def ("total", $d_t['RRDFILE'], $d_t['DS'], "MAX"); +# $def[$graphs] .= rrd::def ("active", $d_a['RRDFILE'], $d_a['DS'], "MIN"); +# $def[$graphs] .= rrd::def ("spare", $d_s['RRDFILE'], $d_s['DS'], "MIN"); +# $def[$graphs] .= rrd::def ("failed", $d_f['RRDFILE'], $d_f['DS'], "MAX"); +# +# $def[$graphs] .= rrd::line1 ("total", "#000000", "Disks total\: "); +# $def[$graphs] .= rrd::gprint ("total", "LAST", "%3.0lf %S\\n".$d_t['UNIT']); +# +# $def[$graphs] .= rrd::area ("active", "#0000FFEE", "Disks active\:"); +# $def[$graphs] .= rrd::gprint ("active", "LAST", "%3.0lf %S\\n".$d_a['UNIT']); +# +# $def[$graphs] .= rrd::area ("spare", "#77FF77CC", "Disks spare\: ", "STACK"); +# $def[$graphs] .= rrd::gprint ("spare", "LAST", "%3.0lf %S\\n".$d_s['UNIT']); +# +# $def[$graphs] .= rrd::area ("failed", "#FF3333", "Disks failed\:", "STACK"); +# $def[$graphs] .= rrd::gprint ("failed", "LAST", "%3.0lf %S\\n".$d_s['UNIT']); +# +# +# } elseif (substr($VAL['NAME'], 0, 5) == 'naio_') { +# $io1 = $VAL; +# $io2 = array_shift($this->DS); +# +# $type = substr($io1['NAME'], 5, 3); +# $name = 'UNKN'; +# $desc_r = 'Read '; +# $desc_w = 'Write'; +# if ($type == 'net') { +# $name = 'Net'; +# $desc_r = 'In '; +# $desc_w = 'Out'; +# } elseif ($type == 'dis') { +# $name = 'Disk'; +# } elseif ($type == 'tap') { +# $name = 'Tape'; +# } elseif ($type == 'fcp') { +# $name = 'Fibre channel'; +# } elseif ($type == 'isc') { +# $name = 'iSCSI'; +# } +# +# $opt[$graphs] = "--vertical-label \"Bytes/s\" --title \"" . $name . " I/O on "; +# $opt[$graphs] .= $this->MACRO['DISP_HOSTNAME'] . "\""; +# +# $ds_name[$graphs] = $io1['NAME'] . " + " . $io2['NAME']; +# +# $def[$graphs] = ""; +# $def[$graphs] .= rrd::def ("ior", $io1['RRDFILE'], $io1['DS'], "AVERAGE"); +# $def[$graphs] .= rrd::def ("iow", $io2['RRDFILE'], $io2['DS'], "AVERAGE"); +# +# $def[$graphs] .= rrd::area ("ior", "#00FF00", $desc_r . "\: "); +# $def[$graphs] .= rrd::gprint ("ior", array("LAST","MAX","AVERAGE"), "%7.2lf %SB/s"); +# +# $def[$graphs] .= rrd::line2 ("iow", "#0000FF", $desc_w . "\: "); +# $def[$graphs] .= rrd::gprint ("iow", array("LAST","MAX","AVERAGE"), "%7.2lf %SB/s"); +# +# +# } elseif (substr($VAL['NAME'], 0, 6) == 'naops_') { +# $o_nfs = $VAL; +# $o_cifs = array_shift($this->DS); +# $o_http = array_shift($this->DS); +# $o_fcp = array_shift($this->DS); +# $o_iscsi = array_shift($this->DS); +# +# $opt[$graphs] = "--vertical-label \"Ops/s\" -l 0 -r --title \"Ops/s on "; +# $opt[$graphs] .= $this->MACRO['DISP_HOSTNAME'] . "\""; +# +# $ds_name[$graphs] = "Ops/s"; +# +# $def[$graphs] = ""; +# $def[$graphs] .= rrd::def ("nfs", $o_nfs['RRDFILE'], $o_nfs['DS'], "AVERAGE"); +# $def[$graphs] .= rrd::def ("cifs", $o_cifs['RRDFILE'], $o_cifs['DS'], "AVERAGE"); +# $def[$graphs] .= rrd::def ("http", $o_http['RRDFILE'], $o_http['DS'], "AVERAGE"); +# $def[$graphs] .= rrd::def ("fcp", $o_fcp['RRDFILE'], $o_fcp['DS'], "AVERAGE"); +# $def[$graphs] .= rrd::def ("iscsi", $o_iscsi['RRDFILE'], $o_iscsi['DS'], "AVERAGE"); +# +# $def[$graphs] .= rrd::line1 ("nfs", "#000000", "NFS ops/s\: "); +# $def[$graphs] .= rrd::gprint ("nfs", array("LAST","MAX","AVERAGE"), "%7.2lf%Sops/s"); +# +# $def[$graphs] .= rrd::line1 ("cifs", "#00FFFF", "CIFS ops/s\: "); +# $def[$graphs] .= rrd::gprint ("cifs", array("LAST","MAX","AVERAGE"), "%7.2lf%Sops/s"); +# +# $def[$graphs] .= rrd::line1 ("http", "#7F0000", "HTTP ops/s\: "); +# $def[$graphs] .= rrd::gprint ("http", array("LAST","MAX","AVERAGE"), "%7.2lf%Sops/s"); +# +# $def[$graphs] .= rrd::line1 ("fcp", "#00FF00", "FCP ops/s\: "); +# $def[$graphs] .= rrd::gprint ("fcp", array("LAST","MAX","AVERAGE"), "%7.2lf%Sops/s"); +# +# $def[$graphs] .= rrd::line1 ("iscsi", "#0000FF", "iSCSI ops/s\: "); +# $def[$graphs] .= rrd::gprint ("iscsi", array("LAST","MAX","AVERAGE"), "%7.2lf%Sops/s"); + + + } elseif (substr($VAL['NAME'], 0, 6) == 'navdu_') { + $v_du = $VAL; + $v_dt = array_shift($this->DS); + $v_su = array_shift($this->DS); + $v_st = array_shift($this->DS); + + $opt[$graphs]['title'] = substr($VAL['NAME'], 6) . " on " . $this->MACRO['DISP_HOSTNAME']; + $opt[$graphs]['labels'] = array("used", "free", "over resv.", "free snap", "used snap"); + $opt[$graphs]['colors'] = array("#AAAAAA", "#00FF00", "#AA0000", "#00FFFF", "#0000CC"); + + $ds_name[$graphs] = "Volume " . substr($VAL['NAME'], 6); + + $du = $v_du['ACT']; + $dt = $v_dt['ACT']; + $supo = $v_su['ACT']; + $st = $v_st['ACT']; + + $sf = ($supo <= $st) ? $st - $supo : 0; + $su = ($supo > $st) ? $st : $supo; + $so = ($supo > $st) ? $supo - $st : 0; + $df = $dt - $du - $so; + + $def[$graphs] = array($du, $df, $so, $sf, $su); + + + + } elseif (substr($VAL['NAME'], 0, 6) == 'naviu_') { + $v_iu = $VAL; + $v_it = array_shift($this->DS); + + $opt[$graphs]['title'] = "INode usage on " . $this->MACRO['DISP_HOSTNAME']; + $opt[$graphs]['labels'] = array("used", ""); + + $ds_name[$graphs] = "INode usage on " . substr($VAL['NAME'], 6); + + $def[$graphs] = array($v_iu['ACT'], $v_it['ACT'] - $v_iu['ACT']); + + + } else { + $values = array(); + $labels = array(); + $value = -1; + + if ($VAL['MIN'] != "") { + $value = $VAL['ACT'] - $VAL['MIN']; + } + else { + $value - $VAL['ACT']; + } + array_push($values, $value); + array_push($labels, $VAL['LABEL']); + + if ($VAL['MAX'] != "") { + $value = $VAL['MAX'] - $VAL['ACT']; + array_push($values, $value); + array_push($labels, ""); + } + elseif ($VAL['UNIT'] == "%%") { + $value = 100.0 - $VAL['ACT']; + array_push($values, $value); + array_push($labels, ""); + } + + $def[$KEY] = $values; + $opt[$KEY]['title'] = $this->MACRO['DISP_HOSTNAME'] . ' / ' . $this->MACRO['DISP_SERVICEDESC']; + $opt[$KEY]['labels'] = $labels; + $ds_name[$graphs] = $VAL['LABEL']; + } // default + + $graphs++; +} +?>