|
Voici un tuto qui vous permettra d’installer un serveur de supervision SNMP, WMI et autres pour votre parc et votre/vos réseaux basé sur le couple Open Source Nagios - Centreon.
Ce tuto est réalisé sous Ubuntu 9.10 server sur une installation clean d’ubuntu avec Nagios 3.2.0 et Centreon 2.1.3.
Tous à vos claviers... C'est partit
1] Installation des prés requis:
Pour ma part je vais installer les prés requis en root et je switcherai sur l’utilisateur nagios après donc si vous n’êtes pas en root, penser a bien rajouter "sudo" devant les commandes ;o)
Package divers:
apt-get install sudo mailx lsb-release ou apt-get install sudo mailx lsb-release postfix
Attention cette dernière installe postfix pour l’envoi de mail et un prompt vous demandera d’interagir lors de l’installation de postfix)

Compiler: apt-get install build-essential
Server Web (apache) et PHP5:
apt-get install apache2 apache2-mpm-prefork apt-get install php5 php5-mysql apt-get install php-pear php5-ldap php5-snmp php5-gd
MySQL:
apt-get install mysql-server-5.0 libmysqlclient15-dev
Pendant l’installation de mysql, vous avez un prompt qui vous demande de saisir le mot de passe du server mysql. Dans le tuto nous mettrons nagios. Ensuite un deuxième prompt apparait, revalider votre mot de passe.

RRDTool:
apt-get install rrdtool librrds-perl
Perl:
apt-get install libconfig-inifiles-perl libcrypt-des-perl libdigest-hmac-perl libdigest-sha1-perl libgd-gd2-perl
SNMP:
apt-get install snmp snmpd libnet-snmp-perl libsnmp-perl
Les librairies GD:
apt-get install libgd2-xpm libgd2-xpm-dev libpng12-dev Et enfin 2 paquets qui nous servirons pour la suite : apt-get install dnsutils fping
Pour les personnes qui veulent tout, tout de suite:
apt-get install sudo mailx lsb-release postfix build-essential apache2 apache2-mpm-prefork php5 php5-mysql php-pear php5-ldap php5-snmp php5-gd mysql-server-5.0 libmysqlclient15-dev rrdtool librrds-perl libconfig-inifiles-perl libcrypt-des-perl libdigest-hmac-perl libdigest-sha1-perl libgd-gd2-perl snmp snmpd libnet-snmp-perl libsnmp-perl libgd2-xpm libgd2-xpm-dev libpng12-dev dnsutils fping
Je vous conseil vivement d’installer également un serveur SSH si ce n’est pas déjà fait:
apt-get install openssh-server
2] Création du compte et ajout des droits:
Il nous faut à présent créer un utilisateur nagios car il est préférable de ne pas utiliser le compte root pour l’installation mais plutôt ce compte qui exécutera les plugins et autre scripts ce qui nous permettra de voir s’il y a des problèmes de droits ou autre. En effet la majeure partie des problèmes rencontrés viennent du fait que les personnes utilisent le compte root pour faire leur install et du coup cela occasionne bon nombre de complication lié aux droits.
Création du compte user et des groupes pour une bonne utilisations de Nagios:
Si vous êtes connecté en root tapé les commandes suivantes
/usr/sbin/useradd -m nagios passwd nagios Enter new UNIX password: nagios Retype new UNIX password: nagios psswd: Password updated successfully /usr/sbin/groupadd nagcmd /usr/sbin/usermod -G nagios,nagcmd nagios /usr/sbin/usermod -G nagios,nagcmd www-data
Pour le passwd vous pouvez bien évidement prendre le password de votre choix dans le tuto nous prendront "nagios".
Si vous n’êtes pas connecter en root:
sudo /usr/sbin/useradd -m nagios sudo passwd nagios sudo /usr/sbin/groupadd nagcmd sudo /usr/sbin/usermod -G nagios,nagcmd nagios sudo /usr/sbin/usermod -G nagios,nagcmd www-data

