Vous êtes ici:

Menu

Stacks Image 60790
Article en attente de mise à jour

Migration Nagios vers Centreon Engine

Stacks Image 275
Le but de cet article est de vous présenter la migration de Nagios vers Centreon Engine. Nous partirons de la maquette présentée précédemment dans l'architecture distribuée. Nous commencerons par le serveur Satellite puis par le serveur Central.
Notre objectif est de limiter l'interruption de service pour éviter le plus possible la perte d'informations.
Stacks Image 290
Un petit rappel de la configuration de l'architecture distribué

Compilation du moteur Centreon-Engine


Nous commencerons par préparer l'ordonnanceur CentEngine.Connectez-vous en terminal sur le serveur Satellite. Nous avons besoin du paquet gsoap.
apt-get install gsoap

Ensuite, récupérez l'archive CentEngine de Centreon. Déposez le dans le dossier /usr/local/src
cd /usr/local/src
tar xzf centreon-engine-1.1.0.tar.gz
cd centreon-engine-1.1.0/build
cmake -DWITH_USER=nagios -DWITH_GROUP=nagios -DWITH_PREFIX=/usr/local/centengine .

La configuration de l'application avant compilation est très simple. On utilise l'utilisateur et le groupe nagios. Le programme sera installé dans le dossier /usr/local/centengine.
-- 
--
-- Configuration Summary
-- ---------------------
--
-- Version: 1.1.0
-- Unit test: No
-- Extra Compilation Flags:
-- Prefix: /usr/local/centengine
-- Binary Directory: /usr/local/centengine/bin
-- Configuration Directory: /usr/local/centengine/etc
-- Library Directory: /usr/local/centengine/lib/centreon-engine
-- Var Directory: /usr/local/centengine/var
-- Include Directory: /usr/local/centengine/include/centreon-engine
-- Pkg-config Directory: /usr/lib/pkgconfig
-- Check Result Directory: /usr/local/centengine/spool/checkresults
-- RW Directory: /usr/local/centengine/var/rw
-- Temporary Directory: /tmp
-- Startup Script: No
-- User: nagios
-- Group: nagios
-- Deb Package Creation: No
-- RPM Package Creation: No
--
--
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/src/centreon-engine-1.1.0/build

Vous devriez avoir ces informations avant la compilation.
make
make install

Votre ordonnanceur CentEngine est installé. Modifiez les droits du dossier /usr/local/centengine/var
chown -R nagios:nagios /usr/local/centengine/var

Modifier les droits du fichier resource.cfg
chown nagios:nagios resource.cfg


Installation des plugins


On utilisera les plugins installés avec Nagios pour minimiser les modifications. En effet, les commandes de vérifications utilisent la macro $USER1$. Celle-ci, dans notre architecture, pointe sur le dossier /usr/local/nagios/libexec et est commune aux deux serveurs Central et Satellite.

Nouvelle compilation du module Centreon-Broker


Nous devons modifier l'emplacement du broker pour CentEngine.
cd /usr/local/src/centreon-broker-2.1.1/build
make clean
cmake -DWITH_PREFIX=/usr/local/centreon-broker -DWITH_PREFIX_LIBRARY=/usr/local/centengine/bin .

Le résultat nous indique le bon dossier /usr/local/centengine/bin
-- 
-- Centreon Broker Installation Summary
--
-- System Linux
-- - Version 2.6.32-5-686
-- - Processor i686
-- Compiler /usr/bin/c++
-- - Flags
-- Centreon Broker
-- - Version 2.1.1
-- Qt
-- - Version 4.6.3
-- Installation Directory /usr/local/centreon-broker
-- - Archive Directory lib
-- - Binary Directory bin
-- - Library Directory /usr/local/centengine/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.1/build

Compilez et installez le programme.
make
make install

Vous pouvez vérifier que votre broker s'installe dans le bon dossier.
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/centengine/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


Modification sudo


Nous devons autoriser l'utilisateur nagios du serveur Central à réaliser certaines actions sur le serveur Satellite. Nous utiliserons le programme sudo à cet effet. Pour modifier le fichier /etc/sudoers, utilisez la commande visudo.
visudo

Modifiez le fichier en ajoutant ces commandes.
nagios ALL=NOPASSWD: /etc/init.d/centengine restart
nagios ALL=NOPASSWD: /etc/init.d/centengine stop
nagios ALL=NOPASSWD: /etc/init.d/centengine start
nagios ALL=NOPASSWD: /etc/init.d/centengine reload
nagios ALL=NOPASSWD: /usr/local/centengine/bin/centenginestats
nagios ALL=NOPASSWD: /usr/local/centengine/bin/centengine *

Relancer sudo
/etc/init.d/sudo restart


Configuration du serveur Satellite


Connectez-vous sur l'interface Centreon. Nous allons modifier les paramètres de configuration Nagios et du poller du serveur Satellite.

Configuration Nagios (CentEngine)


Sélectionnez le menu Configuration / Nagios / nagios.cfg. Modifiez nagios.cfg associé au serveur Satellite.
migration_engine01
Onglet Files, modifiez les paramètres suivant :
Object Configuration Directory : /usr/local/centengine/etc/
Status file : /usr/local/centengine/var/status.log
Log file : /usr/local/centengine/var/centengine.log
Temp File : /usr/local/centengine/var/centengine.tmp
Lock File : /usr/local/centengine/var/centengine.lock
External Command File : /usr/local/centengine/var/rw/centengine.cmd

