Centreon-Broker sans Perdata de Nagios
Principes - rappel
Je vous propose une mise à jour de l'architecture Centreon-Broker en simplifiant les flux. Je me suis basé sur le Wizard de la version 2.4 de Centreon. Les nouvelles installations de Centreon propose un deuxième processus rrd offrant plus de modularité surtout dans une architecture distribuée.
Paramétrage de l'interface Centreon
Se connecter à l'interface Centreon. Sélectionnez le menu Administration / Options / Options / Monitoring
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
Désactivez ndo2db.cfg.
Désactivez ndomod.cfg.
Configuration Centreon-Broker
Central-module
Sélectionnez le menu à gauche Configuration de Centreon-Broker. Configurons le premier module.
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.
Onglet Logger, ajouter un logger et saisir :
Name of the logger : /usr/local/centreon/log/central-module.log
Laisser le reste par défaut.
Onglet Output, ajouter TCP-IPv4 et saisir
Name : Central-Module-Ouput
Connection port : 5668
Host to connect to : 127.0.01
Central-broker
Nous allons maintenant configurer le module Broker.
Onglet général, saisir :
Name : Central-broker
Config file name : central-broker.xml
Onglet Input, ajouter TCP-IPv4 et saisir
Name : Central Master
Connection port : 5668
Onglet Logger, ajouter un logger et saisir :
Name of the logger : /usr/local/centreon/log/central-broker.log
Onglet Output, Il faut rajouter trois output. Dans l'ordre 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
Ensuite ajouter Storage - Perfdata Generator (Centreon Storage)
Name : Perfdata Master
Interval Length : 60
RRD Length : 15552000
DBType : MySQL
DB Host : 127.0.0.1
DB Port : 3306
DB user : centreon
DB password : password
DB name : centstorage
Attention, il y a une coquille sur le document wiki pour Centreon-Broker il faut trois 5 et non quatre comme indiqué sur le document pour RRD Length.
Onglet Output, Il faut ajouter RRD - RRD File Generator et saisir
Name : RRD-File
Metrics RRD Directory : /var/lib/centreon/metrics
Status RRD Directory : /var/lib/centreon/status
Voici la configuration de Centreon-Broker.
Modification du Poller
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
Modifiez le broker NDOutil par Centreon-Broker, saisissez la ligne suivante :
/usr/local/nagios/bin/cbmod.so /etc/centreon/broker/central-module.xml
Désactivez l'option Performance Data Processing Option pour Nagios, Centreon-Broker se chargera d'effectuer cette tâche.
Redémarrage de la supervision
Nous allons stopper la supervision et le processus Centstorage. On désactive Centstorage.
/etc/init.d/nagios stop
/etc/init.d/centstorage stop
update-rc.d centstorage remove
Pour éviter le redémarrage du processus centstorage, désactivez les commandes suivantes dans le script /usr/local/centreon/cron/centreonPurge.sh. Celui-ci fait le nettoyage de la base Centstorage tous les jours à 2 h 00. Normalement, il est programmé pour arrêter le processus centstorage et le redémarrer à la fin du nettoyage. Mettre en commentaires les lignes soulignées en rouge :
# sudo /etc/init.d/centstorage stop
# Wait a little
# sleep 10
/usr/local/centreon/cron/purgeCentstorage >> /usr/local/centreon/log/centreon-purge.log 2>&1
# Wait a little
sleep 10
/usr/local/centreon/cron/purgeLogs >> /usr/local/centreon/log/centreon-purge.log 2>&1
# Wait a little
# sleep 10
# sudo /etc/init.d/centstorage start
exit 0
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 Centreon-Broker
cd /usr/local/src/centreon-broker-2.1.2/script
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 démarrer celui-ci après le processus mysql. Initialisez le scripts de démarrage.
update-rc.d broker defaults
Relancer Nagios par l'interface de Centreon. Ceci permettra de créer les scripts pour Centreon-broker. Lancer les processus de Centreon-Broker.
/etc/init.d/broker start
Vérifiez le bon fonctionnement de votre supervision en visualisant les logs, modifiez les niveaux de détails pour faire éventuellement de la recherche d'incidents. Les graphes devraient fonctionner sans problème.
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
Onglet Tuning, réglez à No les paramètres Child processes fork twice et Enable environment macros.
Voilà, notre supervision fonctionne de nouveau sans problème.