Voilà donc pour résumé, nous créons un compte utilisateur, un groupe nagcmd pour exécuter les commandes du poller Nagios et un groupe nagios pour les droits. Le compte utilisateur nagios est ajouter à ces 3 groupes (nagmcd, nagios, nagcmd).
A présent, je vous conseil de vous déloguer et de vous connecter avec le compte nagios créer juste avant puis tester la commande sudo ifconfig pour vérifier que vous pouvez utiliser sudo correctement.
Nous allons donc maintenant commencer l’installation…
3] Installation de Nagios:
Sur certains tuto, c'est à ce moment que les comptes nagios et autres groupes sont créés. Pour ma part, j’ai préférer les créer avant et me connecter avec mon compte nagios pour la suite.
Placer vous dans un répertoire de travail le répertoire home par exemple:
cd /home/nagios/
Puis créer un répertoire download et placer vous dans ce répertoire:
mkdir download cd download
Une fois dans ce répertoire, taper:
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.0.tar.gz

Puis décompresser l’archive de nagios:
tar xvzf nagios-3.2.0.tar.gz
Une fois décompressé, nous allons installer le programme:
cd nagios-3.2.0/
./configure --prefix=/usr/local/nagios --with-command-group=nagcmd --enable-nanosleep --enable-event-broker
C’est partit…

Puis, éffectuer les commandes suivantes:
make all sudo make install sudo make install-init sudo make install-commandmode sudo make install-config

Voilà, Nagios est installer, nous allons maintenant installer le plugin Nagios…
Replacer vous dans le répertoire download avec un "cd .."
Puis télécharger "nagios-plugins-1.4.14.tar.gz" :
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz
Décompresser le puis placer vous dans le répertoire:
tar xvzf nagios-plugins-1.4.14.tar.gz cd nagios-plugins-1.4.14/
Ensuite configurer le:
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl=/usr/bin/openssl make sudo make install

Voilà Nagios et son plugin sont installés.
Configurons maintenant l’accès Web de Nagios:
Créer le htaccess: (nous prendrons nagios dans le tuto)
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagios New password:nagios Re-type new password:nagios Adding password for user nagios
Editer le fichier httpd.conf comme suis:
sudo pico /etc/apache2/httpd.conf
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
<Directory "/usr/local/nagios/sbin">
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
</Directory>
Alias /nagios /usr/local/nagios/share
<Directory "/usr/local/nagios/share">
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
</Directory>
Puis redémarrer le serveur apache:
sudo service apache2 restart
Voilà si vous tapez http://IP_DU_SERVER/nagios un prompt doit apparaitre. Saisissez donc le login et pass saisi lors de la création du htaccess (nagios, nagios pour le tuto) et vous devriez avoir ceci:

