Template Helper Functions

Helper-Funktionen sind dazu gedacht, die Templates zu vereinfachen und Fehler abzufangen.

rrd::def

string rrd::def ( $vname, $rrdfile, $ds, [ $cf='AVERAGE' ] )

$def = rrd::def('var1', $RRDFILE[0], $DS[0], 'MAX');

http://oss.oetiker.ch/rrdtool/doc/rrdgraph_data.en.html

rrd::cdef

string rrd::cdef ( $vname, $rpn, )

$def = rrd::cdef('var1_bits', 'var1,8,*' );

http://oss.oetiker.ch/rrdtool/doc/rrdgraph_data.en.html

rrd::vdef

string rrd::vdef ( $vname, $rpn, )

$def = rrd::vdef('var1_avg', 'var1,AVERAGE' );

http://oss.oetiker.ch/rrdtool/doc/rrdgraph_data.en.html

rrd::line[1-3]

string rrd::line[1-3] ( $vname, $color, [ $text ], [ $stack ] )

$def .= rrd::line1('var1', #ff00ff );

Eine einfache Linie, ein Pixel breit, ohne Label-Text

$def .= rrd::line3('var1', '#ff00ff', 'Load' );

Eine Linie, drei Pixel breit, und dem Label “Load”

http://oss.oetiker.ch/rrdtool/doc/rrdgraph_graph.en.html

rrd::area

string rrd::area ( $vname, $color, [ $text ], [ $stack ] )

$def .= rrd::area('var1', '#ff00ff', 'Load' );

Eine Fläche mit dem Label “Load”

http://oss.oetiker.ch/rrdtool/doc/rrdgraph_graph.en.html

rrd::gprint

string rrd::gprint ( $vname, $cf, [ $text ] )

$def .= rrd::gprint('var1', 'MAX', '%4.2lf %s Max' );
$def .= rrd::gprint('var1', array('MIN', 'MAX', 'AVERAGE'), '%4.2lf %s' );

Ist $cf ein Array, so wird automatisch eine Legende formatiert ausgegeben.

http://oss.oetiker.ch/rrdtool/doc/rrdgraph_graph.en.html

rrd::color

string rrd::color ( $num [, $num ])

Liefert eine Farbe aus der HTML-Farbtabelle. Als zweites (optionales) Argument kann man einen Alpha-Wert angeben, der die Transparenz der Farbe festlegt.

Beginnend mit PNP 0.6.18 akzeptiert die Funktion ein drittes Argument, das auf Farbschemadefinitionen in config.php verweist (oder in config_local.php, die bei Updates nicht überschrieben wird). Dort finden Sie das Array $scheme[], z.B.

$scheme['Reds'] = array (...)

Im Template definieren Sie

$schema = $this->config->scheme['Reds']
...
rrd:color ($key, '', $schema);

Aus diese Weise wählen Sie den Wert von $scheme['Reds'][$key]. Falls $key nicht innerhalb des Arrays liegt oder der Name nicht korrekt ist (case-sensitiv), dann wird die Standardpalette verwendet.

rrd::gradient

string rrd::gradient ( $vname, [$start_color], [$end_color], [$label], [$steps], [$lower] )

Erzeugt einen Farbverlauf von $start_color nach $end_color

$def .= rrd::gradient('var1', '#ff0000', '#ffff00' );

Beispiel

rrd::cut

string rrd::cut ( $text, $length )

$label = rrd::cut($LABEL[0], 18);

Schneidet einen Text auf eine gegebene Länge $length ab oder füllt wenn nötig auf $length auf. Diese Funktion ist hilfreich, wenn die Legende ausgerichtet werden soll, aber die Länge des Labels nicht bekannt ist.

rrd::ticker

string rrd::ticker ( $vname, $warning, $critical, [$fraction], [$opacity], [$color_OK], [$color_WARN], [$color_CRIT] )

Erzeugt einen farbigen Balken am oberen Rand des Graphen, der je nach OK, WARNING & CRITICAL unterschiedliche Farben annimmt

$def .= rrd::ticker( "var1", $WARN[0], $CRIT[0] );

Beispiel

rrd::alerter

string rrd::alerter ( $vname, $label, $warning, $critical, [$opacity], [$unit], [$color_OK], [$color_WARN], [$color_CRIT], [$line_col] )

Erzeugt Areas, die entsprechend der Werte OK, WARNING & CRITICAL unterschiedliche Farben annehmen

$def .= rrd::alerter( "var1", $LABEL[0], $WARN[0], $CRIT[0], "FF", $UNIT[0] );

Beispiel

rrd::alerter_gr

string rrd::alerter_gr ( $vname, $label, $warning, $critical, [$opacity], [$unit], [$color_OK], [$color_WARN], [$color_CRIT], [$line_col], [$start_color] )

Erzeugt Gradienten, die entsprechend der Werte OK, WARNING & CRITICAL unterschiedliche Farben annehmen

$def .= rrd::alerter_gr( "var1", $LABEL[0], $WARN[0], $CRIT[0], "FF", $UNIT[0] );

Beispiel