System-Linux

Aller au contenu | Aller au menu | Aller à la recherche

Compilation, installation et configuration de Nagios 3

Tutoriel sur l'installation et la configuration de Nagios 3.

Nagios est une application permettant la surveillance système et réseau (monitoring). Elle surveille les hôtes et services spécifiés, alertant lorsque les systèmes vont mal et quand ils vont mieux. C'est un logiciel libre sous licence GPL.

C'est un programme modulaire qui se décompose en trois parties :

  • Le moteur de l'application qui vient ordonnancer les tâches de supervision.
  • L'interface web, qui permet d'avoir une vue d'ensemble du système d'information et des possibles anomalies.
  • Les plugins (check), une centaine de mini programmes que l'on peut compléter en fonction des besoins de chacun pour superviser chaque service ou ressource disponible sur l'ensemble des ordinateurs ou éléments réseaux du SI.

Installation de Nagios à partir des sources :

Installation des près requis :

aptitude install build-essential apache2
ou
yum install httpd gcc make

Télécharger les sources :

cd /opt/SOURCES
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz

Dés-archiver les :

tar xvzf nagios-3.2.1.tar.gz

Rendez vous dans le dossier :

cd nagios-3.0.6

Créer le dossier ou sera installé nagios :

mkdir /usr/local/nagios

Créer et donner les droits groupe et utilisateur :

adduser nagios
chown nagios: /usr/local/nagios

Lancer la compilation (à modifier à votre sauce) :

./configure --prefix=/usr/local/nagios --with-cgiurl=/nagios/cgi-bin --with-htmurl=/nagios/ --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagios

Vous devriez arriver sur quelque chose comme ça si tout se passe bien :

*** Configuration summary for nagios 3.2.1 03-09-2010 ***:

 General Options:
 -------------------------
        Nagios executable:  nagios
        Nagios user/group:  nagios,nagios
       Command user/group:  nagios,nagios
            Embedded Perl:  no
             Event Broker:  yes
        Install ${prefix}:  /usr/local/nagios
                Lock file:  ${prefix}/var/nagios.lock
   Check result directory:  ${prefix}/var/spool/checkresults
           Init directory:  /etc/rc.d/init.d
  Apache conf.d directory:  /etc/httpd/conf.d
             Mail program:  /bin/mail
                  Host OS:  linux-gnu

 Web Interface Options:
 ------------------------
                 HTML URL:  http://localhost/nagios//
                  CGI URL:  http://localhost/nagios/cgi-bin/
 Traceroute (used by WAP):  /bin/traceroute


Review the options above for accuracy.  If they look okay,
type 'make all' to compile the main program and CGIs.

Compiler les Binaires :

Compilez Nagios et les CGIs avec la commande suivante.

make all

Installez les binaires et les fichiers HTML ( documentation et page web principale) avec la commande suivante :

make install

Installation du Script d'initialisation (configuration de base) :

Avec la commande suivante :

make install-init

Installe et configure les permissions sur le Répertoire pour le fonctionnement des commandes externes de fichiers :

make install-commandmode

Installer des fichiers de configuration de base :

make install-config

Vous pourrez être obligé d'éditer ce script pour l'adapter à votre système d'exploitation et à Nagios en modifiant des chemins,etc.

Placez vous à la racine du répertoire de base de l'installation de Nagios, avec la commande suivante :

cd /usr/local/nagios

Vous devriez voir 5 sous répertoires. : bin; etc; sbin; share; var; var/archives; var/rw.

Configurer Apache pour nagios :

Copier ceci dans votre fichier 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>

Créer le fichier htaccess :

htpasswd -c /usr/local/nagios/etc/htpasswd.users adminnagios

Pour rajouter un utilisateur :

htpasswd /usr/local/nagios/etc/htpasswd.users <username>

Installation des Plugins :

Pour que Nagios vous soit utile, il va falloir télécharger et installer quelques plugins. Les plugins sont habituellement installés dans le répertoire libexec/ de votre installation de Nagios (/usr/local/nagios/libexec). Les plugins sont des scripts ou des binaires qui réalisent les contrôles des services et des hôtes pour la supervision.

Vous pouvez récupérer la dernière version des plugins sur la page de téléchargement de Nagios ou directement sur la la page SourceForge du projet.