4] Installation NDO partie 1:
Passons maintenant à NDO.
replacer vous dans le répertoire download puis télécharger NDOutils :
cd .. wget http://prdownloads.sourceforge.net/sourceforge/nagios/ndoutils-1.4b9.tar.gz
Puis décompresser l’archive pour procéder à une installation manuelle:
tar xvzf ndoutils-1.4b9.tar.gz cd ndoutils-1.4b9
Configurer NDO:
./configure --prefix=/usr/local/nagios/ --enable-mysql --disable-pgsql \ --with-ndo2db-user=nagios --with-ndo2db-group=nagios make
Et enfin, procéder à l’installation:
sudo cp ./src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o sudo cp ./src/ndo2db-3x /usr/local/nagios/bin/ndo2db sudo cp ./config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg sudo cp ./config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg sudo chmod 775 /usr/local/nagios/bin/ndo* sudo chown nagios:nagios /usr/local/nagios/bin/ndo*
Créer ensuite un deamon ndo2db:
sudo pico /etc/init.d/ndo2db
Puis coller le script ci-dessous.
#!/bin/sh
#
#
# chkconfig: 345 99 01
# description: Nagios to mysql
#
# Author : Gaëtan Lucas
# Realase : 07/02/08
# Version : 0.1 b
# File : ndo2db
# Description: Starts and stops the Ndo2db daemon
# used to provide network services status in a database.
#
status_ndo ()
{
if ps -p $NdoPID > /dev/null 2>&1; then
return 0
else
return 1
fi
return 1
}
printstatus_ndo()
{
if status_ndo $1 $2; then
echo "ndo (pid $NdoPID) is running..."
else
echo "ndo is not running"
fi
}
killproc_ndo ()
{
echo "kill $2 $NdoPID"
kill $2 $NdoPID
}
pid_ndo ()
{
if test ! -f $NdoRunFile; then
echo "No lock file found in $NdoRunFile"
echo -n " checking runing process..."
NdoPID=`ps h -C ndo2db -o pid`
if [ -z "$NdoPID" ]; then
echo " No ndo2db process found"
exit 1
else
echo " found process pid: $NdoPID"
echo -n " reinit $NdoRunFile ..."
touch $NdoRunFile
chown $NdoUser:$NdoGroup $NdoRunFile
echo "$NdoPID" > $NdoRunFile
echo " done"
fi
fi
NdoPID=`head $NdoRunFile`
}
# Source function library
# Solaris doesn't have an rc.d directory, so do a test first
if [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
elif [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
fi
prefix=/usr/local/nagios
exec_prefix=${prefix}
NdoBin=${exec_prefix}/bin/ndo2db
NdoCfgFile=${prefix}/etc/ndo2db.cfg
NdoRunFile=${prefix}/var/ndo2db.run
NdoLockDir=/var/lock/subsys
NdoLockFile=ndo2db.lock
NdoUser=nagios
NdoGroup=nagios
# Check that ndo exists.
if [ ! -f $NdoBin ]; then
echo "Executable file $NdoBin not found. Exiting."
exit 1
fi
# Check that ndo.cfg exists.
if [ ! -f $NdoCfgFile ]; then
echo "Configuration file $NdoCfgFile not found. Exiting."
exit 1
fi
# See how we were called.
case "$1" in
start)
echo -n "Starting ndo:"
touch $NdoRunFile
chown $NdoUser:$NdoGroup $NdoRunFile
$NdoBin -c $NdoCfgFile
if [ -d $NdoLockDir ]; then
touch $NdoLockDir/$NdoLockFile;
fi
ps h -C ndo2db -o pid > $NdoRunFile
if [ $? -eq 0 ]; then
echo " done."
exit 0
else
echo " failed."
$0 stop
exit 1
fi
;;
stop)
echo -n "Stopping ndo: "
pid_ndo
killproc_ndo
# now we have to wait for ndo to exit and remove its
# own NdoRunFile, otherwise a following "start" could
# happen, and then the exiting ndo will remove the
# new NdoRunFile, allowing multiple ndo daemons
# to (sooner or later) run
#echo -n 'Waiting for ndo to exit .'
for i in 1 2 3 4 5 6 7 8 9 10 ; do
if status_ndo > /dev/null; then
echo -n '.'
sleep 1
else
break
fi
done
if status_ndo > /dev/null; then
echo
echo 'Warning - ndo did not exit in a timely manner'
else
echo 'done.'
fi
rm -f $NdoRunFile $NdoLockDir/$NdoLockFile
;;
status)
pid_ndo
printstatus_ndo ndo
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: ndo {start|stop|restart|status}"
exit 1
;;
esac
# End of this script
Faite CTRL + X puis entrée pour enregistrer les changements puis Y (ou O) pour valider.
Ajouter ensuite le daemon au démarrage:
sudo update-rc.d ndo2db defaults sudo chmod +x /etc/init.d/ndo2db
Voilà le daemon ndo2db est maintenant près.
5] Installations de Centreon:
Placer vous dans le répertoire de téléchargement créé plus haut puis télécharger Centreon:
cd /home/nagios/download/ wget http://download.centreon.com/centreon/centreon-2.1.3.tar.gz
Décompresser Centreon:
tar xvzf centreon-2.1.3.tar.gz cd centreon-2.1.3/
Définissez un chemin pour les binaires de nagios, ndomod, etc…
export PATH="$PATH:/usr/local/nagios/bin/"
Puis lancer l’installation de Centreon:
sudo ./install.sh -i
Descendez tout en bas du contrat de licence puis accepté en cliquant "Y".
Répondez "Y" à toutes les questions posées lors du process d’installation :

Et valider les chemins par défaut lors de l’installation.
Arriver au moment où il vous est proposé:
Where is your NDO ndomod binary ? default to [/usr/sbin/ndomod.o] >
Entrer le chemin du fichier que nous avons utilisé lors de l’installation NDO:
Where is your NDO ndomod binary ? default to [/usr/sbin/ndomod.o] > /usr/local/nagios/bin/ndomod.o

