Menu

Stacks Image 63196
Article en attente de mise à jour

Centreon-Broker avec Perfdata de Nagios

Principes - rappel

Stacks Image 516
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
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
Désactivez ndo2db.cfg.

Centreon-Broker03
Désactivez ndomod.cfg.

Configuration Centreon-Broker


Central-module


Sélectionnez le menu à gauche Configuration de Centreon-Broker. Configurons le premier module.
Centreon-Broker04
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
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
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
Onglet général, saisir :
Name : Central-broker
Config file name : central-broker.xml

Centreon-Broker08
Onglet Input, ajouter TCP-IPv4 et saisir
Name : Central Master
Connection port : 5668

Centreon-Broker09
Onglet Logger, ajouter un logger et saisir :
Name of the logger : /usr/local/centreon/log/central-broker.log

Centreon-Broker10
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
Voici la configuration de Centreon-Broker. Le module Central-RRD, s'il existe, peut-être désactivé.

Modification du Poller



Centreon-Broker18
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
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
Modification du script
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
Attention
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
Onglet Tuning, réglez à No les paramètres Child processes fork twice et Enable environment macros.


logo_Centreon-Broker
Voilà, notre supervision fonctionne de nouveau sans problème.
comments powered by Disqus