Ceci est une ancienne révision du document !
Table des matières
NAGIOS / CENTREON / NAGVIS
Ce tutoriel est validé sur Debian 5.
Architecture
Le schéma ci-dessous illustre l'architecture du serveur de surveillance sous Nagios / Centreon / Nagvis :
Installation de Nagios et Centreon
Installation de Nagios
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
Installation des plugins Nagios
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
Installation des NDOutils
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 et configurer SNMP
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
Installation de Centreon
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/.
Configuration de Centreon et Nagios
Configuration générale
Rendez-vous sur l'interface Web de centreon pour finaliser la configuration : http://your-server/centreon/ :
- Cliquer Start
- Faire NEXT jusqu'à DataBase Configuration
- Indiquer le mot de passe root de MySQL et définissez le mot de passe des bases de contreon
- Faire NEXT jusqu'à User Interface Configuration
- Définissez le compte administrateur de Centreon
- Faire NEXT jusqu'à la fin
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$
- $USER1$ correspond au chemin vers les plugins de Nagios, exemple : /usr/local/nagios/libexec
- $USER2$ correspong au nom de la communauté SNMP, exemple : public
Une fois les éléments configurés, il faut les publier dans Nagios et redémarrer le service nagios.
- Configuration → Nagios → Générer
- Cocher Deplacer les fichiers générés et Redémarrer Nagios puis valider par EXPORTER
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.
Configuration des Commandes
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 :
- Aller dans Configuration → Commandes → Contrôles
- Cliquer sur check_centreon_snmp_cpu
- Indiquer les valeurs et arguments (voir plus bas)
- Tester votre ligne de commande en appuyant sur le bouton bleu Tester la sonde
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
Configuration des Utilisateurs
Cette section permet de configurer les opérateurs de supervision en précisant :
- Son nom et coordonnées
- Pour quels hôtes il recevra les alertes
- Comment il recevra les alertes : mail, sms, pager, jabber…
Configuration d'un Hôte et des services
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 :
- Vous devez tout d'abord définir un Modèles de surveillance, nommé par exemple generic-host dans lequel nous configurons par exemple uniquement la commande check_host_alive pour vérifier s'il est UP ou DOWN.
- Vous pouvez ensuite créer un second Modèles de surveillance, nommé par exemple Windows 2008 dans lequel nous utiliserons le Modèles d'hôte parallèles “generic-host” pour bénéficier du check_host_alive, et nous configurerons en plus dans l'onglet Relations, quelques contrôles purement liés à un hôte Windows 2008 comme SNMP-Windows-CPU, SNMP-Windows-Memory etc…
- Vous devez définir des groupes d'Hôtes, exemple : Site de Paris, Site de la Réunion, Serveurs Windows etc…
- Pour finir, il vous suffit de créer les Hôtes à surveiller en prenant soin :
- D'indiquer les Modèles multiples de l'hôte, exemple : Windows 2008
- D'indiquer les groupes d'hôtes auxquels appartient l'hôte, exemple Site de Paris et Serveurs Windows
- De Selectionner Oui sur Créer aussi les services liés au modèle
NagVis
Installation
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 | +------------------------------------------------------------------------------+
Configuration
Depuis votre navigateur sur par exemple : http://192.168.174.3/nagvis
- Entrez le login nagiosadmin et mot de passe nagiosadmin (pensez à changer le mot de passe)
- Open → WUI
- Options → Manage Backends → Ajouter un backend et indiquer les information de ndo2db présente dans /usr/local/nagios/etc/ndo2db.cfg et ndomod.cfg à savoir :
- dbhost=“localhost”
- dbport=3306
- dbname=“centstatus”
- dbuser=“centreon”
- dbpass=“mot_de_passe”
- dbprefix=“nagios_”
- dbinstancename=“Central”
- backendtype=“ndomy”
Intégration de Nagvis dans centreon
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
Créer une nouvelle carte
Suivre les étapes suivantes :
- Open → WUI
- Options → Manage Background pour charger une image png de fond (ex: export VISIO etc…)
- Options → Manage Maps pour créer une nouvelle MAP en choisissant votre image png
- Open → Edit à coter de votre MAP
- Cartes → Add Icon → Machine et sélectionner votre serveur
Lien utiles
Script de check pour VMware : VMWare

