Instalation de Nagios

Un petit billet que j’ai écris au fur et à mesure de l’installation de Nagios sur Debian Lenny. Nous allons commencer par les pré-requis puis installer Nagios à partir des sources. Un grand merci à Angelus pour son aide.


1. Pré-requis

Installer tous ces paquets :

aptitude install build-essential
aptitude install apache2 php5 php5-mysql php-pear php5-ldap php5-snmp php5-gd
aptitude install sudo
aptitude install rrdtool librrds-perl
aptitude install mysql-server-5.0 libmysqlclient15-dev

[nice_warning]A l’installation du serveur MySQL vous devrez entrer le mot de passe du compte root, ne perdez pas ce mot de passe[/nice_warning]
Installation des paquets snmp nécéssaires :

aptitude install snmpd snmp libconfig-inifiles-perl libnet-snmp-perl libsnmp-perl libgd2-xpm

Derniers paquets à installer :

aptitude install libgd2-xpm-dev libpng-dev libpng12-dev libjpeg62 libjpeg62-dev
aptitude install fping libldap-dev libgnutls-dev libradiusclient-ng-dev libmysqlclient-dev gettext
aptitude install libssl-dev libkrb5-dev gawk libwrap0-dev libmcrypt-dev libperl-dev

2. Pré-Configuration du système

Ajout d’un utilisateur nommé nagios au système :

useradd -m nagios
passwd nagios

[nice_info]Choisissez un mot de passe pour Nagios[/nice_info]
Création d’un groupe secondaire puis ajout de l’utilisateur nagios et www-data à ce groupe :

groupadd nagcmd
usermod -G nagcmd nagios
usermod -G nagcmd www-data

3. Téléchargement des sources de nagios et ses plugins

Téléchargement des sources de Nagios et décompression (La version 3.2.1 est la plus récente à l’heure de la rédaction de cet article) :

cd /usr/local/src/
wget http://downloads.sourceforge.net/project/nagios/nagios-3.x/nagios-3.2.1/nagios-3.2.1.tar.gz
tar zxf nagios-3.2.1.tar.gz

Téléchargement et décompression des plugins de nagios :

wget http://downloads.sourceforge.net/project/nagiosplug/nagiosplug/1.4.14/nagios-plugins-1.4.14.tar.gz
tar zxf nagios-plugins-1.4.14.tar.gz

4. Compilation et installation de nagios

[nice_info]L’installation des pré-requis ainsi que la préparation du système étant faites, passons à la compilation de nagios, une étape très importante.[/nice_info]

cd nagios-3.2.1
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios  \
--with-command-user=nagios --with-command-group=nagcmd --enable-nanosleep \
--enable-embedded-perl --with-perlcache

Voici une explication des arguments de configure :

  • prefix=/usr/local/nagios : Répertoire de départ de l’installation
  • with-nagios-user=nagios : Utilisateur qui exécutera nagios
  • with-nagios-group=nagios : groupe principal de l’utilisateur de nagios
  • with-command-group=nagcmd : Groupe secondaire de l’utilisateur exécutant les commandes => nagcmd
  • enable-nanosleep : Permet l’utilisation de fractions de secondes ce qui aura un rendu plus précis
  • enable-embedded-perl : Permet l’activation d’un interpréteur PERL embarqué ce qui augmente les performances
  • with-perlcache : Active le cache PERL accroissant encore les performances des plugins
  • Maintenant que l’installeur est configuré, passons à la compilation et à l’installation:

    make all && make install
    make install-init
    make install-commandmode
    make install-config
    make install-webconf

    Lancement automatique de nagios au démarrage du serveur :

    update-rc.d nagios defaults

    Afin de protéger la page d’accès à Nagios nous allons utiliser une identification htpasswd. L’utilisateur sera nagiosadmin :

    htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
    chown nagios:nagcmd /usr/local/nagios/etc/htpasswd.users

    5. Compilation et installation des plugins

    Placez-vous dans le dossier des sources :

    cd /usr/local/src/nagios-plugins-1.4.14/

    Configuration de l’installer :

    ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios \
    --enable-perl-modules

    La ligne de configuration utilise les mêmes paramètres que celui de nagios en ajoutant celui-ci :

  • enable-perl-modules : Il permet de développer rapidement des scripts perl
  • Compilation :

    make all && make install

    Relancement de nagios :

    /etc/init.d/nagios restart

    [nice_info]Il est possible d’avoir des erreurs d’affichées, refaites la commande plusieurs fois jusqu’a ce qu’elle n’apparaisse plus[/nice_info]