Пример #1
0
* to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* This file is part of the nagios-puppet bundle that can be found
* at https://github.com/jasonhancock/nagios-memory
*/
$alpha = 'CC';
$colors = array('#00FF00' . $alpha, '#000066' . $alpha, '#25345C' . $alpha, '#88008A' . $alpha, '#4F7774' . $alpha);
$opt[1] = sprintf('-T 55 -l 0 --vertical-label "Bytes" --title "%s / Network Traffic"', $hostname);
$def[1] = '';
$count = 0;
foreach ($DS as $i) {
    $def[1] .= rrd::def("var{$i}", $rrdfile, $DS[$i], 'AVERAGE');
    if ($i == '1') {
        $def[1] .= rrd::area("var{$i}", $colors[$count], rrd::cut(ucfirst($NAME[$i]), 15));
    } else {
        $def[1] .= rrd::line1("var{$i}", $colors[$count], rrd::cut(ucfirst($NAME[$i]), 15), 'STACK');
    }
    $def[1] .= rrd::gprint("var{$i}", array('LAST', 'MAX', 'AVERAGE'), "%4.2lf %s\t");
    $count++;
}
Пример #2
0
# 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 :
$ds_name[$i] = "Slots";
$regex = '/^Slots$/';
$color = '#ff0000';
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::area("var" . $KEY, $color, rrd::cut($VAL['NAME'], 12));
        $def[$i] .= rrd::gprint("var" . $KEY, array("LAST", "MAX", "AVERAGE"), "%6.0lf");
    }
}
$regex = '/^OpenSlots$/';
$color = '#00ff00';
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::area("var" . $KEY, $color, rrd::cut($VAL['NAME'], 12));
        $def[$i] .= rrd::gprint("var" . $KEY, array("LAST", "MAX", "AVERAGE"), "%6.0lf");
    }
}
#
# Requests per Second
#
$i++;
$def[$i] = "";
$opt[$i] = " --title Requests/s";
$ds_name[$i] = "Requests/s";
$regex = '/ReqPerSec/';
$color = '#000000';
foreach ($this->DS as $KEY => $VAL) {
    if (preg_match($regex, $VAL['NAME'])) {
        $def[$i] .= rrd::def("var" . $KEY, $VAL['RRDFILE'], $VAL['DS'], "AVERAGE");
Пример #4
0
         $VAL['NAME'] = preg_replace('/^p(\\d+)a$/', 'Amperage Probe $1', $VAL['NAME']);
         if ($visited_pwr == 0) {
             ++$count;
             $visited_pwr = 1;
         }
         $ds_name[$count] = "Amperage Probes";
         $vlabel = "Ampere";
         $title = $ds_name[$count];
         $opt[$count] = "-X0 --lower-limit 0 --slope-mode --vertical-label \"{$vlabel}\" --title \"{$def_title}: {$title}\" ";
         if (isset($def[$count])) {
             $def[$count] .= rrd::def("var{$KEY}", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE");
         } else {
             $def[$count] = rrd::def("var{$KEY}", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE");
         }
         $def[$count] .= rrd::line1("var{$KEY}", "#" . $colors[$a], $VAL['NAME']);
         $def[$count] .= rrd::area("var{$KEY}", "#" . $colors[$a++] . "20");
         $def[$count] .= rrd::gprint("var{$KEY}", array("LAST", "MAX", "AVERAGE"), "%4.2lf A");
     }
 }
 # FANS (RPMs)
 if (preg_match('/^fan_/', $VAL['NAME']) || preg_match('/^f\\d+$/', $VAL['NAME'])) {
     if ($visited_fan == 0) {
         ++$count;
         $visited_fan = 1;
     }
     # Long label
     $VAL['NAME'] = preg_replace('/^fan_\\d+_/', '', $VAL['NAME']);
     $VAL['NAME'] = preg_replace('/_rpm$/', '', $VAL['NAME']);
     $VAL['NAME'] = preg_replace('/_/', ' ', $VAL['NAME']);
     # Short label
     $VAL['NAME'] = preg_replace('/^f(\\d+)$/', 'Fan Probe $1', $VAL['NAME']);
Пример #5
0
 $def[$casecount_int] .= rrd::comment(" \\n");
 # Case graph, Case runtime on top ###########################################################
 $def[$casecount_int] .= rrd::def("case{$casecount}", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE");
 # not used anymore; formerly used to draw grey TICK-areas if any case is unknown to hide everything.
 $def[$casecount_int] .= rrd::cdef("case" . $casecount . "_unknown", "case{$casecount},UN,1,0,IF");
 if ($s_last_index != "") {
     $def[$casecount_int] .= rrd::cdef("case_diff{$casecount}", "case{$casecount},s_line_stackbase{$s_last_index},-");
     # invisible line to stack upon
     $def[$casecount_int] .= rrd::line1("s_line_stackbase{$s_last_index}", "#00000000");
     $def[$casecount_int] .= rrd::area("case_diff{$casecount}", $col_case_runtime_area, pad($casename, $label_max_length), 1);
     # invisible line to stack upon
     $def[$casecount_int] .= rrd::line1("s_line_stackbase{$s_last_index}", "#00000000");
     $def[$casecount_int] .= rrd::line1("case_diff{$casecount}", $col_case_runtime_line, "", 1);
 } else {
     # no steps, no stacks
     $def[$casecount_int] .= rrd::area("case{$casecount}", $col_case_runtime_area, $casename);
     $def[$casecount_int] .= rrd::line1("case{$casecount}", $col_case_runtime_line, "");
 }
 $def[$casecount_int] .= rrd::gprint("case{$casecount}", "LAST", "%3.2lf s LAST");
 $def[$casecount_int] .= rrd::gprint("case{$casecount}", "MAX", "%3.2lf s MAX ");
 $def[$casecount_int] .= rrd::gprint("case{$casecount}", "AVERAGE", "%3.2lf s AVG \\j");
 $def[0] .= rrd::comment(" \\n");
 # Case graph, Warn/Crit LINE  ##########################################################
 foreach ($this->DS as $k => $v) {
     if (preg_match('/^c_' . $casecount . '__(warning|critical)/', $v['LABEL'], $matches)) {
         $threshold = $matches[1];
         $def[$casecount_int] .= rrd::def("case_" . $casecount . "__" . $threshold, $v["RRDFILE"], $v["DS"], "AVERAGE");
         $def[$casecount_int] .= rrd::line1("case_" . $casecount . "__" . $threshold, ${"col_" . $threshold}, $threshold . " at \\g", 0);
         $def[$casecount_int] .= rrd::gprint("case_" . $casecount . "__" . $threshold, "LAST", "%3.0lf s ");
     }
 }
<?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");
<?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");
?>

Пример #8
0
 * 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/.
 *
 *
 * Plots number of cloudstack instances by state as reported by the
 * check_cloud_instances.php plugin.
 *
 * This file is part of the nagios-cloudstack bundle that can be found
 * at https://github.com/jasonhancock/nagios-cloudstack
 */
$alpha = '';
$colors = array('Running' => '#00FF00' . $alpha, 'Starting' => '#0000FF' . $alpha, 'Stopping' => '#FF0000' . $alpha, 'Destroyed' => '#CCCCCC' . $alpha);
$vlabel = '# of VMs';
$opt[1] = sprintf('-T 55 -l 0 --vertical-label "%s" --title "%s / Number of VMs"', $vlabel, $hostname);
$def[1] = '';
$ds_name[1] = 'Cloud Instances';
$count = 0;
foreach ($this->DS as $i => $dso) {
    $def[1] .= rrd::def("var{$i}", $dso['RRDFILE'], $dso['DS'], 'AVERAGE');
    $name = rrd::cut($dso['NAME'], 9);
    $color = isset($colors[$dso['NAME']]) ? $colors[$dso['NAME']] : '#FFFF00';
    $stack = $i == 0 ? '' : 'STACK';
    $def[1] .= rrd::area("var{$i}", $color, $name, $i == 0 ? '' : $stack);
    $def[1] .= rrd::gprint("var{$i}", array('LAST', 'MAX', 'AVERAGE'), "%3.0lf");
}
$def[1] .= 'COMMENT:"' . $TEMPLATE[$i] . '\\r" ';
Пример #9
0
#
$ds_name[1] = "Memory Usage";
$opt[1] = "-l0  --title \"Memory Usage for {$hostname}\" ";
$def[1] = rrd::def("tot", $RRDFILE[1], $DS[1], "AVERAGE");
$def[1] .= rrd::def("slab", $RRDFILE[1], $DS[2], "AVERAGE");
$def[1] .= rrd::def("swapcached", $RRDFILE[1], $DS[3], "AVERAGE");
$def[1] .= rrd::def("pagetables", $RRDFILE[1], $DS[4], "AVERAGE");
$def[1] .= rrd::def("apps", $RRDFILE[1], $DS[5], "AVERAGE");
$def[1] .= rrd::def("memfree", $RRDFILE[1], $DS[6], "AVERAGE");
$def[1] .= rrd::def("buffers", $RRDFILE[1], $DS[7], "AVERAGE");
$def[1] .= rrd::def("cached", $RRDFILE[1], $DS[8], "AVERAGE");
$def[1] .= rrd::def("swap", $RRDFILE[1], $DS[9], "AVERAGE");
$def[1] .= rrd::line1("tot", "#000000", "Total memory");
$def[1] .= rrd::gprint("tot", array("LAST"), "%6.2lf%s");
$def[1] .= rrd::area("apps", "#FF0000", "Applications");
$def[1] .= rrd::gprint("apps", array("LAST", "AVERAGE", "MAX"), "%6.2lf%s");
$def[1] .= rrd::area("pagetables", "#0000FF", "Page Table  ", true);
$def[1] .= rrd::gprint("pagetables", array("LAST", "AVERAGE", "MAX"), "%6.2lf%s");
$def[1] .= rrd::area("slab", "#00FFFF", "Slab        ", true);
$def[1] .= rrd::gprint("slab", array("LAST", "AVERAGE", "MAX"), "%6.2lf%s");
$def[1] .= rrd::area("swapcached", "#FF8000", "Swap Cache  ", true);
$def[1] .= rrd::gprint("swapcached", array("LAST", "AVERAGE", "MAX"), "%6.2lf%s");
$def[1] .= rrd::area("cached", "#FFFF00", "Cache       ", true);
$def[1] .= rrd::gprint("cached", array("LAST", "AVERAGE", "MAX"), "%6.2lf%s");
$def[1] .= rrd::area("buffers", "#80FF00", "Buffer      ", true);
$def[1] .= rrd::gprint("buffers", array("LAST", "AVERAGE", "MAX"), "%6.2lf%s");
$def[1] .= rrd::area("memfree", "#00FF00", "Free        ", true);
$def[1] .= rrd::gprint("memfree", array("LAST", "AVERAGE", "MAX"), "%6.2lf%s");
$def[1] .= rrd::area("swap", "#800000", "Swap        ", true);
$def[1] .= rrd::gprint("swap", array("LAST", "AVERAGE", "MAX"), "%6.2lf%s");
# vim: set ts=4 sw=4 et syn=php :
Пример #10
0
<?php

#
# Copyright (c) 2011 Anders Håål, based on check_load
# Plugin: check_bischeck
#
$opt[1] = "--title \"{$hostname} / {$servicedesc}\" ";
#
#
#
$def[1] = rrd::def("var1", $RRDFILE[1], $DS[1], "AVERAGE");
$def[1] .= rrd::def("var2", $RRDFILE[1], $DS[2], "AVERAGE");
$def[1] .= rrd::area("var1", "#EACC00", "Measured  ");
$def[1] .= rrd::gprint("var1", array("LAST", "AVERAGE", "MAX"), "%6.2lf");
$def[1] .= rrd::area("var2", "#EA8F00", "Threshold ");
$def[1] .= rrd::gprint("var2", array("LAST", "AVERAGE", "MAX"), "%6.2lf");
if ($WARN[1] != "") {
    $def[1] .= rrd::hrule($WARN[1], "#FFFF00", "Warning  " . $WARN[1] . $UNIT[1] . "\\n");
}
if ($CRIT[1] != "") {
    $def[1] .= rrd::hrule($CRIT[1], "#FF0000", "Warning  " . $CRIT[1] . $UNIT[1] . "\\n");
}
<?php

#
# Copyright (c) 2006-2012 Joerg Linge (http://www.pnp4nagios.org)
# Plugin: check_jmx4perl
# Dataset: connector_errors
# Perfdata: errors=0;90;100
#
$opt[1] = "--force-rules-legend -X0 --vertical-label \"Errors\" --title \"Connector Errors {$hostname} / {$servicedesc}\" ";
$def[1] = rrd::def("var1", $RRDFILE[1], $DS[1], "AVERAGE");
$def[1] .= rrd::area("var1", "#D9D9D9");
$def[1] .= rrd::line1("var1", "#B10026", $LABEL[1]);
if ($WARN[1] != "") {
    $def[1] .= "HRULE:{$WARN['1']}#FFFF00 ";
}
if ($CRIT[1] != "") {
    $def[1] .= "HRULE:{$CRIT['1']}#FF0000 ";
}
$def[1] .= rrd::gprint("var1", array("LAST", "MAX", "AVERAGE"), "%.0lf");
$def[1] .= rrd::comment("jolokia.org\\r");
Пример #12
0
     $def[$defcnt] .= rrd::area("mem", "#c3c3c3", "Memory");
     $def[$defcnt] .= rrd::line1("mem", "#111111");
     $def[$defcnt] .= rrd::gprint("mem", array("MAX", "AVERAGE", "LAST"), "%.1lf %SB");
     $defcnt++;
 }
 if (preg_match('/^buffer_cache_hit_ratio$/', $VAL['NAME'])) {
     $ds_name[$defcnt] = "Buffer Cache Hit Ratio";
     $opt[$defcnt] = "--vertical-label \"%\" --title \"Buffer cache hit ratio on {$hostname}\" ";
     $def[$defcnt] = "";
     $def[$defcnt] .= rrd::def("bufcahitrat", $VAL['RRDFILE'], $VAL['DS'], "AVERAGE:reduce=LAST");
     $def[$defcnt] .= rrd::cdef("ar", "bufcahitrat," . $VAL['CRIT_MIN'] . ",LE,bufcahitrat,0,GT,INF,UNKN,IF,UNKN,IF,ISINF,bufcahitrat,0,IF");
     $def[$defcnt] .= rrd::cdef("ay", "bufcahitrat," . $VAL['WARN_MIN'] . ",LE,bufcahitrat," . $VAL['CRIT_MIN'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,bufcahitrat,0,IF");
     $def[$defcnt] .= rrd::cdef("ag", "bufcahitrat,100,LE,bufcahitrat," . $VAL['WARN_MIN'] . ",GT,INF,UNKN,IF,UNKN,IF,ISINF,bufcahitrat,0,IF");
     $def[$defcnt] .= rrd::area("ag", "#{$green}");
     $def[$defcnt] .= rrd::area("ay", "#{$yellow}");
     $def[$defcnt] .= rrd::area("ar", "#{$red}");
     $def[$defcnt] .= rrd::line1("bufcahitrat", "#000000:");
     $def[$defcnt] .= rrd::gprint("bufcahitrat", "LAST", "Hit ratio is %3.2lf percent\\n");
     $defcnt++;
 }
 if (preg_match('/^(.*)_lock_timeouts_per_sec/', $VAL['NAME'], $match)) {
     $dsname = $match[1];
     if (empty($opt[1])) {
         $opt[1] = "--vertical-label \"Lock timeouts/s\" -l0 --title \"Locks timeouts / sec\" ";
     }
     if (empty($def[1])) {
         $def[1] = "";
     }
     $ds_name[1] = "Lock Timeouts Per Second ";
     $def[1] .= rrd::def("var" . $KEY, $VAL['RRDFILE'], $VAL['DS'], "AVERAGE");
     $def[1] .= rrd::line1("var" . $KEY, rrd::color($KEY), rrd::cut($dsname, 12));
<?php

$ds_name[1] = "Barracuda Inbound Message Statistics";
$opt[1] = "--vertical-label 'Messages' -l0 --title \"Message Statistics for {$hostname}\" ";
$def[1] = rrd::def("InboundBlocked", $RRDFILE[1], $DS[1], "AVERAGE");
$def[1] .= rrd::area("InboundBlocked", "#ff0000", "InboundBlocked", 'STACK');
$def[1] .= rrd::gprint("InboundBlocked", array("LAST", "MAX", "AVERAGE"), "%6.0lf");
$def[1] .= rrd::def("InboundVirusBlocked", $RRDFILE[2], $DS[1], "AVERAGE");
$def[1] .= rrd::area("InboundVirusBlocked", "#ff8400", "InboundVirusBlocked", 'STACK');
$def[1] .= rrd::gprint("InboundVirusBlocked", array("LAST", "MAX", "AVERAGE"), "%6.0lf");
$def[1] .= rrd::def("InboundRateLimited", $RRDFILE[3], $DS[1], "AVERAGE");
$def[1] .= rrd::area("InboundRateLimited", "#9600ff", "InboundRateLimited", 'STACK');
$def[1] .= rrd::gprint("InboundRateLimited", array("LAST", "MAX", "AVERAGE"), "%6.0lf");
$def[1] .= rrd::def("InboundQuarantined", $RRDFILE[4], $DS[1], "AVERAGE");
$def[1] .= rrd::area("InboundQuarantined", "#33b0ff", "InboundQuarantined", 'STACK');
$def[1] .= rrd::gprint("InboundQuarantined", array("LAST", "MAX", "AVERAGE"), "%6.0lf");
$def[1] .= rrd::def("InboundTagged", $RRDFILE[5], $DS[1], "AVERAGE");
$def[1] .= rrd::area("InboundTagged", "#fdff33", "InboundTagged", 'STACK');
$def[1] .= rrd::gprint("InboundTagged", array("LAST", "MAX", "AVERAGE"), "%6.0lf");
$def[1] .= rrd::def("InboundAllowed", $RRDFILE[6], $DS[1], "AVERAGE");
$def[1] .= rrd::area("InboundAllowed", "#45e126", "Allowed", 'STACK');
$def[1] .= rrd::gprint("InboundAllowed", array("LAST", "MAX", "AVERAGE"), "%6.0lf");
<?php

# VmPeak:530255872,VmSize:530251776,VmLck:0,VmHWM:243642368,VmRSS:243634176,VmData:252669952,VmStk:397312,VmExe:2215936,VmLib:9801728,VmPTE:827392
# TODO: .../buildout/parts/instance/etc/zope.conf
$parts = explode("_", $servicedesc);
$instance = $parts[sizeof($parts) - 3];
$opt[1] = "--title \"Zope memory For {$hostname} / {$instance}\" ";
#
$def[1] = "" . "DEF:VmPeak={$RRDFILE['1']}:{$DS['1']}:AVERAGE " . "CDEF:VmPeak_mb=VmPeak,1048576,/ " . rrd::area("VmPeak_mb", rrd::color(1), "Peak ", "STACK") . "GPRINT:VmPeak_mb:LAST:\"%8.1lf MB LAST\" " . "GPRINT:VmPeak_mb:AVERAGE:\"%8.1lf MB AVERAGE\" " . "GPRINT:VmPeak_mb:MAX:\"%8.1lf MB MAX\\n\" " . "DEF:VmSize={$RRDFILE['2']}:{$DS['2']}:AVERAGE " . "CDEF:VmSize_mb=VmSize,1048576,/ " . rrd::area("VmSize_mb", rrd::color(2), "Size ", "STACK") . "GPRINT:VmSize_mb:LAST:\"%8.1lf MB LAST\" " . "GPRINT:VmSize_mb:AVERAGE:\"%8.1lf MB AVERAGE\" " . "GPRINT:VmSize_mb:MAX:\"%8.1lf MB MAX\\n\" " . "DEF:VmLck={$RRDFILE['3']}:{$DS['3']}:AVERAGE " . "CDEF:VmLck_mb=VmLck,1048576,/ " . rrd::area("VmLck_mb", rrd::color(3), "Lck  ", "STACK") . "GPRINT:VmLck_mb:LAST:\"%8.1lf MB LAST\" " . "GPRINT:VmLck_mb:AVERAGE:\"%8.1lf MB AVERAGE\" " . "GPRINT:VmLck_mb:MAX:\"%8.1lf MB MAX\\n\" " . "DEF:VmHWM={$RRDFILE['4']}:{$DS['4']}:AVERAGE " . "CDEF:VmHWM_mb=VmHWM,1048576,/ " . rrd::area("VmHWM_mb", rrd::color(4), "HWM  ", "STACK") . "GPRINT:VmHWM_mb:LAST:\"%8.1lf MB LAST\" " . "GPRINT:VmHWM_mb:AVERAGE:\"%8.1lf MB AVERAGE\" " . "GPRINT:VmHWM_mb:MAX:\"%8.1lf MB MAX\\n\" " . "DEF:VmRSS={$RRDFILE['5']}:{$DS['5']}:AVERAGE " . "CDEF:VmRSS_mb=VmRSS,1048576,/ " . rrd::area("VmRSS_mb", rrd::color(5), "RSS  ", "STACK") . "GPRINT:VmRSS_mb:LAST:\"%8.1lf MB LAST\" " . "GPRINT:VmRSS_mb:AVERAGE:\"%8.1lf MB AVERAGE\" " . "GPRINT:VmRSS_mb:MAX:\"%8.1lf MB MAX\\n\" " . "DEF:VmData={$RRDFILE['6']}:{$DS['6']}:AVERAGE " . "CDEF:VmData_mb=VmData,1048576,/ " . rrd::area("VmData_mb", rrd::color(6), "Data ", "STACK") . "GPRINT:VmData_mb:LAST:\"%8.1lf MB\\n\" " . "DEF:VmStk={$RRDFILE['7']}:{$DS['7']}:AVERAGE " . "CDEF:VmStk_mb=VmStk,1048576,/ " . rrd::area("VmStk_mb", rrd::color(7), "Stk ", "STACK") . "GPRINT:VmStk_mb:LAST:\"%8.1lf MB\\n\" " . "DEF:VmExe={$RRDFILE['8']}:{$DS['8']}:AVERAGE " . "CDEF:VmExe_mb=VmExe,1048576,/ " . rrd::area("VmExe_mb", rrd::color(8), "Exe ", "STACK") . "GPRINT:VmExe_mb:LAST:\"%8.1lf MB\\n\" " . "DEF:VmLib={$RRDFILE['9']}:{$DS['9']}:AVERAGE " . "CDEF:VmLib_mb=VmLib,1048576,/ " . rrd::area("VmLib_mb", rrd::color(9), "Lib ", "STACK") . "GPRINT:VmLib_mb:LAST:\"%8.1lf MB\\n\" " . "DEF:VmPTE={$RRDFILE['10']}:{$DS['10']}:AVERAGE " . "CDEF:VmPTE_mb=VmPTE,1048576,/ " . rrd::area("VmPTE_mb", rrd::color(10), "PTE ", "STACK") . "GPRINT:VmPTE_mb:LAST:\"%8.1lf MB\\n\" " . "";
<?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++;
}
Пример #16
0
     # adjust value and unit, details in .../helpers/pnp.php
     $max = pnp::adjust_unit($VAL['MAX'] . $unit, 1024, $fmt);
     $upper = "-u {$max['1']} ";
     $maximum = "of {$max['1']} {$max['2']}{$pct} used";
     $label = $max[2];
     $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
Пример #17
0
$def[4] .= "GPRINT:use_mb:AVERAGE:\"%6.1lfMB \\g\" ";
$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 ");
Пример #18
0
 public static function alerter($vname = FALSE, $label = FALSE, $warning = FALSE, $critical = FALSE, $opacity = 'ff', $unit, $color_green = '#00ff00', $color_btw = '#ffff00', $color_red = '#ff0000', $line_col = '#0000ff')
 {
     if ($vname === FALSE) {
         throw new Kohana_exception("rrd::" . __FUNCTION__ . "() First Parameter 'vname' is missing");
     }
     if ($label === FALSE) {
         throw new Kohana_exception("rrd::" . __FUNCTION__ . "() Second Parameter 'label' is missing");
     }
     if ($warning === FALSE) {
         throw new Kohana_exception("rrd::" . __FUNCTION__ . "() Third Parameter 'warning' is missing");
     }
     if ($critical === FALSE) {
         throw new Kohana_exception("rrd::" . __FUNCTION__ . "() Fourth Parameter 'critical' is missing");
     }
     $line = "";
     $line .= "CDEF:green=" . $vname . "," . $warning . ",LT," . $vname . ",UNKN,IF ";
     $line .= "CDEF:btw=" . $vname . "," . $critical . ",LT," . $vname . ",UNKN,IF ";
     $line .= "CDEF:blue=btw," . $warning . ",GE,btw,UNKN,IF ";
     $line .= "CDEF:red=" . $vname . "," . $critical . ",GE," . $vname . ",UNKN,IF ";
     $line .= rrd::area("green", $color_green . $opacity);
     $line .= rrd::area("blue", $color_btw . $opacity);
     $line .= rrd::area("red", $color_red . $opacity);
     $line .= rrd::line1($vname, $line_col, $label);
     return $line;
 }
Пример #19
0
$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");
}
Пример #20
0
<?php

#
# Copyright (c) 2006-2010 Joerg Linge (http://www.pnp4nagios.org)
# Plugin: check_load
#
$opt[1] = "--vertical-label Load -l0  --title \"CPU Load for {$hostname} / {$servicedesc}\" ";
#
#
#
$def[1] = rrd::def("var1", $RRDFILE[1], $DS[1], "AVERAGE");
$def[1] .= rrd::def("var2", $RRDFILE[1], $DS[2], "AVERAGE");
$def[1] .= rrd::def("var3", $RRDFILE[1], $DS[3], "AVERAGE");
if ($WARN[1] != "") {
    $def[1] .= "HRULE:{$WARN['1']}#FFFF00 ";
}
if ($CRIT[1] != "") {
    $def[1] .= "HRULE:{$CRIT['1']}#FF0000 ";
}
$def[1] .= rrd::area("var3", "#ff0000", "load 15");
$def[1] .= rrd::gprint("var3", array("LAST", "AVERAGE", "MAX"), "%6.2lf");
$def[1] .= rrd::area("var2", "#EA8F00", "Load 5 ");
$def[1] .= rrd::gprint("var2", array("LAST", "AVERAGE", "MAX"), "%6.2lf");
$def[1] .= rrd::area("var1", "#EACC00", "load 1 ");
$def[1] .= rrd::gprint("var1", array("LAST", "AVERAGE", "MAX"), "%6.2lf");
Пример #21
0
  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/>.
*/
$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");
Пример #22
0
// total - used / $divis
$def[1] .= rrd::cdef("v_free", "var6,{$divis},/");
$def[1] .= rrd::cdef("v_swtotal", "var7,{$divis},/");
$def[1] .= rrd::cdef("v_swfree", "var8,{$divis},/");
$def[1] .= rrd::cdef("v_swused", "var7,var8,-,{$divis},/");
// Stacking all other values (used, cached, buffered, cached
$def[1] .= rrd::gradient("v_real_used", "#FF9900", "#FF5555", "Real used");
$def[1] .= rrd::line1("v_real_used", "#00000000");
// Invisible to be able to stack with gradient
#$def[1] .= rrd::area("v_real_used", "#FF9900", "Real used");
$def[1] .= rrd::gprint("v_real_used", array("AVERAGE", "MIN", "MAX", "LAST"), "{$fmt}{$unit_scale}");
$def[1] .= rrd::area("v_cached", "#FFAAFF", "Cached", true);
$def[1] .= rrd::gprint("v_cached", "LAST", "{$fmt}{$unit_scale}\\n");
$def[1] .= rrd::area("v_shared", "#0000FF", "Shared", true);
$def[1] .= rrd::gprint("v_shared", "LAST", "{$fmt}{$unit_scale}\\n");
$def[1] .= rrd::area("v_buffered", "#AAFFFF", "Buffered", true);
$def[1] .= rrd::gprint("v_buffered", "LAST", "{$fmt}{$unit_scale}\\n");
$def[1] .= rrd::area("v_free", "#FAFAAA", "Free", true);
$def[1] .= rrd::gprint("v_free", "LAST", "{$fmt}{$unit_scale}\\n");
// Stack swap on the same graph
$def[1] .= rrd::area("v_swused", "#3D3D3D", "Swap used", true);
$def[1] .= rrd::gprint("v_swused", array("AVERAGE", "MAX", "LAST"), "{$fmt}{$unit_scale}");
$def[1] .= rrd::area("v_swfree", "#DDDDDD", "Swap free", true);
$def[1] .= rrd::gprint("v_swfree", "LAST", "{$fmt}{$unit_scale}\\n");
$def[1] .= rrd::line1("v_real_used", "#000000");
// Draw total
$def[1] .= rrd::line1("v_total", "#009900", "Total");
$def[1] .= rrd::gprint("v_total", "LAST", "{$fmt}{$unit_scale}\\n");
// Debug
//fwrite($fp, ob_get_clean());
//fclose($fp);
Пример #23
0
<?php

$alpha = 'CC';
$colors = array('#ff0000' . $alpha, '#ff7d00' . $alpha, '#fff200' . $alpha, '#00cf00' . $alpha, '#7cb3f1' . $alpha);
$opt[1] = "-T 55 -l 0 --vertical-label \"Queries/Second\" --title \"{$hostname} / Select Types\"";
$def[1] = '';
foreach ($DS as $i) {
    $def[1] .= rrd::def("var{$i}", $rrdfile, $DS[$i], 'AVERAGE');
    if ($i == '1') {
        $def[1] .= rrd::area("var{$i}", $colors[$i - 1], prep_name($NAME[$i]));
    } else {
        $def[1] .= rrd::area("var{$i}", $colors[$i - 1], prep_name($NAME[$i]), 'STACK');
    }
    $def[1] .= rrd::gprint("var{$i}", array('LAST', 'MAX', 'AVERAGE'), "%4.0lf %s\\t");
}
/*
* Replaces underescores with spaces, up caseses words, then returns the results
* of rrd::cut
*/
function prep_name($name)
{
    return rrd::cut(ucwords(str_replace('_', ' ', $name)), 15);
}
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");
}
Пример #25
0
        }
    }
    $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++;
}
Пример #26
0
        $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++;
    }
}
Пример #27
0
 public static function alerter($vname = FALSE, $label = FALSE, $warning = FALSE, $critical = FALSE, $opacity = 'ff', $unit, $color_green = '#00ff00', $color_btw = '#ffff00', $color_red = '#ff0000', $line_col = '#0000ff')
 {
     if ($vname === FALSE) {
         throw new Kohana_exception("rrd::" . __FUNCTION__ . "() First Parameter 'vname' is missing");
     }
     if ($label === FALSE) {
         throw new Kohana_exception("rrd::" . __FUNCTION__ . "() Second Parameter 'label' is missing");
     }
     if ($warning === FALSE) {
         throw new Kohana_exception("rrd::" . __FUNCTION__ . "() Third Parameter 'warning' is missing");
     }
     if ($critical === FALSE) {
         throw new Kohana_exception("rrd::" . __FUNCTION__ . "() Fourth 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);
     if ($warning < $critical) {
         $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 ";
     } else {
         $line .= "CDEF:" . $green_vname . "=" . $vname . "," . $warning . ",GT," . $vname . ",UNKN,IF ";
         $line .= "CDEF:" . $btw_vname . "=" . $vname . "," . $critical . ",GE," . $vname . ",UNKN,IF ";
         $line .= "CDEF:" . $blue_vname . "=" . $btw_vname . "," . $warning . ",LE," . $btw_vname . ",UNKN,IF ";
         $line .= "CDEF:" . $red_vname . "=" . $vname . "," . $critical . ",LT," . $vname . ",UNKN,IF ";
     }
     $line .= rrd::area($green_vname, $color_green . $opacity);
     $line .= rrd::area($blue_vname, $color_btw . $opacity);
     $line .= rrd::area($red_vname, $color_red . $opacity);
     $line .= rrd::line1($vname, $line_col, $label);
     return $line;
 }
$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\" ";
}
<?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");
Пример #30
0
#third graph - open slots count
$ds_name[3] = "Open slots";
$opt[3] = " --vertical-label \"Workers\" --title \"Apache open slots on {$hostname} / {$servicedesc}\" ";
$opt[3] .= " --slope-mode ";
$def[3] = rrd::def("var1", $RRDFILE[1], $DS[11], "AVERAGE");
$def[3] .= rrd::area("var1", "#e0e0e0", "open slots");
$def[3] .= rrd::line1("var1", "#858585");
$def[3] .= rrd::gprint("var1", array("LAST", "MAX", "AVERAGE"), "%7.0lf");
#fourth graph - server's traffic total and per request
$ds_name[4] = "Apache Traffic";
$opt[4] = " --vertical-label \"Traffic\" -b 1024 --title \"Apache Traffic for {$hostname} / {$servicedesc}\" ";
$opt[4] .= " --slope-mode ";
$def[4] = rrd::def("var1", $RRDFILE[1], $DS[13], "AVERAGE");
$def[4] .= rrd::cdef("trbytes", "var1,1024,*");
$def[4] .= rrd::def("var2", $RRDFILE[1], $DS[14], "AVERAGE");
$def[4] .= rrd::cdef("negperreq", "var2,-1,*");
$def[4] .= "VDEF:totalbytes=trbytes,TOTAL ";
$def[4] .= rrd::area("trbytes", "#b0c0fb", "throughput");
$def[4] .= rrd::line1("trbytes", "#3c63ff");
$def[4] .= rrd::gprint("trbytes", array("LAST", "MAX", "AVERAGE"), "%7.2lf %sB/sec");
$def[4] .= rrd::line2("negperreq", "#00ff00", "kB/request");
$def[4] .= rrd::gprint("var2", array("LAST", "MAX", "AVERAGE"), "%7.2lf %s{$UNIT['14']}");
$def[4] .= "GPRINT:totalbytes:\"%3.0lf %sB total\\n\" ";
#fifth graph - requests per sec ( rate is calculated by apache, time smoothed, very averaged, shouldn't be believed)
$ds_name[5] = "Apache requests";
$opt[5] = " --vertical-label \"Request/sec\" --title \"Apache request/sec for {$hostname} / {$servicedesc}\" ";
$opt[5] .= " --slope-mode ";
$def[5] = rrd::def("var1", $RRDFILE[1], $DS[12], "AVERAGE");
$def[5] .= rrd::area("var1", "#b7ff9e", "Requests / sec");
$def[5] .= rrd::line1("var1", "#2eae00");
$def[5] .= rrd::gprint("var1", array("LAST", "MAX", "AVERAGE"), "%7.2lf %s");