Pavnay

 
  • Increase font size
  • Default font size
  • Decrease font size
FrançaisEnglish

[Supervision] Nagios - Installation

Imprimer
Nagios

Parmi les solutions Open Source de supervision, un logiciel revient régulièrement : Nagios.
Cet outil permet de vérifier en permanence l'état de santée des machines, de services, du réseau et de notifier les problèmes (et les résolutions) de diverses manières (email, messagerie instantané, SMS, etc...).

Nagios est un système centralisé de supervision, c'est-à-dire qu'un serveur collecte des informations de "santé" auprès des autres serveurs et de leurs services. Les services peuvent être divers allant du serveur MySQL au serveur Postfix en passant par le serveurs de fichiers.
Afin de collecter ces informations, il y a plusieurs moyens :
  • Nagios doit être installer sur chacune des machines avec un agent de supervision
  • une unique instance de Nagios est installée sur le serveur central et interroge les divers serveurs via le greffon check_by_ssh

Bien qu'il ait l'air compliqué de prime abord, il est en fait assez aisé à manipuler dès lors que l'on ait compris 2 ou 3 notions.
Mais avant ça, il faut l'installer...

Nagios est en fait composé de 2 parties :
  • une interface graphique
  • un démon
L'interface graphique est en fait une application web en CGI hébergé par un serveur httpd de la Fondation Apache

Toutes les installations se feront dans le répertoire /usr/local et le téléchargement des archives dans /usr/local/packages.


Installation de httpd

Afin de faire une installation simple de httpd, nous aurons besoin d'un certain nombre de packages :

apt-get install curl make g++ zlib1g-dev 


Puis rapatrier l'archive de httpd et le compiler :

cd /usr/local/packages
wget http://archive.apache.org/dist/httpd/httpd-2.2.10.tar.gz
tar xzf httpd-2.2.10.tar.gz
cd httpd-2.2.10
./configure --prefix=/usr/local/apache2-2.2.10  
make
make install
cd /usr/local
ln -s apache2-2.2.10 apache2 


Création de l'utilisateur système

Puis vient la préparation du système pour accueillir Nagios avec l'installation de packages supplémentaires et la création d'un utilisateur spécifique et de son groupe :

apt-get install perl libdbd-mysql-perl libnet-snmp-perl python libgd2-xpm-dev
useradd nagios
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -G nagcmd nagios 


Installation de Nagios

Récupération de l'archive de Nagios et installation :

cd /usr/local/packages
wget http://surfnet.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.6.tar.gz
tar xvzf nagios-3.0.6.tar.gz
cd nagios-3.0.6
./configure --with-command-group=nagcmd --prefix=/usr/local/nagios-3.0.6
make all
make install
make install-init
make install-config
make install-commandmode 
cd /usr/local/
ln -s nagios-3.0.6 nagios


Quelques explications :
  • make all : compilation des sources
  • make install : installation du programme principal, des CGI et du HTML
  • make install-init : installation des scripts de lancement initr.d
  • make install-config : installation des fichiers de configuration par défaut
  • make install-commandmode : affectation des droits sur les répertoires et fichiers

Configuration de l'interface d'administration

Afin de pouvoir utiliser Nagios via son application web, il faut configurer le serveur httpd et créer un utilisateur pour sécuriser l'accès grâce à une authentification htaccess (obligatoire).

Création de l'authentification htaccess :

/usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin 


Quelques explications :

A la demande de cette commande, il faut entrer un mot de passe de son choix. Une fois ceci fait, un fichier htpasswd.users est créé dans le répertoire /usr/local/nagios/etc contenant l'identifiant (ici nagiosadmin) suivit du mot de passe encrypté.
Si l'utilisateur choisit n'est pas nagiosadmin, il faut mettre à jour les fichier de configuration de Nagios (ici, on remplace nagiosadmin par admin) :

cd /usr/local/nagios/etc
for myfile in *.cfg; 
do 
    sed -i "s/nagiosadmin/admin/g" $myfile; 
done 


Configuration de httpd afin de gérer les CGI de Nagios :
Créer un fichier alias.conf dans le répertoire /usr/local/apache2/conf/extra et y mettre :

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 ajouter la ligne ci-dessous dans le fichier /usr/local/apache2/conf/httpd.conf avant de redémarrer httpd :

Include conf/extra/httpd-alias.conf 


Installation des premiers greffons

Afin de rendre Nagios utilisable un minimum, il faut ajouter les greffons essentiels et minimaux.
Pour ça, il faut télécharger l'archive les contenant :

cd /usr/local/packages
wget http://ovh.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.13.tar.gz
tar xvzf nagios-plugins-1.4.13.tar.gz
cd nagios-plugins-1.4.13
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install 


Ceci installera les greffons  basiques tels que par exemple :
  • check_disk
  • check_nagios
  • check_ssh
  • check_http
  • check_load
  • etc...

Une fois toutes ces étapes passées, il suffit de démarrer le serveur httpd et le démon nagios :

/usr/local/apache2/apachectl start/
etc/init.d/nagios start 


L'interface est alors disponible via l'adresse http://localhost/nagios.
Il ne reste plus qu'à configurer Nagios afin de superviser les différents serveurs et services...

Commentaires
Ajouter un nouveau
+/-
Ecrire un commentaire
Nom:
Email:
 
Titre:
 
:D:):(:0:shock::confused:8):lol::x:P:oops::cry:
:evil::twisted::roll::wink::!::?::idea::arrow:
 

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 

Actualités

Peinture sur figurine