migration_engine02
Onglet Log Options, modifiez les paramètres suivant :
Log Archive Path : /usr/local/centegine/var/archives
State Retention File : /usr/local/centengine/var/retention.dat

migration_engine03
Onglet Data, modifiez les paramètres suivant :
NDO use... : /usr/local/centengine/bin/cbmod.so /usr/local/centengine/etc/satellite-module.xml

migration_engine04
Onglet Admin, modifiez les paramètres suivant :
Embedded Perl initialisation file : /usr/local/centengine/bin/p1.pl


Modification du poller


Vous devez modifier le poller du serveur Satellite. Sélectionnez Configuration / Centreon / Pollers. Sélectionnez le poller du serveur Satellite.
migration_engine05
Modifiez l'ordonnanceur et sélectionnez Centreon Engine. Modifiez les paramètres suivant :
Engine : Centreon Engine
Nagios Init Script : /etc/init.d/centengine
Scheduler Binary : /usr/local/centengine/bin/centengine
Nagios Statistics Binary : /usr/local/centengine/bin/centenginestats
Perfdata file : /usr/local/centengine/var/service-perfdata
Centreon Broker modules path : /usr/local/centengine/etc


Vérifier la configuration du script de démarrage /etc/init.d/centengine. à partir de la version 1.1.2, le script est automatiquement remplacé par la nouvelle version. Centengine doit utilisé le fichier de configuration nagios.cfg et non centengine.cfg.
Modifiez la ligne suivante s'il y a lieu :
config_file=/usr/local/centengine/etc/nagios.cfg


Application de la configuration


Arrêtez l'ordonnanceur nagios sur le satellite et désactivez le service.
/etc/init.d/nagios stop
update-rc.d nagios remove

Appliquez la configuration et redémarrez avec l'ordonnanceur Centengine sur le serveur Satellite
migration_engine06
Vous ne devez pas avoir d'erreur.
migration_engine07
Vous pouvez vérifier le bon fonctionnement du poller Satellite.
Voila_Capture1750
Centreon Engine est identifié Nagios 1.1.0. Une autre vérification peut-être réalisée :
root@satellite:~# ls -l /usr/local/centengine/etc
total 148
-rw-r--r-- 1 root root 45008 12 juin 07:31 centengine.cfg
-rw-r--r-- 1 nagios nagios 1766 13 juin 19:25 centreon.conf
-rw-r--r-- 1 nagios nagios 1852 13 juin 19:25 cgi.cfg
-rw-r--r-- 1 nagios nagios 9259 13 juin 19:25 checkcommands.cfg
-rw-r--r-- 1 nagios nagios 1276 13 juin 19:25 contactgroups.cfg
-rw-r--r-- 1 nagios nagios 1447 13 juin 19:25 contacts.cfg
-rw-r--r-- 1 nagios nagios 1089 13 juin 19:25 contactTemplates.cfg
-rw-r--r-- 1 nagios nagios 1089 13 juin 19:25 dependencies.cfg
-rw-r--r-- 1 nagios nagios 1089 13 juin 19:25 escalations.cfg
-rw-r--r-- 1 nagios nagios 1170 13 juin 19:25 hostgroups.cfg
-rw-r--r-- 1 nagios nagios 1293 13 juin 19:25 hosts.cfg
-rw-r--r-- 1 nagios nagios 2537 13 juin 19:25 hostTemplates.cfg
-rw-r--r-- 1 nagios nagios 3353 13 juin 19:25 misccommands.cfg
-rw-r--r-- 1 nagios nagios 3761 13 juin 19:25 nagios.cfg
-rw-r--r-- 1 nagios nagios 3002 13 juin 19:25 nagiosCFG.DEBUG
-rw-r--r-- 1 nagios nagios 1089 13 juin 19:25 ndo2db.cfg
-rw-r--r-- 1 nagios nagios 1113 13 juin 19:25 ndomod.cfg
drwxr-xr-x 2 root root 4096 12 juin 07:35 objects
-rw-r--r-- 1 nagios nagios 1124 13 juin 19:25 resource.cfg
-rw-r--r-- 1 nagios nagios 836 13 juin 19:25 satellite-module.xml
-rw-r--r-- 1 nagios nagios 1089 13 juin 19:25 servicegroups.cfg
-rw-r--r-- 1 nagios nagios 1890 13 juin 19:25 services.cfg
-rw-r--r-- 1 nagios nagios 4632 13 juin 19:25 serviceTemplates.cfg
-rw-r--r-- 1 nagios nagios 1993 13 juin 19:25 timeperiods.cfg

On vérifie le fonctionnement de Centcore. Les fichiers de configurations ont bien été appliqués.

Et voilà, votre serveur Satellite est fin prêt avec Centreon Engine avec un minimum d'interruption. Une fois toute votre infrastructure de supervision migrée sous Centreon Engine, vous pourrez déplacer vos commandes de plugins vers /usr/local/centengine/libexec et modifiez le paramètre $USER1$
comments powered by Disqus
 Vous êtes ici: