Ce tutoriel est validé sur Debian 5.
Le schéma ci-dessous illustre l'architecture du serveur de surveillance sous Nagios / Centreon / Nagvis :
Installer les paquetages pré-requis :
apt-get install gcc make php5 apache2 build-essential libgd2-xpm-dev
Télécharger la dernière version sur : http://www.nagios.org/download/core
Création des groupes et compte pour Nagios :
/usr/sbin/groupadd nagcmd /usr/sbin/useradd -m -s /bin/bash nagios && passwd nagios /usr/sbin/usermod -G nagios nagios /usr/sbin/usermod -a -G nagcmd nagios /usr/sbin/usermod -a -G nagcmd www-data
Extraire l'archive :
tar xzf nagios-3.2.3.tar.gz cd nagios-3.2.3
Compiler et l'installer dans /usr/local/nagios
:
./configure --prefix=/usr/local/nagios make all make install make install-init make install-config make install-commandmode
Activer le démarrage automatique de Nagios :
update-rc.d nagios defaults
Télécharger la dernière version sur : http://www.nagios.org/download/plugins
Extraire l'achive :
tar xzf nagios-plugins-1.4.15.tar.gz cd nagios-plugins-1.4.15
Compiler et installer les plugins dans /usr/local/nagios
:
./configure --prefix=/usr/local/nagios make make install
Installer les paquetages pré-requis :
apt-get install mysql-server mysql-client libmysql++-dev
Télécharger la dernière version sur : http://prdownloads.sourceforge.net/sourceforge/nagios/ndoutils-1.4b9.tar.gz
Extraire l'archive et se positionner dans le répertoire décompressé :
tar xzf ndoutils-1.4b9.tar.gz cd ndoutils-1.4b9
Lancer la compilation :
./configure --prefix=/usr/local/nagios/ --enable-mysql --disable-pgsql --with-ndo2db-user=nagios --with-ndo2db-group=nagios make
Copier les fichiers binaires et configuration manuellement :
cp ./src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o cp ./src/ndo2db-3x /usr/local/nagios/bin/ndo2db chmod 774 /usr/local/nagios/bin/ndo* chown nagios:nagios /usr/local/nagios/bin/ndo*
Copier le script d'initialisation et activer le lancement au démarrage du système :
cp daemon-init /etc/init.d/ndo2db update-rc.d ndo2db defaults chmod 755 /etc/init.d/ndo2db
La base et la configuration de NDO sera initialisé plus tard depuis l'interface de Centreon
Installer les paquetages suivants :
apt-get install snmp snmpd apt-get install libnet-snmp-perl libsnmp-base libsnmp15
Editer le fichier /etc/snmp/snmpd.conf et définissez les communauté SNMP en filtrant l'accès qu'a certains réseaux :
com2sec readonly default public com2sec readonly 192.168.1.0/24 mynetwork
Activer le lancement de snmptrapd au lancement de snmpd. Editant le fichier /etc/default/snmpd et modifier les lignes suivantes :
TRAPDRUN=yes TRAPDOPTS='-On -Lf /var/log/net-snmpd.log -c /etc/snmp/snmptrapd.conf'
Redémarrer le service SNMP :
/etc/init.d/snmpd restart
Tester l'accès aux MIB d'un hôte distant :
snmpwalk -v 2c -c public 192.168.174.2
Installer les paquetages pré-requis :
apt-get install sudo rrdtool libpng3 libgd2-xpm-dev
Installer les modules PHP pré-requis :
apt-get install php5 php5-mysql php-pear php5-snmp php5-gd
Installer les modules PERL pré-requis :
apt-get install libconfig-inifiles-perl libcrypt-des-perl libdigest-hmac-perl libdigest-sha1-perl libio-socket-inet6-perl libnet-snmp-perl librrds-perl librrdp-perl libgd-gd2-perl libsocket6-perl
Vous pouvez installer les modules PERL également de la manières suivante :
perl -MCPAN -e shell cpan> install Config::IniFiles
Télécharger les dernière version sur : http://www.centreon.com/Centreon/download.html
Si vous souhaitez ne pas utiliser les chemins par défaut de Centreon modifier les variables du fichier ./centreon-2.1.9/varinstall/vars
Extraire l'achive et lancer l'installation :
tar xzf centreon-2.1.9.tar.gz cd centreon-2.1.9 ./install.sh -i
Il suffit de valider ou répondre aux questions. En voici pour exemple un extrait
Pour installer le package en Français de Centreon :
Télécharger le package sur : http://www.centreon.com/Centreon/language-packs.html
Extrait l'archive et se positionner dedans :
tar xzf centreon-2.1-fr_FR-1.2.tgz cd centreon-2.1-fr_FR-1.2
Créer dynamiquement le répertoire de la langue du système et copier les fichiers de traduction :
mkdir -p /usr/local/centreon/www/locale/$(locale | grep LC_MESSAGES | cut -d \" -f 2)/LC_MESSAGES cp LC_MESSAGES/messages.mo /usr/local/centreon/www/locale/$(locale | grep LC_MESSAGES | cut -d \" -f 2)/LC_MESSAGES/.
Rendez-vous sur l'interface Web de centreon pour finaliser la configuration : http://your-server/centreon/ :
Maintenant que Centreon est installé et configuré nous allons configurer Nagios depuis l'interface de Centreon.
Dans Configuration → Nagios → Nagios.cfg → Nagios CFG1, modifier si besoin la valeur Commande de lancement du module avec :
/usr/local/nagios-3.2.3/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg
Voir : http://fr.doc.centreon.com/Setup:ndoutils2
Dans Configuration → Nagios → Ressources, vérifier les variables $USER1$ et $USER2$
Une fois les éléments configurés, il faut les publier dans Nagios et redémarrer le service nagios.
Pour finir démarrer le service ndo2db :
/etc/init.d/ndo2db start
Redémarrer si besoin tout le système, histoire de vérifier que tout démarre bien.
Cette section permet de configurer les lignes de commandes utilisées par Nagios pour faire les vérifications et les notifications. Si les variables $USER1$ et $USER2$ sont mal définies dans l'onglet Nagios, ces commandes ne fonctionneront pas.
Pour modifier par exemple la commande check_centreon_snmp_cpu :
Les valeurs ci-dessous permettent de construire une ligne de commande pour Nagios :
Ligne de commande = $USER1$/check_centreon_snmp_cpu -H $HOSTADDRESS$ -v 1 -C $ARG1$ -c $ARG2$ -w $ARG3$ Exemple d'arguments = !$USER2$!80!90 $HOSTADDRESS$ = 192.168.174.2
Le résultat de la ligne de commande Nagios sera donc :
/usr/local/nagios-3.2.3/libexec/check_centreon_snmp_cpu -H 192.168.174.2 -v 1 -C 'public' -c '80' -w '90'
$ARG1$, $ARG2$… correspondent successivement aux valeurs séparées par un “!” dans Exemple d'arguments
Cette section permet de configurer les opérateurs de supervision en précisant :
C'est l'étape finale. On ajoute ici un hôte à surveiller. La configuration nécessite une certaine approche pour ne pas finir avec une usine à gaz. Le principe est le suivant :
NagVis est l'application qui vient en extra à l'outil de monitoring, et permet d'afficher les statuts de Nagios sur un schéma réseau.
Installer les paquetages pré-requis :
apt-get install sqlite3 php5-sqlite graphviz
Télécharger la dernière version sur : http://www.nagvis.org/downloads
Extraire l'archive et lancer l'installeur :
tar xzf nagvis-1.5.3.tar.gz cd nagvis-1.5.3 chmod +x install.sh ./install.sh
Répondre aux questions comme illustré ci-dessous :
+------------------------------------------------------------------------------+ | Welcome to NagVis Installer 0.2.16 | +------------------------------------------------------------------------------+ | This script is built to facilitate the NagVis installation and update | | procedure for you. The installer has been tested on the following systems: | | - Debian Etch, Hardy (4.0, 5.0) | | - Ubuntu Hardy, Intrepid, Jaunty, Karmic, Lucid (8.04 to 10.04) | | - SuSE Linux Enterprise Server 10 and 11 | | | | Similar distributions to the ones mentioned above should work as well. | | That (hopefully) includes RedHat, Fedora, CentOS, OpenSuSE | | | | If you experience any problems using these or other distributions, please | | report that to the NagVis team. | +------------------------------------------------------------------------------+ | Do you want to proceed? [y]: y +------------------------------------------------------------------------------+ | Starting installation of NagVis 1.5.3 | +------------------------------------------------------------------------------+ | OS : Debian GNU/Linux 5.0 | | Perl: 5.010000 | | | +--- Checking for tools -------------------------------------------------------+ | Using packet manager /usr/bin/dpkg found | | | +--- Checking paths -----------------------------------------------------------+ | Please enter the path to the nagios base directory [/usr/local/nagios]: | nagios path /usr/local/nagios found | | Please enter the path to NagVis base [/usr/local/nagvis]: | | +--- Checking prerequisites ---------------------------------------------------+ | Nagios Core 3.2.3 found | | PHP 5.2 found | | PHP Module: gd 5.2 found | | PHP Module: mbstring compiled_in found | | PHP Module: gettext compiled_in found | | PHP Module: session compiled_in found | | PHP Module: xml compiled_in found | | Apache mod_php found | | Checking Backends. (Available: mklivestatus,ndo2db,ido2db,merlinmy) | | Do you want to use backend mklivestatus? [y]: n | Do you want to use backend ndo2db? [n]: y | Do you want to use backend ido2db? [n]: n | Do you want to use backend merlinmy? [n]: n | /usr/local/nagios/bin/ndo2db (ndo2db) found | | PHP Module: mysql 5.2 found | | Graphviz 2.20 found | | Graphviz Module dot 2.20.2 found | | Graphviz Module neato 2.20.2 found | | Graphviz Module twopi 2.20.2 found | | Graphviz Module circo 2.20.2 found | | Graphviz Module fdp 2.20.2 found | | | +--- Trying to detect Apache settings -----------------------------------------+ | Please enter the web path to NagVis [/nagvis]: | Please enter the name of the web-server user [www-data]: | Please enter the name of the web-server group [www-data]: | create Apache config file [y]: y | | +--- Checking for existing NagVis ---------------------------------------------+ | | +------------------------------------------------------------------------------+ | Summary | +------------------------------------------------------------------------------+ | NagVis home will be: /usr/local/nagvis | | Owner of NagVis files will be: www-data | | Group of NagVis files will be: www-data | | Path to Apache config dir is: /etc/apache2/conf.d | | Apache config will be created: yes | | | | Installation mode: install | | | | Do you really want to continue? [y]: y +------------------------------------------------------------------------------+ | Starting installation | +------------------------------------------------------------------------------+ | Creating directory /usr/local/nagvis... done | | Creating directory /usr/local/nagvis/var... done | | Creating directory /usr/local/nagvis/var/tmpl/cache... done | | Creating directory /usr/local/nagvis/var/tmpl/compile... done | | Creating directory /usr/local/nagvis/share/var... done | | Copying files to /usr/local/nagvis... done | | Creating main configuration file... done | | setting backend to ndomy_1 done | | Creating web configuration file... done | | Setting permissions for web configuration file... done | | | | | | | +--- Setting permissions... ---------------------------------------------------+ | /usr/local/nagvis/etc/nagvis.ini.php-sample done | | /usr/local/nagvis/etc done | | /usr/local/nagvis/etc/maps done | | /usr/local/nagvis/etc/maps/* done | | /usr/local/nagvis/etc/automaps done | | /usr/local/nagvis/etc/automaps/* done | | /usr/local/nagvis/share/userfiles/images/maps done | | /usr/local/nagvis/share/userfiles/images/maps/* done | | /usr/local/nagvis/share/userfiles/images/shapes done | | /usr/local/nagvis/share/userfiles/images/shapes/* done | | /usr/local/nagvis/var done | | /usr/local/nagvis/var/* done | | /usr/local/nagvis/var/tmpl done | | /usr/local/nagvis/var/tmpl/cache done | | /usr/local/nagvis/var/tmpl/compile done | | /usr/local/nagvis/share/var done | | | +------------------------------------------------------------------------------+ | Installation complete | | | | You can safely remove this source directory. | | | | For later update/upgrade you may use this command to have a faster update: | | ./install.sh -n /usr/local/nagios -p /usr/local/nagvis -B /usr/local/nagios/bin/nagios -b ndo2db -u www-data -g www-data -w /etc/apache2/conf.d -a y | | | What to do next? | | - Read the documentation | | - Maybe you want to edit the main configuration file? | | Its location is: /usr/local/nagvis/etc/nagvis.ini.php | | - Configure NagVis via browser | | <http://localhost/nagvis/config.php> | | - Initial admin credentials: | | Username: nagiosadmin | | Password: nagiosadmin | +------------------------------------------------------------------------------+
Depuis votre navigateur sur par exemple : http://192.168.174.3/nagvis
Télécharger le module nagvis pour centreon sur http://forge.monitoring-fr.org/attachments/download/27/centreon-nagvis-0.2.tar.gz
Décompresser l'archive dans le répertoire module de contreon :
cd /usr/local/centreon/www/modules/ tar xzf /usr/src/centreon-nagvis-0.2.tar.gz
Définir le propriétaire sur le module :
chown -R www-data:www-data nagvis
Editer le fichier /usr/local/centreon/www/modules/nagvis/nagvis.php
et modifier la ligne suivante pour pointer sur l'url de nagvis :
$tpl->assign("nagvis_uri", "/nagvis");
Editer le fichier de configuration par défaut de nagvis (nagvis/etc/nagvis.ini.php) et remplacer les URL par défaut par les suivantes :
urltarget="_top" ; URL template for host object links hosturl="/centreon/main.php?p=201&o=hd&host_name=[host_name]" ; URL template for hostgroup object links hostgroupurl="/centreon/main.php?search=[hostgroup_name]&p=20104&limit=100&list=&o=hg" ; URL template for service object links serviceurl="/centreon/main.php?p=202&o=svcd&host_name=[host_name]&service_description=[service_description]" ; URL template for servicegroup object links servicegroupurl="/centreon/main.php?p=20212&o=svcOVSG"
Dans Centreon aller dans administration → modules et installer le module
Nagvis est désormais accessible à partir du menu vues de centreon
Suivre les étapes suivantes :
Scripts de check pour VMware : http://exchange.nagios.org/directory/Plugins/Operating-Systems/*-Virtual-Environments/VMWare