[check_postgres] pnp4nagios template

Cédric Villemain cedric.villemain at dalibo.com
Tue Mar 31 11:49:50 UTC 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

here inline an example of a pnp4nagios template to graph action like check_backend :


cat /etc/pnp4nagios/templates$ cat check_postgres_backends.php
<?php

# Free to custom everything, just follow rrdtool documentation.
$opt[1] = "--vertical-label \"backends\"  --title \"Backends per database |
$hostname\" ";

require('stack_outline.php');

?>

cat /etc/pnp4nagios/templates$ cat stack_outline.php
<?php
###############################################################################
# Common part for stacked graph with outline
###############################################################################

$palette = array(
                array('RED', '#EA644A', '#CC3118'),
                array('YELLOW', '#ECD748', '#C9B215'),
                array('ORANGE', '#EC9D48', '#CC7016'),
                array('GREEN', '#54EC48', '#24BC14'),
                array('PINK', '#DE48EC', '#B415C7'),
                array('BLUE', '#48C4EC', '#1598C3'),
                array('PURPLE', '#7648EC', '#4D18E4')
                );

if (!function_exists('cdef_stack')) {
  function cdef_stack ($var) {
    $ret = 'CDEF:';
    $ret.= "Ln$var=";
    $ret.= "var$var";
    for ($i = 2; $i <= $var; $i++)  {
      $ret.= ",var$i";
    }
    for ($i = 2; $i < $var; $i++)  {
      $ret.= ",+";
    }
    $ret .= ',UNKN,IF ';
    return $ret;
  }
}

$def[1] = '';
$cdef_stack = '';
$cdef_line  = '';

$TYPE="AREA";
foreach ($DS as $i) {
  if ($i == 1) { continue; }
  if ($i > 2) { $TYPE="STACK"; }

  # DEF std
  $def[1] .= "DEF:var{$i}=$rrdfile:$DS[$i]:AVERAGE " ;

  # CDEF
  $cdef_stack.= cdef_stack($i);

  # Area
  $def[1] .= "{$TYPE}:var{$i}".sprintf("%s:\"%20s \" ",$palette[$i-2][1],$NAME[$i]);
  # Line
  $cdef_line.= "LINE1:Ln{$i}{$palette[$i-2][2]} ";

  # Legend
  $def[1] .= "GPRINT:var{$i}:LAST:\"%3.0lf %s$UNIT[$i] LAST \" ";
  $def[1] .= "GPRINT:var{$i}:MAX:\"%3.0lf %s$UNIT[$i] MAX \" ";
  $def[1] .= "GPRINT:var{$i}:AVERAGE:\"%3.0lf %s$UNIT[$i] AVERAGE \\n\" ";
}
$def[1].= $cdef_stack . $cdef_line;
?>

- --
Cédric Villemain
Administrateur de Base de Données
Cel: +33 (0)6 74 15 56 53
http://dalibo.com - http://dalibo.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAknSA1kACgkQo/dppWjpEvxBxACdGNgVj10eL9npQRNtD3srSyz0
EFgAoIhl15Fi8RaeahvV9M1h3iPqmOdN
=y+N3
-----END PGP SIGNATURE-----


More information about the Check_postgres mailing list