![Stacks Image 63196](files/stacks-image-c2080f6.png)
Article en attente de mise à jour
Centreon-Broker avec Perfdata de Nagios
Principes - rappel
![Stacks Image 516](files/stacks-image-ec21672-726x440.jpg)
Centreon-Broker alimente la base Centstorage, le process centstorage récupère les données de performances.
Paramétrage de l'interface Centreon
Se connecter à l'interface Centreon. Sélectionnez le menu Administration / Options / Options / Monitoring
![Centreon-Broker01](files/Centreon-Broker01.png)
Sélectionnez Centreon Broker utilisé par Centreon. Sauvegardez. A partir de ce moment, vous n'avez plus d’hôtes et services visibles sur l'interface.
Sélectionnez le menu Configuration / Centreon
![Centreon-Broker02](files/Centreon-Broker02.png)
Désactivez ndo2db.cfg.
![Centreon-Broker03](files/Centreon-Broker03.png)
Désactivez ndomod.cfg.
Configuration Centreon-Broker
Central-module
Sélectionnez le menu à gauche Configuration de Centreon-Broker. Configurons le premier module.
![Centreon-Broker04](files/Centreon-Broker04.png)
Onglet général, saisir :
Name : Central-module
Config file name : central-module.xml
Attention, le nom du fichier de configuration doit être en minuscule.
![Centreon-Broker05](files/Centreon-Broker05.png)
Onglet Logger, ajouter un logger et saisir :
Name of the logger : /usr/local/centreon/log/central-module.log
Laisser le reste par défaut.
![Centreon-Broker06](files/Centreon-Broker06.png)
Onglet Output, ajouter TCP-IPv4 et saisir
Name : Central-Module-Ouput
Connection port : 5668
Host to connect to : 127.0.0.1
Central-broker
Nous allons maintenant configurer le module Broker.
![Centreon-Broker07](files/Centreon-Broker07.png)
Onglet général, saisir :
Name : Central-broker
Config file name : central-broker.xml
![Centreon-Broker08](files/Centreon-Broker08png.png)
Onglet Input, ajouter TCP-IPv4 et saisir
Name : Central Master
Connection port : 5668
![Centreon-Broker09](files/Centreon-Broker09.png)
Onglet Logger, ajouter un logger et saisir :
Name of the logger : /usr/local/centreon/log/central-broker.log
![Centreon-Broker10](files/Centreon-Broker10.png)
Onglet Output, Il faut rajouter un output. Ajouter SQL - Broker SQL Database et saisir
Name : Broker SQL
DBType : MySQL
DB Host : 127.0.0.1
DB Port : 3306
DB user : centreon
DB password : password
DB name : centstorage
![Centreon-Broker30](files/Centreon-Broker30.png)
Voici la configuration de Centreon-Broker. Le module Central-RRD, s'il existe, peut-être désactivé.
Modification du Poller
![Centreon-Broker18](files/Centreon-Broker18.png)
Modifiez les paramètres suivants :
Centreon Broker configuration path : /etc/centreon/broker
Centreon Broker modules path : /usr/local/centreon-broker/lib/centreon-broker
Modification de nagios.cfg
![Centreon-Broker19](files/Centreon-Broker19.png)
Modifiez le broker NDOutil par Centreon-Broker, saisissez la ligne suivante :
/usr/local/nagios/bin/cbmod.so /etc/centreon/broker/central-module.xml
Redémarrage de la supervision
Nous allons stopper la supervision et le processus Centstorage
/etc/init.d/nagios stop
/etc/init.d/centstorage stop
vérifions que le protocole TCP 5668 est libre
netstat -an | grep 5668
Vous ne devez avoir aucun résultat. Supprimez l'exécution du processus ndo2db dans le script /etc/init.d/nagios. Supprimez les lignes suivantes
su - $NagiosUser -c "/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg"
......
skill ndo2db-3x
Copiez le script pour le Centreon-Broker
cd /usr/local/src/centreon-broker-2.1.2/script
cp redhat-init.d-rrd.sh /etc/init.d/rrd
cp redhat-init.d-broker.sh /etc/init.d/broker
cd /etc/init.d
chmod +x broker
Modifiez le script broker
...
### BEGIN INIT INFO debian
# Provides: cbd-broker
# Required-Start: mysql
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Centreon Broker
### END INIT INFO
....
Bin=/usr/local/centreon-broker/bin/cbd
....
CfgPath=/etc/centreon/broker
....
# ps -fe | grep "${Bin} ${CfgFile}" | grep -v grep | awk '{ print $2 }' > $RunFile
echo $! > $RunFile
J'ai modifié le script pour le démarrer lorsque le processus mysql est démarré et pour récupérer le PID, voir encadré.
![Stacks Image 526](files/stacks-image-fe31c44-48x46.png)
Lors du redémarrage du serveur, j'ai constaté l'absence de PID des processus de Centreon-Broker dans les fichiers central-broker et central-rrd dans le dossier /var/run/centreon. Ceux-ci ne comportant aucun numéro de processus, ce qui posait problème lors du redémarrage de ces processus pour des éventuelles modifications de paramétrage. En effet, je me retrouvais avec un doublement des processus. Ce qui est curieux, le script fonctionne sans problème lorsque le serveur est en fonctionnement.
ps -fe | grep "${Bin} ${CfgFile}" | grep -v grep | awk '{ print $2 }' > $RunFile
La commande livrée dans le script récupère sans problème le PID mais pas lorsque le serveur redémarre. J'ai réalisé la modification suivante.
echo $! > $RunFile
Le paramètre $! retrouve le PID du dernier processus lancé en tâche de fond. Depuis je n'ai plus de problème avec le redémarrage du serveur. Cette modification a été testée sur Debian 6 sur machine virtuelle VMware.
update-rc.d broker defaults
Relancer Nagios par l'interface de Centreon. Ceci permettra de créer les fichiers de configuration pour Centreon-broker. Lancer Centreon-Broker et Centstorage
/etc/init.d/broker start
/etc/init.d/centstorage start
Vous devriez voir vos hôtes et services actifs et les graphes devraient être alimentés par le process Perfdata.
![Stacks Image 570](files/stacks-image-7b2eab6-48x46.png)
Certaines installations de Nagios peuvent provoquer des problèmes, voir l'explication détaillée. Le processus Nagios forke (deuxième processus nagios identique au premier) au bout de quelques minutes ce qui provoque un dysfonctionnement du système (état des pollers défaillants).
Pour corriger se problème, modifier la configuration de nagios.cfg
![Centreon-Broker20](files/Centreon-Broker20.png)
Onglet Tuning, réglez à No les paramètres Child processes fork twice et Enable environment macros.
![logo_Centreon-Broker](files/Logo_Centreon-Broker.png)
Voilà, notre supervision fonctionne de nouveau sans problème.