Installation de Centreon 2

Publié le 23 juin 2008 par Nicolargo

Le but de ce billet est de détailler l’installation et la configuration de Centreon 2 avec Nagios 3.

Centreon est un logiciel libre permettant d’ajouter une couche applicative au logiciel Nagios. Centreon lui offre une nouvelle interface et lui apporte de nouvelles fonctionnalités. Il va permettre de rendre la configuration de Nagios plus facile et d’avoir une interface graphique améliorée. Les techniciens de leurs côtés auront toujours accès aux informations techniques de Nagios (Source: Wiki Centreon).

Installation de Nagios 3

Je ne vais pas me paraphraser, la procédure pour installer Nagios 3 sous Linux (Ubuntu 8.04 mais la procédure est applicable avec d’autres distribution) se trouve ici.

Dans la suite de ce billet, je partirai sur l’hypothèse ou vous avez utilisés cette procédure pour l’installation de Nagios, que le process Nagios est lancé et que vous arrivez bien à accéder à la page Web: http://localhost/nagios/.

Installation des bases de données NDO et Centreon

Nagios (via le plugin NDO) et Centreon utilise une base de donnée de type MySQL. Voici une simple procédure pour installer MySQL server (il est possible d’utiliser une base de donnée existante, je vous laisse modifier la configuration dans ce cas, dans le fichier /usr/local/nagios/etc/nd2db.cfg):

# sudo apt-get install mysql-server
# sudo apt-get install php5-mysql
# sudo apt-get install libmysqlclient15-dev

Puis la création de la BD pour NDO (celle pour Centreon sera créé automatiquement):

# mysqladmin -u root -p create nagios
# mysql -u root -p mysql
mysql> GRANT ALL ON nagios.* TO ndouser@localhost IDENTIFIED BY ‘ndopassword’;
mysql> FLUSH PRIVILEGES;
mysql> exit

Installation du plugin NDO de Nagios

NDO est un plugin destiné a écrire les informations sur l’état des machines surveillées par Nagios dans une base de donnée. Cette dernière pourra alors être utilisée par un logiciel tiers (comme Centreon par exemple…) pour accéder de manière optimisée aux données de Nagios

Le plugin étant en développement, il faut faire l’installation à la main…

# sudo -s
# cd /usr/src
# wget http://dfn.dl.sourceforge.net/sourceforge/nagios/ndoutils-1.4b7.tar.gz

Pensez à remplacer le lien de téléchargement des NDOutils (http://dfn.dl.sourceforge.net/sourceforge/nagios/ndoutils-1.4b7.tar.gz) ainsi que la version (ndoutils-1.4b7.tar.gz au moment de la rédaction de ce billet) par la dernière version disponible (à chercher ici).

# tar zxvf ndoutils-1.4b7.tar.gz
# cd ndoutils-1.4b7
# ./configure - -with-mysql-lib=/usr/lib/mysql
# make
# cp src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o
# cp src/ndo2db-3x src/log2ndo src/file2sock /usr/local/nagios/bin/
# cp config/ndomod.cfg /usr/local/nagios/etc/
# vi /usr/local/nagios/etc/ndomod.cfg

event_broker_options=-1
broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg

# cp config/ndo2db.cfg /usr/local/nagios/etc/
# chown nagios:nagios /usr/local/nagios/bin/*
# chown nagios:nagios /usr/local/nagios/etc/ndo*

On initialise la base de donnée:

# cd db
# ./installdb -u ndouser -p ndopassword -h localhost -d nagios

PS: dans mon cas j’ai rencontré une erreur lors de l’installation de la base de donnée (./installdb):

… Table ‘nagios.nagis_dbversion’ doesn’t exist at ./installdb line 51…

mais sans conséquence sur le bon fonctionnement de Nagios

Il ne reste plus qu’a lancer NDO et à relancer Nagios:

# /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
# /etc/init.d/nagios restart
# exit

Pour automatiser le lancement de NDO au démarrade de Nagios, il faut modifier le script /etc/init.d/nagios et y ajouter les deux lignes suivantes (en gras):

start)

echo -n “Starting nagios:”

$NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;

if [ $? -eq 0 ]; then

su - $NagiosUser -c “/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg”

su - $NagiosUser -c “touch $NagiosVarDir/nagios.log $NagiosRetentionFile”

stop)

echo -n “Stopping nagios: “

pid_nagios

killproc_nagios nagios

su - $NagiosUser -c “skill ndo2db-3x”

Installation de Centreon 2

Avant de compiler Centreon 2, il est nécessaire d’installer les pré-requis suivants:

# sudo apt-get install rrdtool
# sudo apt-get install librrds-perl
# sudo apt-get install mailx
# sudo apt-get install php-pear
# sudo apt-get install snmp snmpd
# sudo apt-get install php5 libapache2-mod-php5
# sudo apt-get install php5-gd php5-ldap php5-snmp

Puis finir par un rédémarrage de votre serveur Web Apache:

# sudo /etc/init.d/apache2 restart

Une fois ces pré-requis installés, vous pouvez installer Centreon 2 en tapant les commandes suivantes:

# sudo -s
# cd /usr/src
# wget http://download.oreon-project.org/index.php?id=83
# tar zxvf centreon-2.0-b4.tar.gz
# cd centreon-2.0-b4

