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)
Quelques petites explications complémentaires
Affiner vos réglages dans vos fichiers de conf
Demain un petit article sur Nrpe.