Cet article remis à jour vous décrit la migration de votre broker de NDOUTILS vers Centreon-Broker. Si vous utilisez NAGVIS, vous devrez utiliser un broker supplémentaire MK livestatus. Cette solution est possible depuis les versions 2.3x et supérieures de Centreon. Je vous propose deux solutions de migrations.
Avertissement, avant de vous lancer à tombeau ouvert sur l'upgrade de votre installation de supervision favorite, faites tous les essais et recettes nécessaires pour vérifier le bon fonctionnement de votre infrastructure. Deux essais valent mieux qu'un ! N'hésitez pas à réaliser une installation de recette pour valider tous les modifications et ne me dites pas que je ne vous ai pas prévenus :-)
1 Rappel des principes des brokers
1.2 Fonctionnement existant avec NDOutils
Ci-dessous, le fonctionnement de votre infrastructure actuelle. Le but de notre article : remplacer les quatre processus ndomod, ndo2db, service-perfdata et centstorage.
Vous avez donc le choix du mode de fonctionnement avec Centreon-broker :
Pour l'intégration de Nagvis avec Centreon_broker, voir cet article.
- soit de n'utiliser que la fonction de récupération des évènements et de l'enregistrer dans la base Centstorage. La base Centstatus n'aura plus aucune utilité. Attention si vous utilisez Nagvis, il faudra rajouter un broker compatible avec celui-ci.
- soit utiliser toutes les fonctionnalités de Centreon-Broker, la fonctionnalité perfdata devra être désactivée et le service rrd de Centreon-Broker devra être activé.
Pour l'intégration de Nagvis avec Centreon_broker, voir cet article.
1.3 1ère Solution - Centreon-Broker avec Perfdata
Cette solution est une solution transitoire. Elle est conseillée seulement dans le cadre d'une migration en douceur. Pour améliorer les performances, il faudra rapidement passer à la solution sans Perfdata et Centstorage.
1.4 2ème Solution - Centreon-Broker full sans perfdata
Cette solution est la configuration minimale avec un seul processus cbd. Centreon-broker est composé d'un flux entrant et de trois flux sortants, le flux TCP entrant récupère les événements Nagios grâce au module cbmod. Le processus Centreon-Broker envoie les événements et les données de performances pour les stocker dans la base Censtorage. Le deuxième, le troisième flux écrire les données rrd. Dans cette configuration, nous n'aurons plus besoin du processus centstorage
Cette deuxième solution est la configuration par défaut lors d'une installation de Centreon. Elle utilise deux processus cbd. Elle offre plus de souplesse surtout dans une architecture distribuée.
2 Pré requis
Nous prendrons pour exemple une distribution Debian 6 avec Nagios 3.3.1 et Centreon 2.3.9, voir mes exemples de maquette.
2.1 vérification de Nagios
Tout d'abord, il faudra vérifier la compatibilité de Nagios avec la librairie ltdl, voir le ticket sur la forge de Centreon. Saisissez la ligne de commande suivante.
La commande doit vous retourner le message suivant
Dans le cas contraire, désinstallez la librairie et recompilez Nagios.
objdump -T /usr/local/nagios/bin/nagios | grep dlopen
La commande doit vous retourner le message suivant
00000000 DF *UND* 00000000 GLIBC_2.1 dlopen
Dans le cas contraire, désinstallez la librairie et recompilez Nagios.
cd /usr/local/src/nagios
apt-get remove libltdl-dev
make clean
./configure --prefix=/usr/local/nagios --with-nagios=nagios --with-nagios-group=nagios
--with-command-user=nagios --with-command-group=nagcmd --enable-event-broker
--enable-nanosleep --enable-embedded-perl --with-perlcache
make all
/etc/init.d/nagios stop
make install
/etc/init.d/nagios start
2.1 Prérequis Centreon-Broker
Téléchargez les paquets Debian suivant
Prévoyez environ 200 Mo d'espace pour les binaires.
apt-get install cmake libqt4-dev librrd-dev
Prévoyez environ 200 Mo d'espace pour les binaires.
2.1 Compilation de Centreon-Broker
Téléchargez les sources ou récupérez-les sur la forge de Centreon.
Configurer la compilation
Ne pas oublier le point séparé par un espace à la fin. Vous devriez avoir ces lignes suivantes
Compilez et installez
A la fin de l'installation, vous devriez avoir ces lignes suivantes :
Notre supervision est toujours en état de fonctionnement. A partir du paragraphe suivant, nous aurons une interruption de production, pensez-y...
Continuons avec la première solution avec Perfdata ou la seconde solution sans Perfdata
wget http://download.centreon.com/index.php?id=4252 --output-document=centreon-broker-2.1.2.tar.gz
tar xzf centreon-broker-2.1.2.tar.gz
cd centreon-broker-2.1.2
Configurer la compilation
cd build
cmake -DWITH_PREFIX=/usr/local/centreon-broker -DWITH_PREFIX_LIBRARY=/usr/local/nagios/bin .
Ne pas oublier le point séparé par un espace à la fin. Vous devriez avoir ces lignes suivantes
-- Centreon Broker Installation Summary
--
-- System Linux
-- - Version 2.6.32-5-686
-- - Processor i686
-- Compiler /usr/bin/c++
-- - Flags
-- Centreon Broker
-- - Version 2.1.2
-- Qt
-- - Version 4.6.3
-- Installation Directory /usr/local/centreon-broker
-- - Archive Directory lib
-- - Binary Directory bin
-- - Library Directory /usr/local/nagios/bin
-- - Modules Directory lib/centreon-broker
-- Unit tests disabled
-- Documentation disabled
--
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/src/centreon-broker-2.1.2/build
Compilez et installez
make
make install
A la fin de l'installation, vous devriez avoir ces lignes suivantes :
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/centreon-broker/lib/libroker.a
-- Installing: /usr/local/centreon-broker/bin/cbd
-- Installing: /usr/local/centreon-broker/lib/centreon-broker/10-neb.so
-- Installing: /usr/local/nagios/bin/cbmod.so
-- Installing: /usr/local/centreon-broker/lib/centreon-broker/50-file.so
-- Installing: /usr/local/centreon-broker/lib/centreon-broker/60-compression.so
-- Installing: /usr/local/centreon-broker/lib/centreon-broker/20-correlation.so
-- Installing: /usr/local/centreon-broker/lib/centreon-broker/50-local.so
-- Installing: /usr/local/centreon-broker/lib/centreon-broker/70-rrd.so
-- Installing: /usr/local/centreon-broker/lib/centreon-broker/80-sql.so
-- Installing: /usr/local/centreon-broker/lib/centreon-broker/20-storage.so
-- Installing: /usr/local/centreon-broker/lib/centreon-broker/50-tcp.so
-- Installing: /usr/local/centreon-broker/lib/centreon-broker/80-ndo.so
Notre supervision est toujours en état de fonctionnement. A partir du paragraphe suivant, nous aurons une interruption de production, pensez-y...
Continuons avec la première solution avec Perfdata ou la seconde solution sans Perfdata