Pensez à remplacer le lien de téléchargement de Centreon (http://download.oreon-project.org/index.php?id=83) ainsi que la version (centreon-2.0-b4 au moment de la rédaction de ce billet) par la dernière version disponible (à chercher ici).

Ensuite, vous pouvez lancer l’assistant d’installation:

# ./install.sh

Do you accept GPL license ?

[y/n], default to [n]: > y

Do you want to install : Centreon Web Front

[y/n], default to [n]: > y

Do you want to install : Centreon CentCore

[y/n], default to [n]: > y

Do you want to install : Centreon Nagios Plugins

[y/n], default to [n]: > y

Do you want to install : Centreon Snmp Traps process

[y/n], default to [n]: > y

Where is your Centreon directory?

default to [/usr/local/centreon] > /usr/local/centreon

Do you want me to create this directory ? [/usr/local/centreon]

[y/n], default to [n]: > y

Where is your Centreon log directory

default to [/usr/local/centreon/log] > /usr/local/centreon/log

Do you want me to create this directory ? [/usr/local/centreon/log]

[y/n], default to [n]: > y

Where is your Centreon etc directory

default to [/etc/centreon] > /etc/centreon

Do you want me to create this directory ? [/etc/centreon]

[y/n], default to [n]: > y

Where is your Centreon generation_files directory?

default to [/usr/local/centreon] > /usr/local/centreon

Where is the RRD perl module installed [RRDs.pm]

default to [/usr/lib/perl5/RRDs.pm] > /usr/lib/perl5/RRDs.pm

Where is mail binary

default to [/usr/bin/mail] > /usr/bin/mail

Where is PEAR [PEAR.php]

default to [/usr/share/php/PEAR.php] > /usr/share/php/PEAR.php

Where is installed Nagios ?

default to [/usr/local/nagios] > /usr/local/nagios

Where is your nagios config file

default to [/usr/local/nagios/etc/nagios.cfg] > /usr/local/nagios/etc/nagios.cfg

Where is your Nagios var directory ?

default to [/usr/local/nagios/var] > /usr/local/nagios/var

Where is your Nagios plugins (libexec) directory ?

default to [/usr/local/nagios/libexec] > /usr/local/nagios/libexec

Where is your nagios binary ?

default to [/usr/local/nagios/bin/nagios] > /usr/local/nagios/bin/nagios

Where is your Nagios image directory ?

default to [/usr/local/nagios/share/images/logos] > /usr/local/nagios/share/images/logos

Where is your nagiostats binary ?

default to [/usr/local/nagios/bin/nagiostats] > /usr/local/nagios/bin/nagiostats

Do you want to use NDO ?

[y/n], default to [n]: > y

Where is your NDO ndomod binary ?

default to [/usr/sbin/ndomod.o] > /usr/local/nagios/bin/ndomod.o

Where is sudo configuration file

default to [/etc/sudoers] > /etc/sudoers

Do you want me to configure your sudo ? (WARNING)

[y/n], default to [n]: > y

Do you want to write in Apache configuration file ?

[y/n], default to [n]: > y

Do you want to reload your Apache ?

[y/n], default to [n]: > y

Do you want me to install/upgrade your PEAR modules

[y/n], default to [y]: > y

Where is your Centreon Run Dir directory?

default to [/var/run/centreon] > y

Do you want me to create this directory ? [/var/run/centreon]

[y/n], default to [n]: > y

Where is your CentStorage binary directory

default to [/usr/local/centreon/bin] > /usr/local/centreon/bin

Do you want me to create this directory ? [/usr/local/centreon/bin]

[y/n], default to [n]: > y

Where is your CentStorage RRD directory

default to [/var/lib/centreon] > y

Do you want me to create this directory ? [/var/lib/centreon]

[y/n], default to [n]: > y

Do you want I install CentStorage init script ?

[y/n], default to [n]: > y

Do you want I install CentStorage run level ?

[y/n], default to [n]: > y

Where is your Centreon variable library directory?

default to [/var/lib/centreon] > /var/lib/centreon

Where is your CentCore binary directory

default to [/usr/local/centreon/bin] > /usr/local/centreon/bin

Do you want I install CentCore init script ?

[y/n], default to [n]: > y

Do you want me to install CentCore run level ?

[y/n], default to [n]: > y

Where is your CentPlugins lib directory

default to [/var/lib/centreon/centplugins] > /var/lib/centreon/centplugins

Do you want me to create this directory ? [/var/lib/centreon/centplugins]

[y/n], default to [n]: > y

Where is your SNMP configuration directory

default to [/etc/snmp] > /etc/snmp

Where is your SNMPTT binaries directory

default to [/usr/local/centreon/bin/] > /usr/local/centreon/bin/

Where is your CentPlugins Traps binary

default to [/usr/local/centreon/bin] > /usr/local/centreon/bin

Puis vous connecter à l’interface d’admin: http://localhost/centreon/

Et enfin finaliser l’installation:

  

# exit

Exportation de la configuration de Centreon vers Nagios

Votre Nagios va se servir de la configuration de votre Centreon, il faut donc vous loguer sur l’interface d’administration: http://localhost/centreon/.

Puis aller dans le menu Configuration/Centreon et cliquer sur ndo2db.cfg et éditer les paramètres comme ci-dessous:

Sous-menu General:

Sous-menu Database:

Puis aller dans le menu Configuration/Centreon et cliquer sur ndomod.cfg et éditer les paramètres comme ci-dessous:

Enfin la dernière étape est d’exporter la configuration de Centreon vers Nagios (menu Configuration / Nagios):

Et voilà vous avez un beau système Nagios/centreon fonctionnel, à vous d’y entrer votre réseau.