Migration Nagios vers Centreon Engine
Notre objectif est de limiter l'interruption de service pour éviter le plus possible la perte d'informations.
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.
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
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
Onglet Data, modifiez les paramètres suivant :
NDO use... : /usr/local/centengine/bin/cbmod.so /usr/local/centengine/etc/satellite-module.xml
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.
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
Vous ne devez pas avoir d'erreur.
Vous pouvez vérifier le bon fonctionnement du poller Satellite.
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$