$def[2] .= rrd::line1("var" . $KEY, rrd::color($KEY), rrd::cut($dsname, 12)); $def[2] .= rrd::gprint("var" . $KEY, array("LAST", "MAX", "AVERAGE"), "%3.2lf %SM"); } if (preg_match('/^select$/', $VAL['NAME'])) { $ds_name[$defcnt] = "Output from sql-query for {$servicedesc}"; $opt[$defcnt] = "--vertical-label \"Counts\" --title \"Output from sql-query for {$servicedesc} on {$hostname}\" "; $def[$defcnt] = ""; $def[$defcnt] .= rrd::def("var" . $KEY, $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST"); $def[$defcnt] .= rrd::area("var" . $KEY, "#111111"); $def[$defcnt] .= rrd::gprint("var" . $KEY, array("LAST", "MAX", "AVERAGE"), "%3.2lf Counts"); $defcnt++; } if (preg_match('/^(.*)bck_age$/', $VAL['NAME'])) { $ds_name[$defcnt] = "Last DB Backup"; $opt[$defcnt] = "--vertical-label \"Hours\" --title \"Last DB Backup\" "; $def[$defcnt] = ""; $def[$defcnt] .= rrd::def("var" . $KEY, $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST"); $def[$defcnt] .= rrd::area("var" . $KEY, "#111111"); $def[$defcnt] .= rrd::gprint("var" . $KEY, array("LAST", "MAX", "AVERAGE"), "%3.2lf Counts"); $defcnt++; } if (preg_match('/^sql_runtime$/', $VAL['NAME'])) { $ds_name[$defcnt] = "SQL runtime"; $opt[$defcnt] = "--vertical-label \"Seconds\" --title \"Execution time of the SQL statement\" "; $def[$defcnt] = ""; $def[$defcnt] .= rrd::def("runtime", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST"); $def[$defcnt] .= rrd::area("runtime", "#111111"); $def[$defcnt] .= rrd::gprint("runtime", array("LAST", "MAX", "AVERAGE"), "%3.2lf Seconds"); $defcnt++; } }
# 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, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # # $Id$ # $opt[1] = "--vertical-label \"bits per second\" --title \"Traffic {$hostname} / {$servicedesc}\" "; $opt[2] = "--vertical-label \"errors per second\" --title \"Error {$hostname} / {$servicedesc}\" "; $ds_name[1] = "Traffic"; $ds_name[2] = "Error"; $def[1] = rrd::def("ifInOctets", $RRDFILE[1], $DS[1], "AVERAGE"); $def[1] .= rrd::def("ifOutOctets", $RRDFILE[3], $DS[3], "AVERAGE"); $def[1] .= rrd::def("ifSpeed", $RRDFILE[5], $DS[5], "AVERAGE"); $def[1] .= rrd::vdef('ifSpeedLast', 'ifSpeed,LAST'); $def[2] = rrd::def("ifInErrors", $RRDFILE[2], $DS[2], "AVERAGE"); $def[2] .= rrd::def("ifOutErrors", $RRDFILE[4], $DS[4], "AVERAGE"); $def[1] .= rrd::hrule("ifSpeedLast", "#000000", rrd::cut("Speed", 10)); $def[1] .= rrd::gprint("ifSpeed", array("LAST"), "%6.2lf%sbit/s"); $def[1] .= rrd::area("ifInOctets", "#00FF00", rrd::cut("Inbound", 10)); $def[1] .= rrd::gprint("ifInOctets", array("LAST", "MAX", "AVERAGE"), "%6.2lf%sbit/s"); $def[1] .= rrd::line1("ifOutOctets", "#0000FF", rrd::cut("Outbound", 10)); $def[1] .= rrd::gprint("ifOutOctets", array("LAST", "MAX", "AVERAGE"), "%6.2lf%sbit/s"); $def[2] .= rrd::area("ifInErrors", "#800000", rrd::cut("Inbound", 10)); $def[2] .= rrd::gprint("ifInErrors", array("LAST", "MAX", "AVERAGE"), "%4.2lf%s errors/s"); $def[2] .= rrd::area("ifOutErrors", "#FF0000", rrd::cut("Outbound", 10), true); $def[2] .= rrd::gprint("ifOutErrors", array("LAST", "MAX", "AVERAGE"), "%4.2lf%s errors/s"); # vim: set ts=4 sw=4 et syn=php :
} # # Bytes per Second # $i++; $def[$i] = ""; $opt[$i] = " --title 'Bytes per Second'"; $ds_name[$i] = "Bytes/s"; $regex = '/BytesPerSec/'; foreach ($this->DS as $KEY => $VAL) { if (preg_match($regex, $VAL['NAME'])) { $def[$i] .= rrd::def("var" . $KEY, $VAL['RRDFILE'], $VAL['DS'], "AVERAGE"); $def[$i] .= rrd::line1("var" . $KEY, rrd::color($KEY), rrd::cut($VAL['NAME'], 16), 'STACK'); $def[$i] .= rrd::gprint("var" . $KEY, array("LAST", "MAX", "AVERAGE"), "%6.1lf %sb/s"); } } # # Stats # $i++; $def[$i] = ""; $opt[$i] = " --title 'Worker States'"; $ds_name[$i] = "Worker States"; $regex = '/Starting|DNS|Reading|Sending|Keepalive|Closing|Logging|Finishing/'; foreach ($this->DS as $KEY => $VAL) { if (preg_match($regex, $VAL['NAME'])) { $def[$i] .= rrd::def("var" . $KEY, $VAL['RRDFILE'], $VAL['DS'], "AVERAGE"); $def[$i] .= rrd::line1("var" . $KEY, rrd::color($KEY), rrd::cut($VAL['NAME'], 16), 'STACK'); $def[$i] .= rrd::gprint("var" . $KEY, array("LAST", "MAX", "AVERAGE"), "%6.0lf" . $VAL['UNIT']); } }
<?php /* adminutils - Scripts and resources for admins Copyright (C) 2012 nmaupu_at_gmail_dot_com This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 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/>. */ $DS_time = $this->DS[0]; $DS_status = $this->DS[1]; $opt[1] = "-l0 --title \"{$hostname} / Openoffice server\" "; $def[1] = rrd::def("var1", $DS_time['RRDFILE'], $DS_time['DS']); $def[1] .= rrd::def("var2", $DS_status['RRDFILE'], $DS_status['DS']); $def[1] .= rrd::gradient("var1", "#00FFFF", "#0000FF", "Time"); $def[1] .= rrd::gprint("var1", array("LAST", "AVERAGE", "MIN", "MAX"), "%4.2lfs"); $def[1] .= rrd::ticker("var2", 2, 1, -0.05, "ff", "#00ff00", "#ff8c00", "#ff0000");
<?php # # Copyright (c) 2006-2010 Joerg Linge (http://www.pnp4nagios.org) # Plugin: check_iostat.php # # $ds_name[1] = "check iostat"; $opt[1] = "--lower-limit 0 --vertical-label \"check iostat\" --title \"check iostat\" "; $def[1] = rrd::def("var1", $RRDFILE[1], $DS[1], "AVERAGE"); $def[1] .= rrd::gradient("var1", "ff5c00", "ffdc00", "check iostat", 10); $def[1] .= rrd::gprint("var1", array("LAST", "MAX", "AVERAGE"), "%.0lf {$UNIT['1']}"); $def[1] .= rrd::line1("var1", "#000000"); if ($WARN[1] != "") { if ($UNIT[1] == "%%") { $UNIT[1] = "%"; } $def[1] .= rrd::hrule($WARN[1], "#FFFF00", "Warning " . $WARN[1] . $UNIT[1] . "\\n"); } if ($CRIT[1] != "") { if ($UNIT[1] == "%%") { $UNIT[1] = "%"; } $def[1] .= rrd::hrule($CRIT[1], "#FF0000", "Critical " . $CRIT[1] . $UNIT[1] . "\\n"); }
function prep_name($name) { return rrd::cut(ucwords(str_replace('_', ' ', $name)), 15); }
} else { $vlabel = $VAL['UNIT']; } $opt[$KEY] = '--vertical-label "' . $vlabel . '" --title "' . $this->MACRO['DISP_HOSTNAME'] . ' / ' . $this->MACRO['DISP_SERVICEDESC'] . '"' . $upper . $lower; $ds_name[$KEY] = $VAL['LABEL']; $def[$KEY] = rrd::def("var1", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE"); $def[$KEY] .= rrd::gradient("var1", "3152A5", "BDC6DE", rrd::cut($VAL['NAME'], 16), 20); $def[$KEY] .= rrd::line1("var1", $_LINE); $def[$KEY] .= rrd::gprint("var1", array("LAST", "MAX", "AVERAGE"), "%3.4lf %S" . $VAL['UNIT']); if ($warning != "") { $def[$KEY] .= rrd::hrule($warning, $_WARNRULE, "Warning {$warning} \\n"); } if ($warn_min != "") { $def[$KEY] .= rrd::hrule($warn_min, $_WARNRULE, "Warning (min) {$warn_min} \\n"); } if ($warn_max != "") { $def[$KEY] .= rrd::hrule($warn_max, $_WARNRULE, "Warning (max) {$warn_max} \\n"); } if ($critical != "") { $def[$KEY] .= rrd::hrule($critical, $_CRITRULE, "Critical {$critical} \\n"); } if ($crit_min != "") { $def[$KEY] .= rrd::hrule($crit_min, $_CRITRULE, "Critical (min) {$crit_min} \\n"); } if ($crit_max != "") { $def[$KEY] .= rrd::hrule($crit_max, $_CRITRULE, "Critical (max) {$crit_max} \\n"); } $def[$KEY] .= rrd::comment("Default Template\\r"); $def[$KEY] .= rrd::comment("Command " . $VAL['TEMPLATE'] . "\\r"); } }
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # $VALUE_COUNT = 4; $name = $NAME; asort($name); $c = count($name); if ($c % $VALUE_COUNT != 0) { exit; } $interface_count = $c / $VALUE_COUNT; for ($i = 0; $i < $interface_count; $i++) { $index = $i * $VALUE_COUNT + 1; list($interface, $data_type) = explode(".", $name[$index + 2]); $interface = str_replace(";", "", $interface); $opt[$index + 1] = "--vertical-label \"Speed in Gbps\" -X 0 -l 0 -u 1 --title \"Network Interface Load for {$hostname} / {$interface}\" "; $ds_name[$index + 1] = "{$interface}:: Receiving and "; $def[$index + 1] = rrd::def("value1", $RRDFILE[$index + 2], $DS[$index + 2], "AVERAGE"); $def[$index + 1] .= rrd::cdef("value2", "value1,125000,/"); $def[$index + 1] .= rrd::line1("value2", "#008000", "Receiving "); $def[$index + 1] .= rrd::gprint("value2", array("LAST", "AVERAGE", "MAX"), "%6.4lf Gbps"); list($interface, $data_type) = explode(".", $name[$index + 3]); $interface = str_replace(";", "", $interface); $ds_name[$index + 1] .= "Transmission speed"; $def[$index + 1] .= rrd::def("value3", $RRDFILE[$index + 3], $DS[$index + 3], "AVERAGE"); $def[$index + 1] .= rrd::cdef("value4", "value3,125000,/"); $def[$index + 1] .= rrd::line1("value4", "#0000ff", "Transmission "); $def[$index + 1] .= rrd::gprint("value4", array("LAST", "AVERAGE", "MAX"), "%6.4lf Gbps"); $def[$index + 1] .= rrd::comment(" \\n"); $def[$index + 1] .= rrd::comment(" \\n"); $def[$index + 1] .= rrd::comment(" \\n"); }
<?php $alpha = 'CC'; $colors = array('#00FF00' . $alpha, '#0000FF' . $alpha); $ds_name[1] = 'Duplication'; $opt[1] = "-T 55 --vertical-label \"Percent\" --title \"{$hostname} / PuppetDB Duplication\""; $def[1] = ''; foreach ($DS as $i) { $def[1] .= rrd::def("var{$i}", $rrdfile, $DS[$i], 'AVERAGE'); $def[1] .= rrd::line2("var{$i}", $colors[$i - 1], rrd::cut(ucfirst($NAME[$i]), 15)); $def[1] .= rrd::gprint("var{$i}", array('LAST', 'AVERAGE', 'MAX'), "%4.2lf %s\\t"); }
$def[4] .= "GPRINT:use_perc:AVERAGE:\" (%2.1lf%%) Avg\\n\" "; $def[4] .= rrd::area("free_mb", "#00FFFF", "Free Memory ", "STACK"); $def[4] .= "GPRINT:free_mb:LAST:\"%6.1lfMB \\g\" "; $def[4] .= "GPRINT:free_perc:LAST:\" (%2.1lf%%) Last\" "; $def[4] .= "GPRINT:free_mb:MAX:\"%6.1lfMB \\g\" "; $def[4] .= "GPRINT:free_perc:MAX:\" (%2.1lf%%) Max\" "; $def[4] .= "GPRINT:free_mb:AVERAGE:\"%6.1lfMB \\g\" "; $def[4] .= "GPRINT:free_perc:AVERAGE:\" (%2.1lf%%) Avg\\n\" "; $def[4] .= rrd::comment("= Total Memory"); $def[4] .= "GPRINT:total_mb:LAST:\"%6.1lfMB\\n\" "; $ds_name[5] = "Data Items Store"; $opt[5] = "--vertical-label \"# items\" --title \"{$servicedesc} Data Items on {$hostname}\" "; $def[5] = rrd::def("curr_items", $RRDFILE[8], $DS[8], "AVERAGE"); $def[5] .= rrd::def("total_items", $RRDFILE[17], $DS[17], "AVERAGE"); $def[5] .= rrd::area("total_items", "#00FF00", "Items Added Per Sec"); $def[5] .= rrd::gprint("total_items", array("LAST", "MAX", "AVERAGE"), "%3.0lf "); $def[5] .= rrd::comment("- Total Current Items "); $def[5] .= rrd::gprint("curr_items", array("LAST"), "%6.0lf "); $ds_name[6] = "CPU Use"; $opt[6] = "--vertical-label \"cpu time in msec\" --title \"CPU Time Use for {$servicedesc} on {$hostname}\" "; $def[6] = rrd::def("rusage_system", $RRDFILE[10], $DS[10], "AVERAGE"); $def[6] .= rrd::def("rusage_user", $RRDFILE[19], $DS[19], "AVERAGE"); $def[6] = rrd::def("rusage_system_ms", $RRDFILE[24], $DS[24], "AVERAGE"); $def[6] .= rrd::def("rusage_user_ms", $RRDFILE[23], $DS[23], "AVERAGE"); $def[6] .= rrd::cdef("rusage_system_graph", "rusage_system_ms,1024,/"); $def[6] .= rrd::cdef("rusage_user_graph", "rusage_user_ms,1024,/"); $def[6] .= rrd::area("rusage_system_graph", "#FFFF00", "CPU System Mode Time"); $def[6] .= rrd::gprint("rusage_system_graph", array("LAST", "MAX", "AVERAGE"), "%3.2lf msec "); $def[6] .= rrd::area("rusage_user_graph", "#00FF00", "CPU User Mode Time ", "STACK"); $def[6] .= rrd::gprint("rusage_user_graph", array("LAST", "MAX", "AVERAGE"), "%3.2lf msec ");
$def[$i] .= rrd::gprint("var" . $KEY, array("LAST", "MAX", "AVERAGE"), "%6.1lf %sb/s"); } } } # # all other graphs # $i++; foreach ($this->DS as $KEY => $VAL) { if (!preg_match('/(^State_)|(^ReqPerSec)|(^BytesPerSec)|(^Uptime)/', $VAL['NAME'])) { $def[$i] = ""; $opt[$i] = " --title '{$hostname}: Apache - " . $VAL['NAME'] . " ' -l 0"; $ds_name[$i] = $VAL['NAME']; $def[$i] .= rrd::def("var" . $KEY, $VAL['RRDFILE'], $VAL['DS'], "AVERAGE"); $def[$i] .= rrd::line1("var" . $KEY, rrd::color($KEY), rrd::cut($VAL['NAME'], 16), 'STACK'); $def[$i] .= rrd::gprint("var" . $KEY, array("LAST", "MAX", "AVERAGE"), "%6.1lf"); $i++; } } # # Uptime Graph # $opt[$i] = "--vertical-label 'Uptime (d)' -l0 --title \"Uptime (time since last reboot)\" "; $def[$i] = ""; $def[$i] .= rrd::def("sec", $RRDFILE[1], $DS[1], "MAX"); $ds_name[$i] = $LABEL[1]; $def[$i] .= "CDEF:uptime=sec,86400,/ "; $def[$i] .= "AREA:uptime#80f000:\"Uptime (days)\" "; $def[$i] .= "LINE:uptime#408000 "; $def[$i] .= "GPRINT:uptime:LAST:\"%7.2lf %s LAST\" "; $def[$i] .= "GPRINT:uptime:MAX:\"%7.2lf %s MAX\" ";
<?php $_WARNRULE = '#FFFF00'; $_CRITRULE = '#FF0000'; $_AREA = '#256aef'; $_LINE = '#3152A5'; $_MAXRULE = '#000000'; $colors = array("#FF0000", "#336600", "#6600FF", "#FF3300", "#339900", "#6633FF", "#FF6600", "#6600FF", "#6666FF", "#FF9900", "#33FF00", "#6699FF", "#FFCC00", "#33FF33", "#66CCFF", "#FFFF00", "#66CC00", "#66FFFF"); $j = 0; $opt[1] = '--slope-mode -l0 --title "' . $this->MACRO['DISP_HOSTNAME'] . ' / ' . $this->MACRO['DISP_SERVICEDESC'] . '"'; $def[1] = ''; # Debugging Code # throw new Kohana_exception(print_r($this->DS,true)); # sort by ACT (Last) Value. Highest Value goes into Background. usort($this->DS, function ($a, $b) { return $b['ACT'] - $a['ACT']; }); foreach ($this->DS as $KEY => $VAL) { $def[1] .= rrd::def("var{$KEY}", $this->DS[$KEY]['RRDFILE'], $this->DS[$KEY]['DS'], "AVERAGE"); $def[1] .= rrd::area("var{$KEY}", $colors[$j] . "70", rrd::cut($this->DS[$KEY]["NAME"], 40)); $def[1] .= rrd::line1("var{$KEY}", "#000"); $def[1] .= rrd::gprint("var{$KEY}", array("AVERAGE", "MAX", "LAST"), "%5.0lf"); $j++; }
if (preg_match('/^(.*?)_usage_in/', $NAME[$i])) { $interface = preg_replace('/_.*$/', '', $LABEL[$i]); $ds_name[$num] = $interface . ' usage'; $opt[$num] = "--vertical-label \"Usage\" -l 0 -u 100 --title \"Interface Usage for {$hostname} - " . $interface . "\" "; $def[$num] = "DEF:percin={$RRDFILE[$i]}:{$DS[$i]}:AVERAGE "; $def[$num] .= "DEF:percout=" . $RRDFILE[$i + 1] . ":" . $DS[$i + 1] . ":AVERAGE "; $def[$num] .= "LINE2:percin#00e060:\"in\t\" "; $def[$num] .= "GPRINT:percin:LAST:\"%10.1lf %% last\" "; $def[$num] .= "GPRINT:percin:AVERAGE:\"%7.1lf %% avg\" "; $def[$num] .= "GPRINT:percin:MAX:\"%7.1lf %% max\\n\" "; $def[$num] .= "LINE2:percout#0080e0:\"out\t\" "; $def[$num] .= "GPRINT:percout:LAST:\"%10.1lf %% last\" "; $def[$num] .= "GPRINT:percout:AVERAGE:\"%7.1lf %% avg\" "; $def[$num] .= "GPRINT:percout:MAX:\"%7.1lf %% max\"\\n "; $def[$num] .= rrd::hrule($WARN[$i], $_WARNRULE); $def[$num] .= rrd::hrule($CRIT[$i], $_CRITRULE); $num++; } # eth0_traffic_in / out # GigabitEthernet 0/0_traffic_in / out if (preg_match('/^(.*?)_traffic_in/', $NAME[$i])) { $interface = preg_replace('/_.*$/', '', $LABEL[$i]); $ds_name[$num] = $interface . ' traffic'; $opt[$num] = "--vertical-label \"Traffic\" -b 1024 --title \"Interface Traffic for {$hostname} - {$interface}\" "; $def[$num] = "DEF:bitsin={$RRDFILE[$i]}:{$DS[$i]}:AVERAGE "; $def[$num] .= "DEF:bitsout=" . $RRDFILE[$i + 1] . ":" . $DS[$i + 1] . ":AVERAGE "; $def[$num] .= "AREA:bitsin#00e060:\"in\t\" "; $def[$num] .= "GPRINT:bitsin:LAST:\"%10.1lf %Sb/s last\" "; $def[$num] .= "GPRINT:bitsin:AVERAGE:\"%7.1lf %Sb/s avg\" "; $def[$num] .= "GPRINT:bitsin:MAX:\"%7.1lf %Sb/s max\\n\" "; $def[$num] .= "CDEF:bitsminusout=0,bitsout,- ";
$def[1] .= "DEF:mem_cache={$RRDFILE['1']}:{$DS['3']}:AVERAGE "; # Buffer $def[1] .= "DEF:mem_buffer={$RRDFILE['1']}:{$DS['4']}:AVERAGE "; # Memory Cache $def[1] .= rrd::cdef("mem_cache_tmp", "mem_cache,mem_buffer,+,mem_used,+"); $def[1] .= rrd::area("mem_cache_tmp", "#DCDDD5", "Disk Cache"); $def[1] .= "GPRINT:mem_cache:LAST:\"%3.2lf %sB Last \" "; $def[1] .= "GPRINT:mem_cache:MAX:\"%3.2lf %sB Max \" "; $def[1] .= "GPRINT:mem_cache" . ':AVERAGE:"%3.2lf %sB Average \\j" '; # Memory Buffer $def[1] .= rrd::cdef("mem_buffer_tmp", "mem_buffer,mem_used,+"); $def[1] .= rrd::area("mem_buffer_tmp", "#3E606F", "I/O Buffers"); $def[1] .= "GPRINT:mem_buffer:LAST:\"%3.2lf %sB Last \" "; $def[1] .= "GPRINT:mem_buffer:MAX:\"%3.2lf %sB Max \" "; $def[1] .= "GPRINT:mem_buffer" . ':AVERAGE:"%3.2lf %sB Average \\j" '; # Memory Used $def[1] .= rrd::area("mem_used", "#193441", "Processes"); $def[1] .= "GPRINT:mem_used:LAST:\"%3.2lf %sB Last \" "; $def[1] .= "GPRINT:mem_used:MAX:\"%3.2lf %sB Max \" "; $def[1] .= "GPRINT:mem_used" . ':AVERAGE:"%3.2lf %sB Average \\j" '; # Memory Total $def[1] .= rrd::line1("mem_total", "#000000", "Total"); $def[1] .= "GPRINT:mem_total:LAST:\"%3.2lf %sB Last \" "; $def[1] .= "GPRINT:mem_total:MAX:\"%3.2lf %sB Max \" "; $def[1] .= "GPRINT:mem_total" . ':AVERAGE:"%3.2lf %sB Average \\j" '; if ($WARN[2] != "") { $def[1] .= "HRULE:{$WARN['2']}#ffff00:\"Warning threshold for Processes\\j\" "; } if ($CRIT[2] != "") { $def[1] .= "HRULE:{$CRIT['2']}#ff0000:\"Critical threshold for Processes\" "; }
# http://labs.consol.de/nagios/mod-gearman # $i = 0; $color['waiting'] = '#F46312'; $color['running'] = '#0354E4'; $color['worker'] = '#00C600'; foreach ($this->DS as $KEY => $VAL) { if (preg_match('/(.*)_([^_].*)$/', $VAL['LABEL'], $matches)) { $queue = $matches[1]; $state = $matches[2]; if ($state == "waiting") { $i++; $opt[$i] = ''; $def[$i] = ''; } $opt[$i] = "-l0 --title \"Gearman Queue '{$queue}'\" "; # $ds_name[$i] = "{$queue}"; $def[$i] .= rrd::def("var{$KEY}", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE"); $def[$i] .= rrd::line1("var{$KEY}", $color[$state], rrd::cut($state, 16)); $def[$i] .= rrd::gprint("var{$KEY}", array('LAST', 'MAX', 'AVERAGE'), "%6.2lf" . $VAL['UNIT']); } else { $i++; $opt[$i] = "-l0 --title \"Gearman Statistics\" "; # $ds_name[$i] = $VAL['NAME']; $def[$i] = rrd::def("var{$KEY}", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE"); $def[$i] .= rrd::line1("var{$KEY}", '#00C600', rrd::cut($VAL['NAME'], 16)); $def[$i] .= rrd::gprint("var{$KEY}", array('LAST', 'MAX', 'AVERAGE'), "%6.2lf"); } }
<?php # # Copyright (c) 2006-2012 Joerg Linge (http://www.pnp4nagios.org) # Plugin: check_jmx4perl # Dataset: connector_nr_requests # Perfdata: nr_requests=152.8;900;1000 # $opt[1] = "-X0 --vertical-label \"Requets\" --title \"Requests {$hostname} / {$servicedesc}\" "; $def[1] = rrd::def("var1", $RRDFILE[1], $DS[1], "AVERAGE"); $def[1] .= rrd::gradient('var1', '#F5F5F5', '#C0C0C0'); $def[1] .= rrd::line1("var1", "#B80000", $LABEL[1]); $def[1] .= rrd::gprint("var1", array("LAST", "MAX", "AVERAGE"), "%.0lf"); if ($WARN[1] != "") { $def[1] .= rrd::hrule($WARN[1], "#FFFF00", "Warning\\n"); } if ($CRIT[1] != "") { $def[1] .= rrd::hrule($CRIT[1], "#FF0000", "Critical"); } $def[1] .= rrd::comment("jolokia.org");
if (isset($def[$id_fan])) { $def[$id_fan] .= rrd::def("var{$KEY}", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE"); } else { $def[$id_fan] = rrd::def("var{$KEY}", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE"); } $def[$id_fan] .= rrd::line1("var{$KEY}", "#" . $colors[$f++], rrd::cut($label, 18)); $def[$id_fan] .= rrd::gprint("var{$KEY}", array("LAST", "MAX", "AVERAGE"), "%6.0lf RPM"); } # ENCLOSURE TEMPERATURES (Celsius) if (preg_match('/^E(?P<encl>.+?)_t(emp_)?(?P<probe>\\d+)/', $label, $matches)) { $this_id = $matches['encl']; $probe_index = $matches['probe']; if ($enclosure_id != $this_id) { $e = 0; $id_enc++; $enclosure_id = $this_id; } # Label $label = "Probe {$probe_index}"; $ds_name[$id_enc] = "Enclosure {$enclosure_id} Temperatures"; $opt[$id_enc] = "--slope-mode --vertical-label \"Celsius\" --title \"{$def_title}: Enclosure {$enclosure_id} Temperatures\" "; if (isset($def[$id_enc])) { $def[$id_enc] .= rrd::def("var{$KEY}", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE"); } else { $def[$id_enc] = rrd::def("var{$KEY}", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE"); } $def[$id_enc] .= rrd::line1("var{$KEY}", "#" . $colors[$e++], rrd::cut($label, 14)); $def[$id_enc] .= rrd::gprint("var{$KEY}", array("LAST", "MAX", "AVERAGE"), "%6.1lf C"); } } }
<?php $ds_name[1] = "Barracuda Queues"; $opt[1] = "--vertical-label 'Queue Length' -l0 --title \"Queue Length for {$hostname}\" "; # $def[1] = rrd::def("inqueue", $RRDFILE[1], $DS[1], "AVERAGE"); $def[1] .= rrd::area("inqueue", "#22cc22", "inqueue", 'STACK'); $def[1] .= rrd::gprint("inqueue", array("LAST", "MAX", "AVERAGE"), "%6.0lf"); $def[1] .= rrd::def("outqueue", $RRDFILE[2], $DS[1], "AVERAGE"); $def[1] .= rrd::area("outqueue", "#2222FF", "outqueue", 'STACK'); $def[1] .= rrd::gprint("outqueue", array("LAST", "MAX", "AVERAGE"), "%6.0lf");
$def[$casecount_int] .= rrd::def("tc_case" . $casecount . "_state", $v['RRDFILE'], $v['DS'], "MAX"); # determine when this case is warning/critical -> draw TICK line on top $def[$casecount_int] .= rrd::cdef("tc_case" . $casecount . "_state_warning", "tc_case" . $casecount . "_state,1,EQ,1,0,IF "); # if incomplete data = 1 -> 0 = no crit TICK # else: if case$casecount_state = 2 -> 1 = crit TICK $def[$casecount_int] .= rrd::cdef("tc_case" . $casecount . "_state_critical", "tc_case" . $casecount . "_incomplete,1,EQ,0,tc_case" . $casecount . "_state,2,EQ,2,0,IF,IF"); $def[$casecount_int] .= "TICK:tc_case" . $casecount . "_state_warning" . $col_warning . $tick_opacity_warn . ":" . $tick_frac . ":' case/step warning ' "; $def[$casecount_int] .= "TICK:tc_case" . $casecount . "_state_critical" . $col_critical . $tick_opacity_crit . ":" . $tick_frac . ":' case/step critical \\j' "; } } # Suite last check time: black vertical line ################################# $def[$casecount_int] .= "VRULE:" . $NAGIOS_TIMET . "#000000: "; # append CPU/MEM graph (defined above) ################################################ if ($graph_cpu or $graph_mem) { $def[$casecount_int] .= rrd::comment(" \\n"); $def[$casecount_int] .= rrd::comment("Host Statistics\\:\\n"); if ($graph_cpu == "load") { # Load is usually a much lower value than usage (%) -> scale the right axis with factor 10 $opt[$casecount_int] .= " --right-axis \"0.1:0\" --right-axis-label \"CPU Load\" "; } else { $opt[$casecount_int] .= " --right-axis \"1:0\" --right-axis-label \"CPU Usage\" "; } } if ($graph_cpu) { $def[$casecount_int] .= $rrddef_cpu; } if ($graph_mem) { $def[$casecount_int] .= $rrddef_mem; } } # if (preg_match('/^c_(\d+)_([a-zA-Z0-9].*)/', $VAL['LABEL'], $c_matches))
$ds_name[1] = 'Hits'; $opt[1] = "-T 55 -l 0 --vertical-label 'hits/s' --title \"{$hostname} / Apache Hits Per Second\""; $def[1] = rrd::def('var0', $rrdfile, $DS[1], 'AVERAGE'); $def[1] .= rrd::area('var0', rrd::color(2), 'Hits'); $def[1] .= rrd::gprint('var0', array('LAST', 'MAX', 'AVERAGE'), '%4.1lf %s'); $ds_name[2] = 'Network Traffic'; $opt[2] = "-T 55 -l 0 --vertical-label 'bit/s' --title \"{$hostname} / Apache Outbound Bandwidth\""; $def[2] = rrd::def('var0', $rrdfile, $DS[2], 'AVERAGE'); $def[2] .= rrd::cdef('var0_bits', 'var0,8,*'); $def[2] .= rrd::area('var0_bits', rrd::color(3), 'Network'); $def[2] .= rrd::gprint('var0_bits', array('LAST', 'MAX', 'AVERAGE'), '%4.1lf %s'); $ds_name[3] = 'Workers'; $opt[3] = "-T 55 -l 0 --vertical-label 'Workers' --title \"{$hostname} / Apache Workers\""; $def[3] = rrd::def('var0', $rrdfile, $DS[3], 'AVERAGE'); $def[3] .= rrd::area('var0', rrd::color(3), 'Workers Busy'); $def[3] .= rrd::gprint('var0', array('LAST', 'MAX', 'AVERAGE'), '%4.0lf %s'); $def[3] .= rrd::def('var1', $rrdfile, $DS[4], 'AVERAGE'); $def[3] .= rrd::area('var1', rrd::color(4), 'Workers Idle', 'STACK'); $def[3] .= rrd::gprint('var1', array('LAST', 'MAX', 'AVERAGE'), '%4.0lf %s'); $ds_name[4] = 'Scoreboard'; $opt[4] = "-T 55 -l 0 --vertical-label 'Workers' --title \"{$hostname} / Apache Scoreboard\""; $def[4] = ''; for ($i = 0; $i < count($scoreboard) - ($include_open_slot ? 0 : 1); $i++) { $def[4] .= rrd::def("var{$i}", $rrdfile, $DS[$i + 5], 'AVERAGE'); if ($i == '1') { $def[4] .= rrd::area("var{$i}", rrd::color($i), rrd::cut($scoreboard[$i], 20)); } else { $def[4] .= rrd::area("var{$i}", rrd::color($i), rrd::cut($scoreboard[$i], 20), 'STACK'); } $def[4] .= rrd::gprint("var{$i}", array('LAST', 'MAX', 'AVERAGE'), "%4.0lf %s"); }
$def[1] .= rrd::line1("var{$KEY}", rrd::color($i), rrd::cut($label, 10)); $def[1] .= rrd::gprint("var{$KEY}", array("LAST", "MAX", "AVERAGE"), "%8.2lf"); } } $opt[2] = '--title "Host Stats"'; $ds_name[2] = "Host Stats"; $def[2] = ""; $i = 0; foreach ($this->DS as $KEY => $VAL) { if (preg_match('/^NUMHST(.*)$/', $VAL['NAME'], $matches)) { $i++; $label = ucfirst(strtolower($matches[1])); $def[2] .= rrd::def("var{$KEY}", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE"); $def[2] .= rrd::line1("var{$KEY}", rrd::color($i), rrd::cut($label, 10)); $def[2] .= rrd::gprint("var{$KEY}", array("LAST", "MAX", "AVERAGE"), "%8.2lf"); } } $opt[3] = '--title "Check Execution Time"'; $ds_name[3] = "Execution Time"; $def[3] = ""; $i = 0; foreach ($this->DS as $KEY => $VAL) { if (preg_match('/(.*)EXT$/', $VAL['NAME'], $matches)) { $i++; $label = ucfirst(strtolower($matches[1])); $def[3] .= rrd::def("var{$KEY}", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE"); $def[3] .= rrd::cdef("var_sec{$KEY}", "var{$KEY},1000,/"); $def[3] .= rrd::line1("var_sec{$KEY}", rrd::color($i), rrd::cut($label, 10)); $def[3] .= rrd::gprint("var_sec{$KEY}", array("LAST", "MAX", "AVERAGE"), "%8.2lf"); } }
<?php $ds_name[1] = "Barracuda Outbound Message Statistics"; $opt[1] = "--vertical-label 'Messages' -l0 --title \"Message Statistics for {$hostname}\" "; $def[1] = rrd::def("hourlyOutboundPolicyBlocked", $RRDFILE[1], $DS[1], "AVERAGE"); $def[1] .= rrd::area("hourlyOutboundPolicyBlocked", "#ff3333", "hourlyOutboundPolicyBlocked", 'STACK'); $def[1] .= rrd::gprint("hourlyOutboundPolicyBlocked", array("LAST", "MAX", "AVERAGE"), "%6.0lf"); $def[1] .= rrd::def("hourlyOutboundSpamBlocked", $RRDFILE[2], $DS[1], "AVERAGE"); $def[1] .= rrd::area("hourlyOutboundSpamBlocked", "#ff33b9", "hourlyOutboundSpamBlocked", 'STACK'); $def[1] .= rrd::gprint("hourlyOutboundSpamBlocked", array("LAST", "MAX", "AVERAGE"), "%6.0lf"); $def[1] .= rrd::def("hourlyOutboundVirusBlocked", $RRDFILE[3], $DS[1], "AVERAGE"); $def[1] .= rrd::area("hourlyOutboundVirusBlocked", "#ff7633", "hourlyOutboundVirusBlocked", 'STACK'); $def[1] .= rrd::gprint("hourlyOutboundVirusBlocked", array("LAST", "MAX", "AVERAGE"), "%6.0lf"); $def[1] .= rrd::def("hourlyOutboundRateControlled", $RRDFILE[4], $DS[1], "AVERAGE"); $def[1] .= rrd::area("hourlyOutboundRateControlled", "#9600ff", "hourlyOutboundRateControlled", 'STACK'); $def[1] .= rrd::gprint("hourlyOutboundRateControlled", array("LAST", "MAX", "AVERAGE"), "%6.0lf"); $def[1] .= rrd::def("hourlyOutboundQuarantined", $RRDFILE[5], $DS[1], "AVERAGE"); $def[1] .= rrd::area("hourlyOutboundQuarantined", "#33b0ff", "hourlyOutboundQuarantined", 'STACK'); $def[1] .= rrd::gprint("hourlyOutboundQuarantined", array("LAST", "MAX", "AVERAGE"), "%6.0lf"); $def[1] .= rrd::def("hourlyEncrypted", $RRDFILE[6], $DS[1], "AVERAGE"); $def[1] .= rrd::area("hourlyEncrypted", "#3333aa", "hourlyEncrypted", 'STACK'); $def[1] .= rrd::gprint("hourlyEncrypted", array("LAST", "MAX", "AVERAGE"), "%6.0lf"); $def[1] .= rrd::def("hourlyRedirected", $RRDFILE[7], $DS[1], "AVERAGE"); $def[1] .= rrd::area("hourlyRedirected", "#33aa84", "hourlyRedirected", 'STACK'); $def[1] .= rrd::gprint("hourlyRedirected", array("LAST", "MAX", "AVERAGE"), "%6.0lf"); $def[1] .= rrd::def("hourlySent", $RRDFILE[8], $DS[1], "AVERAGE"); $def[1] .= rrd::area("hourlySent", "#45e126", "hourlySent", 'STACK'); $def[1] .= rrd::gprint("hourlySent", array("LAST", "MAX", "AVERAGE"), "%6.0lf"); ?>
# Copyright (C) 2014 Red Hat Inc # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # 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, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # $def[1] = ""; $opt[1] = ""; $ds_name[1] = ""; $opt[1] = "--vertical-label \"% Usage\" -r --lower-limit 0 --upper-limit 100 --title \"{$NAGIOS_HOSTNAME} / {$NAGIOS_SERVICEDISPLAYNAME}\" --slope-mode -u 100 -N"; $ds_name[1] = "Volume Utilization"; $def[1] = "DEF:utilzation_in={$RRDFILE['1']}:{$DS['1']}:AVERAGE "; $def[1] .= "CDEF:utilzation_out=utilzation_in "; $def[1] .= "AREA:utilzation_out#ADD8E6:\"utilization\t\t\" "; $def[1] .= rrd::gprint("utilzation_out", array("LAST", "AVERAGE", "MAX"), "%6.2lf%%"); if ($WARN[1] != "") { $def[1] .= "LINE2:{$WARN['1']}#FFA500:\"Warning\\n\" "; } if ($CRIT[1] != "") { $def[1] .= "LINE2:{$CRIT['1']}#FF0000:\"Critical\\n\" "; }
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. 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/>. */ $opt[1] = "--slope-mode --vertical-label Load -l0 --title \"CPU Load for {$hostname} / {$servicedesc}\" "; $DS_1 = $this->DS[0]; $DS_5 = $this->DS[1]; $DS_15 = $this->DS[2]; $C15 = '#FF0000'; $C5 = '#0000FF'; $C1 = '#EACC00'; $def[1] = rrd::def("var1", $DS_1['RRDFILE'], $DS_1['DS']); $def[1] .= rrd::def("var2", $DS_5['RRDFILE'], $DS_5['DS']); $def[1] .= rrd::def("var3", $DS_15['RRDFILE'], $DS_15['DS']); $def[1] .= rrd::area("var1", $C1, "Load 1"); $def[1] .= rrd::gprint("var1", array("LAST", "AVERAGE", "MAX"), "%6.2lf"); $def[1] .= rrd::line1("var2", $C5, "Load 5"); $def[1] .= rrd::gprint("var2", array("LAST", "AVERAGE", "MAX"), "%6.2lf"); $def[1] .= rrd::line1("var3", $C15, "Load 15"); $def[1] .= rrd::gprint("var3", array("LAST", "AVERAGE", "MAX"), "%6.2lf");
} } $gindex++; } if ($VAR['used_cpu_sys'] != -1) { $vindex_cpumain_sys = $VAR['used_cpu_sys']; $vindex_cpumain_user = $VAR['used_cpu_user']; $vindex_cpuchild_sys = $VAR['used_cpu_sys_children']; $vindex_cpuchild_user = $VAR['used_cpu_user_children']; $ds_name[$gindex] = "CPU Use"; $opt[$gindex] = "--vertical-label \"cpu time in msec\" --title \"{$servicedesc} CPU Use on {$hostname}\" "; $def[$gindex] = rrd::def("cpu_main_sys", $RRDFILE[$vindex_cpumain_sys], $DS[$vindex_cpumain_sys], "AVERAGE"); $def[$gindex] .= rrd::area("cpu_main_sys", "#FF6103", "System CPU - Main Thread"); $def[$gindex] .= rrd::gprint("cpu_main_sys", array("LAST", "MAX", "AVERAGE"), "%6.2lf "); if ($vindex_cpuchild_sys != -1) { $def[$gindex] .= rrd::def("cpu_child_sys", $RRDFILE[$vindex_cpuchild_sys], $DS[$vindex_cpuchild_sys], "AVERAGE"); $def[$gindex] .= rrd::area("cpu_child_sys", "#FFD700", "System CPU - Children ", "STACK"); $def[$gindex] .= rrd::gprint("cpu_child_sys", array("LAST", "MAX", "AVERAGE"), "%6.2lf "); } if ($vindex_cpumain_user != -1) { $def[$gindex] .= rrd::def("cpu_main_user", $RRDFILE[$vindex_cpumain_user], $DS[$vindex_cpumain_user], "AVERAGE"); $def[$gindex] .= rrd::area("cpu_main_user", "#008000", "User CPU - Main Thread", "STACK"); $def[$gindex] .= rrd::gprint("cpu_main_user", array("LAST", "MAX", "AVERAGE"), "%6.2lf "); } if ($vindex_cpuchild_user != -1) { $def[$gindex] .= rrd::def("cpu_child_user", $RRDFILE[$vindex_cpuchild_user], $DS[$vindex_cpuchild_user], "AVERAGE"); $def[$gindex] .= rrd::area("cpu_child_user", "#00FF00", "User CPU - Children ", "STACK"); $def[$gindex] .= rrd::gprint("cpu_child_user", array("LAST", "MAX", "AVERAGE"), "%6.2lf "); } $gindex++; }
# | / ___| |__ ___ ___| | __ | \/ | |/ / | # | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | # | | |___| | | | __/ (__| < | | | | . \ | # | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | # | | # | Copyright Mathias Kettner 2012 mk@mathias-kettner.de | # +------------------------------------------------------------------+ # # This file is part of Check_MK. # The official homepage is at http://mathias-kettner.de/check_mk. # # check_mk is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation in version 2. check_mk is distributed # in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- # out even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. See the GNU General Public License for more de- # ails. You should have received a copy of the GNU General Public # License along with GNU Make; see the file COPYING. If not, write # to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, # Boston, MA 02110-1301 USA. # Cut the relevant bits from the Nagios Service Description. # This is a little complicated. $servicedesc = str_replace("_", " ", $servicedesc); $opt[1] = "--lower=0 --upper=" . ($CRIT[1] + 10) . " --vertical-label \"Bytes\" --title \"{$servicedesc}\" "; # Paint nice gradient using MySQLs colours. $def[1] = rrd::def("var1", $RRDFILE[1], $DS[1], "MAX") . rrd::gradient('var1', '015a84', 'e97b00', 'Database Size', 50) . rrd::gprint("var1", array("LAST", "MAX", "AVERAGE"), "%6.2lf%sB") . "LINE2:var1#e57900 "; # Draw vertical line with the current warn/crit levels. if (isset($WARN[1]) and $WARN[1] != "") { $def[1] .= "HRULE:{$WARN['1']}#FFFF00:\"\" " . "HRULE:{$CRIT['1']}#FF0000:\"\" " . ""; }
public static function ticker($vname = FALSE, $warning = FALSE, $critical = FALSE, $fraction = -0.05, $opacity = 'ff', $color_green = '#00ff00', $color_btw = '#ffff00', $color_red = '#ff0000') { if ($vname === FALSE) { throw new Kohana_exception("rrd::" . __FUNCTION__ . "() First Parameter 'vname' is missing"); } if ($warning === FALSE) { throw new Kohana_exception("rrd::" . __FUNCTION__ . "() Second Parameter 'warning' is missing"); } if ($critical === FALSE) { throw new Kohana_exception("rrd::" . __FUNCTION__ . "() Third Parameter 'critical' is missing"); } $line = ""; $green_vname = "var" . substr(sha1(rand()), 1, 4); $btw_vname = "var" . substr(sha1(rand()), 1, 4); $blue_vname = "var" . substr(sha1(rand()), 1, 4); $red_vname = "var" . substr(sha1(rand()), 1, 4); $green2_vname = "var" . substr(sha1(rand()), 1, 4); $line .= "CDEF:" . $green_vname . "=" . $vname . "," . $warning . ",LT," . $vname . ",UNKN,IF "; $line .= "CDEF:" . $btw_vname . "=" . $vname . "," . $critical . ",LT," . $vname . ",UNKN,IF "; $line .= "CDEF:" . $blue_vname . "=" . $btw_vname . "," . $warning . ",GE," . $btw_vname . ",UNKN,IF "; $line .= "CDEF:" . $red_vname . "=" . $vname . "," . $critical . ",GE," . $vname . ",UNKN,IF "; $line .= "CDEF:" . $green2_vname . "=" . $green_vname . ",0,EQ,0.000001," . $green_vname . ",IF "; $line .= rrd::tick($green2_vname, $color_green . $opacity, $fraction); $line .= rrd::tick($blue_vname, $color_btw . $opacity, $fraction); $line .= rrd::tick($red_vname, $color_red . $opacity, $fraction); return $line; }
<?php $ds_name[1] = "Cisco Current Rate"; $opt[1] = "--vertical-label 'Rate' -l0 --title \"Current Rate for {$hostname}\" "; $def[1] = rrd::def("Download", $RRDFILE[1], $DS[1], "AVERAGE"); $def[1] .= rrd::line1("Download", "#11dd33", "Download"); $def[1] .= rrd::gprint("Download", array("LAST", "MAX", "AVERAGE"), "%6.0lf"); $def[1] .= rrd::def("Upload", $RRDFILE[2], $DS[1], "AVERAGE"); $def[1] .= rrd::line1("Upload", "#ff33b9", "Upload"); $def[1] .= rrd::gprint("Upload", array("LAST", "MAX", "AVERAGE"), "%6.0lf"); ?>
<?php $ds_name[1] = "Barracuda Outbound Message Statistics"; $opt[1] = "--vertical-label 'Messages' -l0 --title \"Message Statistics for {$hostname}\" "; $def[1] = rrd::def("OutboundPolicyBlocked", $RRDFILE[1], $DS[1], "AVERAGE"); $def[1] .= rrd::area("OutboundPolicyBlocked", "#ff3333", "OutboundPolicyBlocked", 'STACK'); $def[1] .= rrd::gprint("OutboundPolicyBlocked", array("LAST", "MAX", "AVERAGE"), "%6.0lf"); $def[1] .= rrd::def("OutboundSpamBlocked", $RRDFILE[2], $DS[1], "AVERAGE"); $def[1] .= rrd::area("OutboundSpamBlocked", "#ff33b9", "OutboundSpamBlocked", 'STACK'); $def[1] .= rrd::gprint("OutboundSpamBlocked", array("LAST", "MAX", "AVERAGE"), "%6.0lf"); $def[1] .= rrd::def("OutboundVirusBlocked", $RRDFILE[3], $DS[1], "AVERAGE"); $def[1] .= rrd::area("OutboundVirusBlocked", "#ff7633", "OutboundVirusBlocked", 'STACK'); $def[1] .= rrd::gprint("OutboundVirusBlocked", array("LAST", "MAX", "AVERAGE"), "%6.0lf"); $def[1] .= rrd::def("OutboundRateLimited", $RRDFILE[4], $DS[1], "AVERAGE"); $def[1] .= rrd::area("OutboundRateLimited", "#9600ff", "OutboundRateLimited", 'STACK'); $def[1] .= rrd::gprint("OutboundRateLimited", array("LAST", "MAX", "AVERAGE"), "%6.0lf"); $def[1] .= rrd::def("OutboundQuarantined", $RRDFILE[5], $DS[1], "AVERAGE"); $def[1] .= rrd::area("OutboundQuarantined", "#33b0ff", "OutboundQuarantined", 'STACK'); $def[1] .= rrd::gprint("OutboundQuarantined", array("LAST", "MAX", "AVERAGE"), "%6.0lf"); $def[1] .= rrd::def("OutboundEncrypted", $RRDFILE[6], $DS[1], "AVERAGE"); $def[1] .= rrd::area("OutboundEncrypted", "#3333aa", "OutboundEncrypted", 'STACK'); $def[1] .= rrd::gprint("OutboundEncrypted", array("LAST", "MAX", "AVERAGE"), "%6.0lf"); $def[1] .= rrd::def("OutboundRedirected", $RRDFILE[7], $DS[1], "AVERAGE"); $def[1] .= rrd::area("OutboundRedirected", "#33aa84", "OutboundRedirected", 'STACK'); $def[1] .= rrd::gprint("OutboundRedirected", array("LAST", "MAX", "AVERAGE"), "%6.0lf"); $def[1] .= rrd::def("OutboundSent", $RRDFILE[8], $DS[1], "AVERAGE"); $def[1] .= rrd::area("OutboundSent", "#45e126", "OutboundSent", 'STACK'); $def[1] .= rrd::gprint("OutboundSent", array("LAST", "MAX", "AVERAGE"), "%6.0lf");
foreach ($this->DS as $KEY => $VAL) { if ($VAL['TEMPLATE'] == "check_brick_usage") { $ds_name[$KEY] = "Brick Utilization"; } else { $ds_name[$KEY] = "Disk Utilization"; } $name[$KEY] = "Mount Path: "; $graph_type = $VAL['LABEL']; $max_limit = $VAL['MAX']; $unit = "GiB"; if (endsWith($graph_type, ".inode") || endsWith($graph_type, ".thinpool") || endsWith($graph_type, ".thinpool-metadata")) { list($brick, $data_type) = explode(".", $graph_type); $ds_name[$KEY] .= "("; $ds_name[$KEY] .= $data_type; $ds_name[$KEY] .= ")"; $name[$KEY] .= $brick; if ($data_type == "inode") { $unit = ""; } } else { $name[$KEY] .= $graph_type; $ds_name[$KEY] .= "(space)"; } $opt[$KEY] = "--vertical-label \"%(Total: {$max_limit} {$unit}) \" --lower-limit 0 --upper-limit 100 -r --title \"{$name[$KEY]}\" "; $def[$KEY] = rrd::def("var1", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE"); $def[$KEY] .= rrd::area("var1", "#008000", "Usage"); $def[$KEY] .= rrd::gprint("var1", array("LAST", "MAX", "AVERAGE"), "%.3lf %%"); $def[$KEY] .= rrd::line2($VAL['WARN'], "#FFA500", "Warning\\n"); $def[$KEY] .= rrd::line2($VAL['CRIT'], "#FF0000", "Critical\\n"); $def[$KEY] .= rrd::comment(" \\n"); }