Bonjour,
J'ai eu beaucoup de mal à comprendre comment faire fonctionner nagios/oreon et perfparse. Voici donc le recit de mon aventure, en espérant que cela pourra aider d'autres personnes en galère. Je ne m'attarde pas sur les package nécessaires : ils répertoriés dans les differentes doc sur le Wiki. Le contexte : je suis parti de 0.
- debian 3.1
J'ai suivi l'installation sur le wiki : InstallDebianFR
- nagios 2.5
J'ai installé tous les prérequis inclus dans le package d'installation via apt-get.
J'ai compilé nagios 2.5 et nagios_plugins tout seul sans l'install automatique. Pour l'installation de nagios, il faut suivre la doc de nagios en ajoutant les prérequis pour perfparse lors du ./configure (adaptez les paramètres à votre système si nécessaire)
- Oreon 1.3.1
J'ai suivi l'installation sur le wiki SetupOreon13FR
- Perfparse
L'installation en elle-même ne pose pas de problème. Elle est très bien expliquée là : SetupPerfParseFR
C'est la configuration qui est plus complexe.
Ne pas oublier de créer la base de données et le schéma de celle-ci pour perfparse. Creer une base perfparse et passer le srcipt sql mysql_create.sql qui se trouve dans le répertoire script des sources de perfparse.
Voici comment j'ai configuré nagios via oreon.
Enregistrement des données dans un fichier
La première étape consiste à écrire les données issue de nagios dans un fichier. Pour ne pas tout mélanger, j'ai choisi d'enregistrer les données dans deux fichiers /usr/local/nagios/var/perfparse-host-perfdata.dat et /usr/local/nagios/var/perfparse-service-perfdata.dat. Pour ce faire, il faut créer deux commandes. Dans l'onglet Configuration -> Nagios, menu "commande de check".
Pour les hosts, créer une commande process-host-perfdata
Pour le services, créer une commande process-service-perfdata
Maintenant que les commandes sont disponibles, il faut les exécuter après chaque check. Dans Oreon, editer le fichier nagios.cfg
Deja, commençons par activer la gestion des données de performance :
Performance Data Processing Option : oui
Host Performance Data Processing Command : sélectionner process-host-perfdata
Service Performance Data Processing Command : sélectionner process-service-perfdata
en image :

