Translations of this page:

This is an old revision of the document!


Qu'est-ce qu'un "template" ?

Les “templates” sont des modèles que PNP utilise pour l' aspect des graphiques produits à partir des données fournies par RRD (Round-Robin-Data).

Le “template” correspond au service check_<commande> qui a récupéré les données. La suite décrit où sont stockés les “templates” et comment ils sont sélectionnés.

Comment un "template" est-il sélectionné ?

Les “templates” sont stockés dans deux sous-répertoires de celui de pnp (ex. /usr/share/pnp/…)

  • …/templates.dist - pour les “templates” fournis avec le packet PNP.
  • …/templates - pour les “templates” personnalisés. Ceux-ci ne sont pas modifiés lors d'une mise à jour.
  • …/templates.special - pour des “templates” particuliers qui seront décrits plus loin.

Depuis la version 0.6.5 de PNP, d'autres emplacements peuvent être définis dans le fichier de configuration …/etc/config.php .

Ainsi, pour la représentation graphique du service “http” pour l'hôte (Host) “localhost”, PNP consulte en premier lieu le fichier XML ”…/perfdata/localhost/http.xml”. Ce fichier est généré automatiquement avec les données “performance-data” et contient les informations correspondantes à l'hôte et au service. Par ailleurs, il fournit également des renseignements sur le plugin utilisé et sur les données “performance-data”. Dans l'exemple suivant, le nom du “template” qui sera utilisé est noté entre les balises <TEMPLATE>.

/localhost/http.xml

<NAGIOS>
  <DATASOURCE>
    <TEMPLATE>check_http</TEMPLATE>
    <DS>1</DS>
    <NAME>time</NAME>
    <UNIT>s</UNIT>
    <ACT>0.006721</ACT>
    <WARN>1.000000</WARN>
    <CRIT>2.000000</CRIT>
    <MIN>0.000000</MIN>
    <MAX></MAX>
  </DATASOURCE>
  <DATASOURCE>
    <TEMPLATE>check_http</TEMPLATE>
    <DS>2</DS>
    <NAME>size</NAME>
    <UNIT>B</UNIT>
    <ACT>263</ACT>
    <WARN></WARN>
    <CRIT></CRIT>
    <MIN>0</MIN>
    <MAX></MAX>
  </DATASOURCE>
...
</NAGIOS>

PNP recherche maintenant un “template” portant le nom check_http.php dans l'ordre suivant des dossiers :

  1. templates/check_http.php
  2. templates.dist/check_http.php
  3. <autre défini dans config.php>/check_http.php
  4. templates/default.php
  5. templates.dist/default.php

Le “template” default.php est particulier car il sera sélectionné si aucun autre portant le nom recherché n'a été trouvé.

Créer un "template" personnalisé

Rédaction en cours. Merci de consulter les autres traductions en attendant…

Les “templates” dans PNP sont des fichiers PHP qui lui sont associés pendant son fonctionnement grâce à la fonction PHP include(). Ceci a comme conséquence que tout code PHP contenu dans les templates sera interprété, et permet le traitement de toutes les valeurs par PHP.

Les “templates” de PNP doivent avoir les propriétés suivantes :

  1. ils doivent contenir un code PHP valide.
  2. ils ne doivent engendrer aucune exception.
  3. ils doivent renseigner les deux tableaux (Arrays) $opt[] et $def[].

Les deux PHP-Arrays $opt[] et $def[] constituent l'appel de 'rrdtool graph'. Toutes les options mises à disposition de RRDtool sont donc disponibles. Ces dernières sont décrites sur le site RRDtool Homepage.

<?php
#
$opt[1] = "--title \"Response Time For $hostname / $servicedesc\" ";
#
$def[1] =  "DEF:var1=$RRDFILE[1]:$DS[1]:AVERAGE " ;
$def[1] .= "AREA:var1#00FF00:\"Response Times \" " ;
$def[1] .= "LINE1:var1#000000 " ;
$def[1] .= "GPRINT:var1:LAST:\"%3.4lg %s$UNIT[1] LAST \" ";
$def[1] .= "GPRINT:var1:MAX:\"%3.4lg %s$UNIT[1] MAX \" ";
$def[1] .= "GPRINT:var1:AVERAGE:\"%3.4lg %s$UNIT[1] AVERAGE \" ";
?>
fr/pnp-0.6/tpl.1315077352.txt.gz · Last modified: 2011/09/03 21:15 by roblin
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0