Nagios twil

37
[SYSTEMES] Tuto installer Nagios-Centreon sous Ubuntu Écrit par GueuTzillA Mardi, 22 Décembre 2009 03:08 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

Transcript of Nagios twil

Page 1: Nagios twil

[SYSTEMES] Tuto installer Nagios-Centreon sous Ubuntu

Écrit par GueuTzillA   

Mardi, 22 Décembre 2009 03:08

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.

Page 2: Nagios twil

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

Page 3: Nagios twil

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

Page 4: Nagios twil

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" :

Page 5: Nagios twil

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

view source

print?01.ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin 02.<Directory "/usr/local/nagios/sbin"> 03.Options ExecCGI 04.AllowOverride None 05.Order allow,deny 06.Allow from all 07.AuthName "Nagios Access" 08.AuthType Basic 09.AuthUserFile /usr/local/nagios/etc/htpasswd.users 10.Require valid-user 11.</Directory> 12.Alias /nagios /usr/local/nagios/share 13.<Directory "/usr/local/nagios/share">

Page 6: Nagios twil

14.Options None 15.AllowOverride None 16.Order allow,deny 17.Allow from all 18.AuthName "Nagios Access" 19.AuthType Basic 20.AuthUserFile /usr/local/nagios/etc/htpasswd.users 21.Require valid-user 22.</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*

Page 7: Nagios twil

Créer ensuite un deamon ndo2db:

sudo pico /etc/init.d/ndo2db

Puis coller le script ci-dessous.

view source

print?001.#!/bin/sh 002.#  003.# 004.# chkconfig: 345 99 01 005.# description: Nagios to mysql 006.# 007.# Author : Gaëtan Lucas 008.# Realase : 07/02/08 009.# Version : 0.1 b 010.# File : ndo2db 011.# Description: Starts and stops the Ndo2db daemon 012.#              used to provide network services status in a database. 013.# 014.  015.status_ndo () 016.{ 017.if ps -p $NdoPID > /dev/null 2>&1; then 018.return 0 019.else 020.return 1 021.fi 022.return 1 023.} 024.printstatus_ndo() 025.{ 026.if status_ndo $1 $2; then 027.echo "ndo (pid $NdoPID) is running..." 028.else 029.echo "ndo is not running" 030.fi 031.} 032.killproc_ndo () 033.{ 034.echo "kill $2 $NdoPID" 035.kill $2 $NdoPID 036.} 037.pid_ndo () 038.{ 039.if test ! -f $NdoRunFile; then 040.echo "No lock file found in $NdoRunFile" 041.echo -n "         checking runing process..." 042.NdoPID=`ps h -C ndo2db -o pid` 043.if [ -z "$NdoPID" ]; then 044.echo "     No ndo2db process found" 045.exit 1 046.else 047.echo "     found process pid: $NdoPID" 048.echo -n "         reinit $NdoRunFile ..." 049.touch $NdoRunFile 050.chown $NdoUser:$NdoGroup $NdoRunFile

Page 8: Nagios twil

051.echo "$NdoPID" > $NdoRunFile 052.echo "     done" 053.fi 054.fi 055.NdoPID=`head $NdoRunFile` 056.} 057.# Source function library 058.# Solaris doesn't have an rc.d directory, so do a test first 059.if [ -f /etc/rc.d/init.d/functions ]; then 060.. /etc/rc.d/init.d/functions 061.elif [ -f /etc/init.d/functions ]; then 062.. /etc/init.d/functions 063.fi 064.prefix=/usr/local/nagios 065.exec_prefix=${prefix} 066.NdoBin=${exec_prefix}/bin/ndo2db 067.NdoCfgFile=${prefix}/etc/ndo2db.cfg 068.NdoRunFile=${prefix}/var/ndo2db.run 069.NdoLockDir=/var/lock/subsys 070.NdoLockFile=ndo2db.lock 071.NdoUser=nagios 072.NdoGroup=nagios 073.  074.# Check that ndo exists. 075.if [ ! -f $NdoBin ]; then 076.echo "Executable file $NdoBin not found.  Exiting." 077.exit 1 078.fi 079.# Check that ndo.cfg exists. 080.if [ ! -f $NdoCfgFile ]; then 081.echo "Configuration file $NdoCfgFile not found.  Exiting." 082.exit 1 083.fi 084.  085.# See how we were called. 086.case "$1" in 087.start) 088.echo -n "Starting ndo:" 089.touch $NdoRunFile 090.chown $NdoUser:$NdoGroup $NdoRunFile 091.$NdoBin -c $NdoCfgFile 092.if [ -d $NdoLockDir ]; then 093.touch $NdoLockDir/$NdoLockFile; 094.fi 095.ps h -C ndo2db -o pid > $NdoRunFile 096.if [ $? -eq 0 ]; then 097.echo " done." 098.exit 0 099.else 100.echo " failed." 101.$0 stop 102.exit 1 103.fi 104.;; 105.stop) 106.echo -n "Stopping ndo: " 107.pid_ndo 108.killproc_ndo 109.# now we have to wait for ndo to exit and remove its 110.# own NdoRunFile, otherwise a following "start" could 111.# happen, and then the exiting ndo will remove the

Page 9: Nagios twil

112.# new NdoRunFile, allowing multiple ndo daemons 113.# to (sooner or later) run 114.#echo -n 'Waiting for ndo to exit .' 115.for i in 1 2 3 4 5 6 7 8 9 10 ; do 116.if status_ndo > /dev/null; then 117.echo -n '.' 118.sleep 1 119.else 120.break 121.fi 122.done 123.if status_ndo > /dev/null; then 124.echo  125.echo 'Warning - ndo did not exit in a timely manner' 126.else 127.echo 'done.' 128.fi 129.rm -f $NdoRunFile $NdoLockDir/$NdoLockFile 130.;; 131.status) 132.pid_ndo 133.printstatus_ndo ndo 134.;; 135.restart) 136.$0 stop 137.$0 start 138.;; 139.*) 140.echo "Usage: ndo {start|stop|restart|status}" 141.exit 1 142.;; 143.esac 144.  145.# 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

Page 10: Nagios twil

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:

Page 11: Nagios twil

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.

Page 12: Nagios twil

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

Page 13: Nagios twil

Configuration de l’interface:

Administrator login for centreon : admin

Administrator password : geekhelpme

Confirm password : geekhelpme

First name : you

Last name : geek

Administrator email : [email protected]

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:

Page 14: Nagios twil

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

Page 15: Nagios twil

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)

Page 16: Nagios twil

[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:

Page 17: Nagios twil

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.

Page 18: Nagios twil

# 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

Page 19: Nagios twil

 

# 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.

Page 20: Nagios twil

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

Page 21: Nagios twil

#         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

Page 22: Nagios twil

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 :

Page 23: Nagios twil

/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

Page 24: Nagios twil

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

Page 25: Nagios twil

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'

Page 26: Nagios twil

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:

Aller dans /usr/local/nagios/libexec

./check_centreon_snmp_memory -H 127.0.0.1 -C public -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

Page 27: Nagios twil

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)

Page 28: Nagios twil

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.

Page 29: Nagios twil

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:

Page 30: Nagios twil

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"

Page 31: Nagios twil

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.

Page 32: Nagios twil

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)

Mise à jour le Samedi, 03 Avril 2010 13:30

 

Utilisateur

Identification

Syndication

ATOM Dossiers