Puis continuer en acceptant les chemins par défaut et en mettant "Y" à chaques questions.
Lorsque l’installer vous demande de mettre à jour les librairies PEAR, taper "Y" et valider. Ceci va lancer les mises à jour des modules pear:

Continuer en validant les chemins par défaut et en mettant "Y" à chaques questions.
Voilà Centreon est installé. Il ne rester plus qu’à faire un reload du serveur apache.
sudo service apache2 reload

Nous allons maintenant finaliser l’installation de Centreon par le WEB ;o)
Ouvrer votre navigateur préférer et lancer l’url suivante: http://IP_DU_SERVEUR/centreon
Dans le tuto : http://192.168.17.129/centreon

Cliquer sur "start" :
Cochez accepter les termes puis next.
Laissez la configuration de l’environnement par défaut puis next.

Vérifier que tout est ok puis next:

Configuration de la base de données: Les mots de passes suivant s’applique si vous avez suivi le tuto avec les mots de pass "nagios".
Root password for MySQL : nagios Centreon database name : centreon Centstorage database name : centstorage NDO database name : centstatus Database password : nagios Confirm it : nagios Database location : (ne rien mettre) Centreon web interface location : (ne rien mettre) MySQL client version : 4.1 - PASSWORD
Puis next

Vérifier que tout est ok puis next

Configuration de l’interface:
Administrator login for centreon : admin Administrator password : geekhelpme Confirm password : geekhelpme First name : you Last name : geek Administrator email :
Cette adresse email est protégée contre les robots des spammeurs, vous devez activer Javascript pour la voir.
Puis next

LDAP Authentification:
Enable LDAP Authentification : NO
Important mettez bien NO ici !!! Vous pourrez éventuellement le configurer ultérieurement.

Vérifier ensuite que tout les fichiers de conf soit OK:

Vérifier que la création de database est ok:

Et enfin accéder à centreon ;o)
Cliquer sur "Click here to complete your install"

Afin de vérifier le compte créer lors du setup, logguer vous ;o)
Login : admin Password : geekhelpme

Voilà nous allons passer aux configurations de bases post installation.
Installation des LOCALE.
Revenez donc sous le shell :
sudo apt-get install gettext
Vérifier tout d’abord les locale de votre système:
locale

Pour ma part je suis donc en "fr_FR.UTF-8"
Créer les répertoires des locales:
sudo mkdir /usr/local/centreon/www/locale/fr_FR.UTF-8/ sudo mkdir /usr/local/centreon/www/locale/fr_FR.UTF-8/LC_MESSAGES/
placer vous dans le répertoire de download et télécharger le language pack:
cd /home/nagios/download wget http://download.centreon.com/index.php?id=119 Décompresser l’archive:
tar xvzf centreon-2.1-fr_FR-1.0.tgz cd centreon-2.1-fr_FR-1.0/LC_MESSAGES/
[EDIT] Si vous avez mis à jour ou installer la version 2.1.5 de Centreon, je vous recommande également de mettre à jour votre pack de langue avec le dernier pack FR qui corrige un problème d'encodage UTF8.
La manoeuvre reste presque identique:
cd /home/nagios/download wget http://download.centreon.com/index.php?id=127
Décompresser l’archive: tar xvzf centreon-2.1-fr_FR-1.1.tgz cd centreon-2.1-fr_FR-1.1/LC_MESSAGES
Et voilà vous pouvez continuer ;o) [FIN EDIT]
Copie du fichier de locale:
sudo cp messages.mo /usr/local/centreon/www/locale/fr_FR.UTF-8/LC_MESSAGES/messages.mo
Pour vérifier que la locale c’est bien installé, logguer vous sur centreon (http://IP_DU_SERVER/centreon) puis aller dans : Configuration -> Users , sélectionner votre utilisateur (admin) et vérifier que vous pouvez sélectionner fr_FR.UTF-8.

Ensuite reloader le server apache.
sudo service apache2 reload
Voilà centreon en fr ;o)
Donner ensuite les droits sur les répertoires nagios:
sudo chown -R nagios:nagios /usr/local/nagios sudo chmod -R 775 /usr/local/nagios sudo chown -R nagios:www-data /usr/local/nagios/etc sudo chmod -R 775 /usr/local/nagios/etc sudo chown -R nagios:www-data /usr/local/nagios/share sudo chmod -R 775 /usr/local/nagios/share
Et centreon:
sudo chown -R nagios:nagios /usr/local/centreon sudo chmod -R 775 /usr/local/centreon sudo chown -R nagios:www-data /usr/local/centreon/cron sudo chmod -R 775 /usr/local/centreon/cron sudo chown -R nagios:www-data /usr/local/centreon/doc sudo chmod -R 775 /usr/local/centreon/doc sudo chown -R www-data:nagios /usr/local/centreon/log sudo chmod -R 775 /usr/local/centreon/log sudo chown -R www-data:www-data /usr/local/centreon/www sudo chmod -R 775 /usr/local/centreon/www sudo chown -R www-data:www-data /usr/local/centreon/GPL_LIB sudo chmod -R 775 /usr/local/centreon/GPL_LIB
6] Installation NDO partie 2:
Nous allons maintenant finaliser la configuration NDO.
Création de la base de donnée ndo:
mysql -u root -pnagios CREATE DATABASE `ndo` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; exit