cd /opt/SOURCES
http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz

Dés-archiver :

tar xvzf nagios-plugins-1.4.11.tar.gz

Et dans le dossier taper :

./configure
make
make install

Relancer apache et nagios pour qu'ils relisent les fichiers de configuration :

invoke-rc.d apache2 reload
service httpd restart
invoke-rc.d nagios reload
service nagios restart

Astuces :

Il est possible d'installer nagios avec aptitude biensur, mais c'est moins drole :

aptitude install nagios2

Vérifier la syntaxe des fichiers de configuration :

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg ? si compilé à la main.

/usr/sbin/nagios3 -v /etc/nagios2/nagios.cfg ? si installé avec aptitude.

Information sur votre installation de nagios :

Avec nagiostats binaire qui se trouve dans le même repertoire que nagios /usr/local/nagios/bin.

./nagiostats

Monitoring d'un serveur Windows 2003 :

Tout ce passe dans /usr/local/nagios/etc/objects/windows.cfg.

Il vous faudra installer Nsclient++ sur votre serveur windows.

Pour le téléchargement et la documentation voir ? http://trac.nakednuns.org/nscp/

Changer l'interface de Nagios avec Nuvola :

L'installation du style Nuvola est assez simple. Tout d'abord, il faut récupérer la dernière version.

Elle est disponible sur Nagiosexchange.

Ensuite, il faut décompresser l'archive puis se placer dans le répertoire html et éditer le fichier config.js. Les directives importantes sont celles-ci:

Chemin vers les CGIs de Nagios. Attention à mettre la bonne valeur :

var cgipath = "/nagios/cgi-bin/";

Choix de la librairie pour gérer le menu, dtree est très bien :

var treeType = "dtree";

Une fois ceci terminée, vous pouvez copier tous les fichiers dans le répertoire share de Nagios. Dans le cas où tout Nagios est dans le répertoire /usr/local/nagios/ vous pouvez entrer la commande suivante:

cp -R * /usr/local/nagios/share/

Liens intéressant :

Installation et configuration de la version 2.X

Pour les téléchargements sources,plugins et autres.

Pour trouver de nouveaux plugins (check)

Documentation en français

Quelques petites explications complémentaires

Astuces

Affiner vos réglages dans vos fichiers de conf

Demain un petit article sur Nrpe.

Par GanGan | le lundi, avril 12 2010 07:00

Commentaires

1. david guenault

mercredi, janvier 7 2009 | 08:19

le site est jeune mais le wiki déjà très bien achalandé !
NAGIOS-FR : http://nagios-fr.org/
par ailleurs je te recommande le livre d'olivier jan (le seul en français sur nagios)
"NAGIOS au cœur de la supervision Open Source" Editions ENI

2. gangan

mercredi, janvier 7 2009 | 08:34

a merci pour ce lien je connaissais pas, il doit pas etre bien vieux en effet

3. Janot

mercredi, janvier 7 2009 | 13:34

Hello ! :)

Tu as aussi ce tuto sur Nagios orienté débutant qui donne les différentes étapes pour se monter facilement un Nagios: http://www.mandrivalinux-online.eu/...

4. gangan

mercredi, janvier 7 2009 | 13:48

ok merci bien

5. jojo

samedi, mai 9 2009 | 18:13

Salut,

merci pour ton tuto, fonctionne super bien.
Peux tu juste m'expliquer à quoi sert ce que tu ecris dans le httpd.conf

merci :)

6. GanGan

dimanche, mai 10 2009 | 00:00

les modifications du httpd.conf c'est pour la prise en compte du htaccess, pour un poil de sécurité

tu as suivi ce tuto avec la derniere version de nagios ?

7. Sacha

lundi, avril 12 2010 | 12:27

Bonjour,

Merci pour le tuto. ;-)

A david guenault : Le livre d'Olivier Jan est certes le premier livre en français traitant de Nagios, mais Jean Gabes à écrit "Nagios 3 pour la supervision" aux Editions Eyrolles.

Jean Gabes à d'ailleurs à l'origine de Shinken nouvelle implémentation de Nagios en Python et non en C.

https://www.shinken-monitoring.org/

@+