PDA

View Full Version : Graphes


jflamand
15th January 2008, 11:36
Bonjour à tous,
J'ai une remarque concernant la manière de gérer les graphes avec Centreon.
J'utilise une méthode légèrement différente de celle décrite ici : http://wiki.centreon.com/index.php/Graphs, je m'explique car cela peut servir à d'autre :

Voici le nagios.cfg concernant la conf des performance.
685

Vous remarquerez que je n'utilise ni Service Performance Data Processing Command ni la commande process-service-perfdata car nagios sait déjà placer les données de perf dans un fichier en utilisant Service Performance Data File et le template :
$TIMET$\\t$HOSTNAME$\\t$SERVICEDESC$\\t$SERVICEOUT PUT$\\t$SERVICESTATE$\\t$SERVICEPERFDATA$

Cette méthode semble fonctionner à condition de faire la modif proposée par Ludo31 http://forum.centreon.com/showthread.php?t=5070

Et pour cause,le fichier service-perfdata est créé au démarrage de Nagios donc si ODS le déplace ou le supprime il n'est pas recréé (comme ce serait le cas avec la méthode suivante http://wiki.centreon.com/index.php/Graphs). Le patch de Ludo31 permet de simplement tronquer le fichier (sans le supprimer).

Je pense que cette méthode est plus performante :
Avec les méthode process-service-perfdata à chaque exécution d'un plugin, la commande process-service-perfdata est exécutée et on fait un open, write close dans le fichier de perf ce qui peut devenir très vite consommateur avec l'augmentation du nombre de services.
Avec la méthode Service Performance Data File le fichier de perf est ouvert une fois pour toutes et on ne fait qu'écrire dedans.

Si vous voulez le vérfier il suffit de faire un ls -l dans le répertoire /proc/pid_nagios/fd/ on voit que dans la seconde méthode un descripteur est ouvert vers le fichier de perf :
lr-x------ 1 root root 64 Jan 15 10:23 0 -> /dev/null
l-wx------ 1 root root 64 Jan 15 10:23 1 -> /dev/null
l-wx------ 1 root root 64 Jan 15 10:23 2 -> /dev/null
lrwx------ 1 root root 64 Jan 15 10:23 3 -> /var/log/nagios/nagios.lock
lrwx------ 1 root root 64 Jan 15 10:23 4 -> socket:[40662162]
lr-x------ 1 root root 64 Jan 15 10:23 5 -> /var/log/nagios/rw/nagios.cmd
l-wx------ 1 root root 64 Jan 15 10:23 6 -> /var/log/nagios/service-perfdata


et pas pour la seconde méthode :
lr-x------ 1 root root 64 Jan 15 10:28 0 -> /dev/null
l-wx------ 1 root root 64 Jan 15 10:28 1 -> /dev/null
l-wx------ 1 root root 64 Jan 15 10:28 2 -> /dev/null
lrwx------ 1 root root 64 Jan 15 10:28 3 -> /var/log/nagios/nagios.lock
lrwx------ 1 root root 64 Jan 15 10:28 4 -> socket:[40662643]
lr-x------ 1 root root 64 Jan 15 10:28 5 -> /var/log/nagios/rw/nagios.cmd


Voilà en ésperant avoir été un peu clair.

++

Julien.

julio
15th January 2008, 12:03
la méthode du wiki marche tres bien...

pour moi ca prend moins de temps de juste changer l'address soit le move que de copier puis vider... au pire apres si nagios ne sait pas recreer, tu fais ton truc pour le recreer...

jflamand
15th January 2008, 13:03
Merci de ta réponse rapide,

Je viens de mettre à jour centreon 1.4.2.3 et les graphes ne fonctionnent plus, le résultat était prévisible car le fichier de perf est déplacé sans jamais être recréé par nagios. Et je vois mal comment le recréer. En effet nagios ouvre un descripteur de fichier vers le fichier de perf :
lr-x------ 1 root root 64 Jan 15 11:43 0 -> /dev/null
l-wx------ 1 root root 64 Jan 15 11:43 1 -> /dev/null
l-wx------ 1 root root 64 Jan 15 11:43 2 -> /dev/null
lrwx------ 1 root root 64 Jan 15 11:43 3 -> /var/log/nagios/nagios.lock
lrwx------ 1 root root 64 Jan 15 11:43 4 -> socket:[40686189]
lr-x------ 1 root root 64 Jan 15 11:43 5 -> /var/log/nagios/rw/nagios.cmd
l-wx------ 1 root root 64 Jan 15 11:43 6 -> /var/log/nagios/service-perfdata

Au moment du move le descripteur suit le fichier :
lr-x------ 1 root root 64 Jan 15 11:45 0 -> /dev/null
l-wx------ 1 root root 64 Jan 15 11:45 1 -> /dev/null
l-wx------ 1 root root 64 Jan 15 11:45 2 -> /dev/null
lrwx------ 1 root root 64 Jan 15 11:45 3 -> /var/log/nagios/nagios.lock
lrwx------ 1 root root 64 Jan 15 11:45 4 -> socket:[40686189]
lr-x------ 1 root root 64 Jan 15 11:45 5 -> /var/log/nagios/rw/nagios.cmd
l-wx------ 1 root root 64 Jan 15 11:45 6 -> /var/log/nagios/service-perfdata_read (deleted)

Le descripteur pointe donc vers un fichier qui n'existe plus (car supprimé après traitement du contenu) et même en le recréant ça ne fonctionnera pas car le descripteur ne pointera plus dessus.

Bref la méthode move est certe plus rapide que copier/effacer mais on perd alors en souplesse d'utilisation quant à la manière de grapher et de gérer le fichier de perf. Les options de configuration nagios suivantes deviennent alors inutiles :

Service Performance Data File
Service Performance Data File Template
Host Performance Data File
Host Performance Data File Template
etc ...


De plus le move est effectué une fois par minute, donc le remplacer par un copier/effacer ne doit pas affecter les perfs et permet de garder le choix sur la manière de gérer les fichiers de perf tout en concernvant l'ensemble des fonctionnalités proposées par nagios et intégrées à votre interface : bref on est tous gagnants :)

En espérant avoir été convainquant ;)

++

Julien.