Import des données dans perfparse
Maintenant que nous avons les données dans des fichiers, il faut les importer dans la base de données perfparse. Pour ce faire, il faut créer comme-ci dessus la commande suivante :
process-service-perfdata-file
Puis dans le répertoire de /usr/local/nagios/libexec/ il faut creer un script perfparse-import.sh (attention au proprietaire et au droits d'execution) contenant ce code :
Maintenant, il faut executer ces commandes régulièrement pour importer les données. Dans Oreon, éditer le fichier nagios.cfg
Host Performance Data File Processing Interval : 120
Service Performance Data File Processing Interval : 120
Service Performance Data File Processing Command : process-service-perfdata-file
en image :

les performances par Host ne semble pas gérées par perfparse, je n'ai donc pas mis de commande correspondante. Si toutefois des données par host sont exploitable par votre perfparse, rien ne vous empèche de faire la meme configuration ou de modifier perfparse-import.sh pour qu'il importe les données des host.
Quelques notes pour finir :
- Il existe plusieurs facçon de configurer perfparse. Celle-ci presente l'avantage de pas toucher au méchanisme interne de gestion des données de performances de Nagios. C'est pour cela que dans la config de Nagios, je n'ai pas touché aux options Host Performance Data File, Service Performance Data File, Host Performance Data File Template, Service Performance Data File Template. Une autre solution, suggérée dans le wiki SetupPerfParseFR, est de configurer Nagios à l'aide de ces options pour qu'il enregistre les données dans les fichiers de données au bon format. L'import des données dans la base perfparse est alors identique à la méthode que j'ai choisi. On trouve sur le forum ici et là des solutions important directement les données dans la base perfparse. Je ne sais pas si à terme ces solutions ne risquent de produire une charge de travail importante. Je préfère l'idée de logger dans un fichier les informations puis de les importer régulièrement.
- La lecture de la documentation de Nagios et de Perfparse est instructive.
- Ce post n'est certainement pas exhaustif et contient surement des erreurs. N'hésitez pas à me faire par de vos remarque et je ferais les mises à jour nécessaires.
J'ai eu beaucoup de mal à comprendre comment faire fonctionner nagios/oreon et perfparse. Voici donc le recit de mon aventure, en espérant que cela pourra aider d'autres personnes en galère. Je ne m'attarde pas sur les package nécessaires : ils répertoriés dans les differentes doc sur le Wiki. Le contexte : je suis parti de 0.
- debian 3.1
J'ai suivi l'installation sur le wiki : InstallDebianFR
- nagios 2.5
J'ai installé tous les prérequis inclus dans le package d'installation via apt-get.
J'ai compilé nagios 2.5 et nagios_plugins tout seul sans l'install automatique. Pour l'installation de nagios, il faut suivre la doc de nagios en ajoutant les prérequis pour perfparse lors du ./configure (adaptez les paramètres à votre système si nécessaire)
Code:
./configure --prefix=/usr/local/nagios --with-cgiurl=/nagios/cgi-bin --with-htmurl=/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagcmd --enable-embedded-perl --with-perlcache --disable-statuswrl --with-default-perfdata
J'ai suivi l'installation sur le wiki SetupOreon13FR
- Perfparse
L'installation en elle-même ne pose pas de problème. Elle est très bien expliquée là : SetupPerfParseFR
C'est la configuration qui est plus complexe.
Ne pas oublier de créer la base de données et le schéma de celle-ci pour perfparse. Creer une base perfparse et passer le srcipt sql mysql_create.sql qui se trouve dans le répertoire script des sources de perfparse.
Voici comment j'ai configuré nagios via oreon.
Enregistrement des données dans un fichier
La première étape consiste à écrire les données issue de nagios dans un fichier. Pour ne pas tout mélanger, j'ai choisi d'enregistrer les données dans deux fichiers /usr/local/nagios/var/perfparse-host-perfdata.dat et /usr/local/nagios/var/perfparse-service-perfdata.dat. Pour ce faire, il faut créer deux commandes. Dans l'onglet Configuration -> Nagios, menu "commande de check".
Pour les hosts, créer une commande process-host-perfdata
Code:
/usr/bin/printf "%b" "$TIMET$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICEOUTPUT$\t$SERVICESTATE$\t$SERVICEPERFDATA$\n" >> /usr/local/nagios/var/perfparse-host-perfdata.dat
Code:
/usr/bin/printf "%b" "$TIMET$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICEOUTPUT$\t$SERVICESTATE$\t$SERVICEPERFDATA$\n" >> /usr/local/nagios/var/perfparse-service-perfdata.dat
Deja, commençons par activer la gestion des données de performance :
Performance Data Processing Option : oui
Host Performance Data Processing Command : sélectionner process-host-perfdata
Service Performance Data Processing Command : sélectionner process-service-perfdata
en image :

Import des données dans perfparse
Maintenant que nous avons les données dans des fichiers, il faut les importer dans la base de données perfparse. Pour ce faire, il faut créer comme-ci dessus la commande suivante :
process-service-perfdata-file
Code:
$USER1$/perfparse-import.sh
Code:
#!/bin/sh NAGIOS_DIR=/usr/local/nagios TMP_FILE=/tmp/temp-perfparse-data.dat mv $NAGIOS_DIR/var/perfparse-service-perfdata.dat $TMP_FILE cat $TMP_FILE | $NAGIOS_DIR/bin/perfparse-log2mysql -c $NAGIOS_DIR/etc/perfparse.cfg rm $TMP_FILE
Host Performance Data File Processing Interval : 120
Service Performance Data File Processing Interval : 120
Service Performance Data File Processing Command : process-service-perfdata-file
en image :

les performances par Host ne semble pas gérées par perfparse, je n'ai donc pas mis de commande correspondante. Si toutefois des données par host sont exploitable par votre perfparse, rien ne vous empèche de faire la meme configuration ou de modifier perfparse-import.sh pour qu'il importe les données des host.
Quelques notes pour finir :
- Il existe plusieurs facçon de configurer perfparse. Celle-ci presente l'avantage de pas toucher au méchanisme interne de gestion des données de performances de Nagios. C'est pour cela que dans la config de Nagios, je n'ai pas touché aux options Host Performance Data File, Service Performance Data File, Host Performance Data File Template, Service Performance Data File Template. Une autre solution, suggérée dans le wiki SetupPerfParseFR, est de configurer Nagios à l'aide de ces options pour qu'il enregistre les données dans les fichiers de données au bon format. L'import des données dans la base perfparse est alors identique à la méthode que j'ai choisi. On trouve sur le forum ici et là des solutions important directement les données dans la base perfparse. Je ne sais pas si à terme ces solutions ne risquent de produire une charge de travail importante. Je préfère l'idée de logger dans un fichier les informations puis de les importer régulièrement.
- La lecture de la documentation de Nagios et de Perfparse est instructive.
- Ce post n'est certainement pas exhaustif et contient surement des erreurs. N'hésitez pas à me faire par de vos remarque et je ferais les mises à jour nécessaires.
Comment