mysql -u root -pnagios ndo < /home/nagios/download/centreon-2.1.3/www/install/createNDODB.sql
Puis donné les droits à l’utilisateur sur la base:
mysql -u root -pnagios GRANT ALL PRIVILEGES ON `ndo` . * TO 'centreon'@'localhost' IDENTIFIED BY 'nagios'; flush privileges; exit
Vérifier ensuite la présence du fichier ndo2db.cfg puis éditer le:
ls -l /usr/local/nagios/etc/ sudo pico /usr/local/nagios/etc/ndo2db.cfg
Puis éditer comme suis:
##################################################################### # NDO2DB DAEMON CONFIG FILE # # Last Modified: 01-02-2009 #####################################################################
# LOCK FILE # This is the lockfile that NDO2DB will use to store its PID number # in when it is running in daemon mode.
lock_file=/usr/local/nagios/var/ndo2db.lock
# USER/GROUP PRIVILIGES # These options determine the user/group that the daemon should run as. # You can specify a number (uid/gid) or a name for either option.
ndo2db_user=nagios ndo2db_group=nagios
# SOCKET TYPE # This option determines what type of socket the daemon will create # an accept connections from. # Value: # unix = Unix domain socket (default) # tcp = TCP socket
socket_type=unix #socket_type=tcp
# SOCKET NAME # This option determines the name and path of the UNIX domain # socket that the daemon will create and accept connections from. # This option is only valid if the socket type specified above # is "unix".
socket_name=/usr/local/nagios/var/ndo.sock
# TCP PORT # This option determines what port the daemon will listen for # connections on. This option is only vlaid if the socket type # specified above is "tcp".
tcp_port=5668
# ENCRYPTION # This option determines if the ndo2db daemon will accept SSL to encrypt the # network traffic between module and ndo2db daemon. # Both sides have to enable this feature which depends on SSL Libraries # like openssl or kerberos # This option is only valid if the output type # option specified above is "tcpsocket". # # A value of '1' will enable this feature
use_ssl=0
# DATABASE SERVER TYPE # This option determines what type of DB server the daemon should # connect to. # Values: # mysql = MySQL # pgsql = PostgreSQL
db_servertype=mysql
# DATABASE HOST # This option specifies what host the DB server is running on.
db_host=localhost
# DATABASE PORT # This option specifies the port that the DB server is running on. # Values: # 3306 = Default MySQL port # 5432 = Default PostgreSQL port
db_port=3306
# DATABASE NAME # This option specifies the name of the database that should be used.
db_name=nagios
# DATABASE TABLE PREFIX # Determines the prefix (if any) that should be prepended to table names. # If you modify the table prefix, you'll need to modify the SQL script for # creating the database!
db_prefix=nagios_
# DATABASE USERNAME/PASSWORD # This is the username/password that will be used to authenticate to the DB. # The user needs at least SELECT, INSERT, UPDATE, and DELETE privileges on # the database.
db_user=centreon db_pass=nagios db_name=ndo
## TABLE TRIMMING OPTIONS # Several database tables containing Nagios event data can become quite large # over time. Most admins will want to trim these tables and keep only a # certain amount of data in them. The options below are used to specify the # age (in MINUTES) that data should be allowd to remain in various tables # before it is deleted. Using a value of zero (0) for any value means that # that particular table should NOT be automatically trimmed.
# Keep timed events for 24 hours max_timedevents_age=1440
# Keep system commands for 1 week max_systemcommands_age=10080
# Keep service checks for 1 week max_servicechecks_age=10080
# Keep host checks for 1 week max_hostchecks_age=10080
# Keep event handlers for 31 days max_eventhandlers_age=44640
# Keep external commands for 31 days max_externalcommands_age=44640
# DEBUG LEVEL # This option determines how much (if any) debugging information will # be written to the debug file. OR values together to log multiple # types of information. # Values: -1 = Everything # 0 = Nothing # 1 = Process info # 2 = SQL queries
debug_level=0
# DEBUG VERBOSITY # This option determines how verbose the debug log out will be. # Values: 0 = Brief output # 1 = More detailed # 2 = Very detailed
debug_verbosity=1
# DEBUG FILE # This option determines where the daemon should write debugging information.
debug_file=/usr/local/nagios/var/ndo2db.debug
# MAX DEBUG FILE SIZE # This option determines the maximum size (in bytes) of the debug file. If # the file grows larger than this size, it will be renamed with a .old # extension. If a file already exists with a .old extension it will # automatically be deleted. This helps ensure your disk space usage doesn't # get out of control when debugging.
max_debug_file_size=1000000
Connecter vous ensuite sur centreon (http://IP_DU_SERVER/centreon) Aller sur Configuration -> Nagios -> Nagios.cfg puis cliquer sur "Nagios CFG 1"

Ensuite vérifier sous l’onglet Données, les champs "Commande de lancement du module", "Option de lancement du module" et "Fichier de données de performance de service" doivent etre configurer comme suis:
Commande de lancement du module :
/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg
Option de lancement du module :
-1
Fichier de données de performance de service :
/usr/local/nagios/var/service-perfdata
Puis cliquer sur "Sauvegarder"

Ensuite sous Configuration -> Centreon -> ndo2db.cfg

Mettre dans "Nom de la socket" :
/usr/local/nagios/var/ndo.sock
Puis sous Configuration -> Centreon -> ndomod.cfg

Compléter comme suis :
Type d’interface : unixsocket
Status détailler : /usr/local/nagios/var/ndo.sock
Fichier tampon : /usr/local/nagios/var/ndomod.tmp
Puis sauvegarder (en haut a droite)
Tester maintenant de démarrer les services :
sudo service nagios start sudo service ndo2db start
Aller ensuite sur Configuration -> Nagios
Cochez toute les options présentes puis exporter.

Vérifier qu’il n’y ai pas d’erreur lors de l’export de la conf.

Puis vérifier que le lien NDO s'établi correctement:
tail -f /usr/local/nagios/var/nagios.log | grep ndomod
Vous devriez avoir ceci:
[1261436831] ndomod: NDOMOD 1.4b9 (10-27-2009) Copyright (c) 2009 Nagios Core Development Team and Community Contributors [1261436831] ndomod: Successfully connected to data sink. 0 queued items to flush. [1261436831] Event broker module '/usr/local/nagios/bin/ndomod.o' initialized successfully.
Une foi que tout est ok, configurer les permissions cgi de Nagios.
Aller sur Configuration -> Nagios -> cgi

Editer CGI.cfg
Remplacer les users nagiosadmin par nagios
Puis remplacer dans "Méthode d'affichage par défaut de la carte des états" en" Circular (Marked Up)".

Puis sauvegarder.
Aller ensuite dans Configuration -> Nagios -> Ressources, puis éditer $USER2$ avec le nom de la communauté que vous avez paramétré sur vos hôtes.

Configurer ensuite Centstorage :
Sous : Administration -> Options -> Centstorage Editer comme le screenshot

Puis aller sous Configuration -> Nagios
Cocher toutes les options, méthode " Redémarrer " puis exporter.
Voilà l’installation de base est à présent terminée.
Par défaut le serveur nagios est ajouter à Nagios/Centreon sous le nom centreon-server.
Nous allons maintenant configurer brièvement les services comme snmp par exemple.
Pour configurer snmp, éditer le fichier snmpd.conf :
sudo pico /etc/snmp/snmpd.conf
Localiser la ligne :
com2sec paranoid default public
Commenter la ligne avec # puis décommenter la ligne au dessous et éventuellement éditer la communauté :
#com2sec paranoid default public com2sec readonly default geekhelpme #com2sec readwrite default private
Ensuite éditer le fichier snmpd
sudo pico /etc/init.d/snmpd
Trouver la ligne au début :
TRAPDRUN=no et TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid'
Puis modifier comme suis :
TRAPDRUN=yes TRAPDOPTS='-On -LF d /usr/local/nagios/var/snmptrap.log -c /etc/snmp/snmptrapd.conf -p /var/run/snmpdtrapd.pid'

Editer ensuite le fichier /etc/default/snmpd
sudo pico /etc/default/snmpd
Configurer :
TRAPDRUN=yes TRAPDOPTS='-On -LF d /usr/local/nagios/var/snmptrap.log -c /etc/snmp/snmptrapd.conf -p /var/run/snmpdtrapd.pid'

Puis CTRL + X, O (ou Y) puis entrer.
Enfin redémarrer le service snmpd:
sudo service snmpd restart
Vérifier la présence des 2 process snmp : ps -aux | grep snmp
snmp 11540 0.1 0.4 9540 4160 ? S 03:21 0:00 /usr/sbin/snmpd -Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1 root 11543 0.0 0.1 8796 1652 ? Ss 03:21 0:00 /usr/sbin/snmptrapd -On -LF d /usr/local/nagios/var/snmptrap.log -c /etc/snmp/snmptrapd.conf -p /var/run/snmpdtrapd.pid nagios 11576 0.0 0.0 3052 812 pts/0 S+ 03:22 0:00 grep --color=auto snmp
Test manuel d’un plugin pour vérifier les droits:
La communauté SNMP ayant été modifier dans le tuto par le nom "geekhelpme" taper la ligne suivante (l'option -C correspond au nom de la communauté snmp): NB: Si vous avez laisser la communauté par défaut qui est public, remplacer l'option "-C geekhelpme" par "-C public"
Aller dans /usr/local/nagios/libexec
./check_centreon_snmp_memory -H 127.0.0.1 -C geekhelpme -v 1 -w 80 -c 90
Et vous devriez avoir un retour du genre :
total memory used : 11% ram used : 37%, swap used 0% | used=189804544o size=1643266048o
Si c’est le cas, les droits pour l’exécution des plugins avec le compte nagios sont ok
Ajouter un hôte sous centreon :
Aller sous Configuration -> Hôtes

Vous retrouverez déjà ici le serveur local (Centreon-server ajouter lors de l’install) Nous allons faire le test pour le même serveur.
Compléter les champs : Nom de l'hôte, alias, Adresse IP, nom de communauté SNMP et version.
Ensuite ajouter un modèle :
Cliquer sur le + devant Ajouter un modèle et choisissez generic-host puis cocher créer aussi les services lié:

Dans notification ajouter les utilisateurs qui doivent recevoir les alertes et les heures ou le service doit etre checker (workour, 24/24, etc…)

Cliquer ensuite sur Relations puis ajouter l’hôte à un group d’hôtes (dans l’exemple Linux)

Sauvegarder puis allers sous : Configuration -> Nagios et cocher toute les cases puis exporter.
Vérifier qu’il n’y a pas d’erreur à l’export puis vérifier sur Nagios et Centreon que le nouvel hôte est bien la…

Il est possible que vous ayez un bug d’affichage des hôtes sous centreon visiblement lié à la version de NDO.
Le problème est que les hôtes apparaissent correctement dans Nagios mais aucun n’apparait dans centreon !!!
Voici comment fixer le problème :
cd /home/nagios/download/ sudo apt-get install subversion svn co http://svn.centreon.com/trunk/Patch-NDOutils/ cd Patch-NDOutils/ ./configure --prefix=/usr/local/nagios/ --enable-mysql --disable-pgsql --with-mysql-lib=/usr/lib/mysql (vous pouvez avoir un problème de permissions non accordée pour le ./configure, si c’est le cas pas de souci un petit :sudo chmod 775 configure règlera votre problème) make sudo service nagios stop sudo cp /home/nagios/download/Patch-NDOutils/src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o sudo cp /home/nagios/download/Patch-NDOutils/src/ndo2db* /usr/local/nagios/bin/ sudo service nagios start sudo service ndo2db restart
Puis vérifié que vous avez bien quelque chose du genre : tail -f /usr/local/nagios/var/nagios.log
[1261447270] ndomod: Successfully connected to data sink. 122 items lost, 5000 queued items to flush. [1261447277] ndomod: Successfully flushed 5000 queued items to data sink.
Laisser nagios collecter les graph et admirer...

Vous pouvez maintenant commencer la configuration de vos hôtes et de vos plugins sérieusement.
[EDIT] Après avoir appliqué le patch NDO, il est possible quela configuration du socket est changé en TCP.
Vérifiez sous : Configuration --> Centreon --> ndo2db.cfg --> Principal
Dans les champs: Type de socket : Unix Nom de la socket : /usr/local/nagios/var/ndo.sock
Et dans : Configuration --> Centreon --> ndomod.cfg --> Central-mod
Les champs: Type d'interface : unixsocket status détaillé : /usr/local/nagios/var/ndo.sock
Ensuite relancer les services centcore et centstorage
sudo service centcore restart sudo service centstorage restart
Puis sous centreon, retournez dans : Configuration --> nagios
Cochez toutes les cases, méthode exporter puis redémarrer.
Et voilà ;o)
NOTE IMPORTANTE:
Entre la rédaction du tuto et la publication, une nouvelle version de Centreon est sortie la 2.1.4!!!
Voici les changements:
fix: extended information is loaded properly (for hosts and services) fix: adds timestamp on host external commands fix: remove special char in log output fix: remove error when user create nagios.cfg file fix: remove errors when laoding nagios.cfg file enhancement: add auto deploy service attached to hosts templates on hosts when loading cfg files fix: fix problem with str_replace and URL_notes and URL_actions #1288 fix: fix error with ACL and / and \ fix: problem to load LDAP contact fix: nagiosPerfTrace => ssh port is now used fix: problem with ACL in monitoring enhancement : improve performance in treeview for graphs and logs fix: enlarge all munti selet in configuration form fix: improve ACL in monitoring fix: security patch in ping tool (thanks J. Cayssol) fix: security patch in traceroute tool (thanks J. Cayssol) fix: security patch in ldap import (thanks J. Cayssol)
Suivez la procédure pour éfféctuer la mise à jour.
Loguer vous sur le shell via SSH ou sur la console avec le compte nagios.
Placer vous dans le répertoire download créé lors de la mise en place du tuto puis télécharger la dernière version.
cd /home/nagios/download wget http://download.centreon.com/index.php?id=4242

Décompresser l’archive puis lancer le processus de mise à jour :
tar xvzf centreon-2.1.4.tar.gz cd centreon-2.1.4/
Puis lancer le processus de mise à jour :
sudo bash install.sh -u "/etc/centreon"

Comme lors de l’installation, répondez "Y" à toutes les questions et accepter les chemins par défaut.

Voilà puis reloader le serveur apache.
sudo service apache2 reload

Ensuite, ouvrez votre navigateur préférer et taper l’url d’accès à centreon (pour rappel dans le tuto http://192.168.17.129/centreon)
Vous arrivez donc à la mise à jour de la base de donnée et autre. Suivez donc les étapes.
1. Welcome to Centreon Upgrade Setup : cliquer sur " start " 2. Licence : cochez « I accept » puis cliquer sur next. 3. Verifying Configuration : Vérifier que tout est OK puis next. 4. Select Version : MySQL Scripts 2.1.3 to 2.1.4 puis next.

5. Updating Centreon : Vérifier que tout est OK puis cliquer sur next. 6. Post-Installation : cliquer sur « Click here to complete install »
Vous arrivez maintenant sur la page de login. Vérifier que la version est correct puis loguer vous ;o)

Enjoy ^_^ Vous êtes maintenan à jour.
Sachez qu’il existe énormément de plugins sans compter ceux que vous pouvez développer vous même et que quasiment tout est customisable. Ce tuto est la pour la mise en place basique et je ferais surement une suite pour les configurations un peu plus approfondie ;o)
Plus d’info :
- Site web nagios - Site Centreon - Forum Centreon - Wiki centreon
En espérant que ce tuto vous ai aidé ;o) N’hésitez pas a venir sur le forum si vous avez des questions ou des remarque à ajouter ;o)
|