Cet article est la suite de l’article sur Nagios. C’est la dernière étape pour la mise en place de notre serveur de monitoring.
L’installation de Centreon se fait en 2 parties. Il faut d’abord installer les NDOutils pour enregistrer les informations envoyées par Nagios en db. Puis, il faut installer Centreon lui-même.
NDOutils
Il faut commencer par installer les NDOutils avant d’installer Centreon.
On commence par installer le serveur MySQL ainsi que les bibliothèques MySQL :
apt-get install mysql-server apt-get install libmysqlclient15-dev |
On peut les récupérer à l’adresse suivante : http://www.nagios.org/download/addons ou via la commande suivante :
wget http://prdownloads.sourceforge.net/sourceforge/nagios/ndoutils-1.4b8.tar.gz # On extrait l'archive et on change de répertoire tar xvf ./ndoutils-1.4b8.tar.gz cd ./ndoutils-1.4b8 |
On lance le ./configure en spécifiant quel type de db on va utiliser (ici mysql)
./configure --prefix=/usr/local/nagios/ --enable-mysql --disable-pgsql --with-mysql-lib=/usr/lib/mysql # On enchaîne avec make make |
Bug avec l’outil NDOutils sur Debian : http://forum.centreon.com/f10/no-host-in-monitoring-home-views-t8428/page2.html
apt-get install subversion cd /tmp/ svn co http://svn.centreon.com/trunk/Patch-NDOutils/ cd ./Patch-NDOutils/ chmod u+x ./configure ./configure --prefix=/usr/local/nagios/ --enable-mysql --disable-pgsql –-with-mysql-lib=/usr/lib/mysql make /etc/init.d/nagios stop cp /tmp/Patch-NDOutils/src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o cp /tmp/Patch-NDOutils/src/ndo2db-3x /usr/local/nagios/bin/ndo2db chown -R nagios:nagios /usr/local/nagios/bin/ chmod -R 774 /usr/local/nagios/bin/ /etc/init.d/nagios start |
Mise en place de la db pour les NDOutils :
On crée la base de données ndo, qui contiendra toutes les infos.
mysqladmin -uroot -p create ndo |
Une fois la base créée, il faut lancer le script pour créer la structure (pensez à bien vous mettre dans le répertoire db, sinon ça ne marche pas).
cd ./db ./installdb -u user -p mdp -h localhost -d ndo |
Vous devriez avoir le message suivant qui s’affiche :
DBD::mysql::db do failed: Table 'nagios.nagios_dbversion' doesn't exist at ./installdb line 51. ** Creating tables for version 1.4b8 Using mysql.sql for installation... ** Updating table nagios_dbversion Done! |
L’erreur n’empêche pas de continuer, on revient au répertoire supérieur ( cd .. )
On copie le module compilé de NDOutils dans le répertoire de nagios ainsi que le fichier de conf :
cp ./src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o cp ./config/ndomod.cfg /usr/local/nagios/etc/ |
Ensuite on édite le fichier nagios.cfg pour que nagios prenne en compte le nouveau module :
vi /usr/local/nagios/etc/nagios.cfg |
Il faut rajouter cette ligne dans la partie BROKER MODULE :
broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg |
Tant que vous êtes dans le fichier nagios.cfg, il faut vérfier que la ligne suivante soit présente :
event_broker_options=-1 |
Cette ligne permet à nagios d’envoyer des infos à des modules.
Mise en place du daemon ndo2db, attention, il y’a une version pour nagios 2 et une version pour nagios 3, on met aussi en place son fichier de conf :
cp ./src/ndo2db-3x /usr/local/nagios/bin/ndo2db cp ./config/ndo2db.cfg /usr/local/nagios/etc/ |
On modifie /usr/local/nagios/etc/ndo2db.cfg pour mettre en place les bons paramètres (base de données, utilisateur, mot de passe …)
Et on lance le tout avec la commande suivante, cela permet de vérifier que pour l’instant nous n’avons pas d’erreur :
/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg |
Malheureusement, NDOutils ne se lance pas automatiquement au démarrage. Je vous conseille donc de récupérer le script init à l’adresse suivante : http://www.nicolargo.com/blogdata/ndo2db .
wget --user-agent="Mozilla/5.0 (X11;U; Linux i686; en-GB; rv:1.9.1) Gecko/20090624 Ubuntu/9.04 (jaunty) Firefox/3.5" http://www.nicolargo.com/blogdata/ndo2db |
Avant de l’installer, vérfier que ces 2 lignes correspondent bien à votre configuration :
NdoUser=nagios NdoGroup=nagiosgrp |
Il faut y transformer en :
NdoUser=nagios NdoGroup=nagios |
Ensuite, on met en place le fichier ndo2db dans /etc/init.d/ et on lui ajoute les bons droits.
cp ./ndo2db /etc/init.d/ chown root:root /etc/init.d/ndo2db chmod 755 /etc/init.d/ndo2db update-rc.d ndo2db defaults |
On met aussi les bons droits aux binaires et fichiers de conf que nous venons de rajouter :
# Modification des droits sur les binaires chown -R nagios:nagios /usr/local/nagios/bin/ chmod -R 774 /usr/local/nagios/bin/ # Modification des droits sur les fichiers de configuration chown -R nagios:nagios /usr/local/nagios/etc/ chmod -R 774 /usr/local/nagios/etc/ |
Enfin, on lance ndo2db et on relance nagios :
/etc/init.d/ndo2db start /etc/init.d/nagios restart |
Centreon
On commence par installer toutes les dépendances nécessaires à Centreon. En fonction de votre distribution, certains paquets peuvent déjà être installés :
apt-get install sudo apt-get install rrdtool librrds-perl apt-get install libconfig-inifiles-perl libcrypt-des-perl libdigest-hmac-perl libdigest-sha1-perl libgd-gd2-perl apt-get install snmp snmpd libnet-snmp-perl libsnmp-perl apt-get install mailx apt-get install php-pear apt-get install php5 libapache2-mod-php5 apt-get install php5-gd php5-ldap php5-snmp php5-mysql apt-get install libgd2-xpm libgd2-xpm-dev libpng12-dev |
Il faut récupérer la version 2 pour nagios 3 sur le site de centreon : http://www.centreon.com/Centreon/download.html
Ou via la commande suivante :
wget http://download.centreon.com/index.php?id=105 |
On extrait l’archive et on va dans le répertoire de centreon :
tar xf ./centreon-2.0.2.tar.gz cd ./centreon-2.0.2 # Puis on lance l'installation : ./install.sh -i |
Répondez aux différentes questions (je vais pas détailler), prenez votre temps, et lisez bien ce qu’ils vous aient demandés.
Faites la maj des modules php-pear si nécessaires.
Mise à jour de la structure de la db ndo pour ajouter le support des ACL :
# Nous sommes toujours dans notre dossier centreon
cd ./www/install/ mysql -u root -p ndo < ./createNDODB.sql |
Une fois l’installation finie, vous devez vous connecter à l’interface web pour finir la configuration :
http://votreip/centreon/
Une fois toute la configuration finie, vous devez vous logguer.
Et vous devriez avoir un message d’erreur sur la page d’accueil, ce message est normal. Il faut configurer Centreon pour qu’il se connecte à la db ndo.
Il faut aller dans la partie configuration, centreon et choisir dans le menu de gauche ndo2db.cfg. Ensuite, on clique sur le poller principal, on modifie l’onglet General et Database. Dans l’onglet General, on modifie le Socket Type et le Socket Name. Et dans l’oglet Database, on modifie l’utilisateur et le mot de passe de connexion à la db ainsi que le nom de la db si besoin est.
Socket Type : unix
Socket Name : /usr/local/nagios/var/ndo.sock
Une fois sauvegardé, il faut modifier le fichier ndomod.cfg. Dans ce fichier, il faut modifier 3 lignes Interface Type, Output et Buffer File.
Interface Type : unixsocket
Output: /usr/local/nagios/var/ndo.sock
Buffer File : /usr/local/nagios/var/ndomod.tmp
Et voilà, votre Centreon est opérationnel. Par contre, j’ai du le redémarrer après l’installation.
penses a laisser une intro (genre un ligne)
comme ca on s’embête pas a chercher ‘c’est quoi ca déjà?’ 🙂
sinon j’essayerai de l’installer sur une vm a l’occaz 😉
Je vais réfléchir à l’idée de l’intro.
Mais sinon, j’ai vérifié ma procédure à coup de copier/coller et ça marche 😀
Bonjour,
j’ai installe icinga a la place de nagios
est ce la meme procedure pour centreon ?
car on me connectant sur http://ip/centreon
pas d’affichage , erreur page non trouve
merci
Bonjour,
Je n’ai pas essayé d’installer Centreon avec Icinga. Pendant une période Centreon ne supportait pas Icinga, je ne sais pas si ça a changé.
Plusieurs petites erreurs :
– le fichier socket n’est pas ndo.lock mais plutot ndo.sock
– si on utilise l’installation de l’article précedent sur Nagios, du coup la base de données de Centreon ‘centstorage’ devient ‘ndo’, et il faut le modifier dans Configuration / Centreon / ndo2db.cfg / database / Database name -> ndo
Merci,
J’ai corrigé les ndo.lock en ndo.sock, sur mes captures d’écrans c’étaient correctes.
Je rajouterais une capture d’écran pour la modification du nom de la base de données.