Skip to content

Surveillance de serveurs Ubuntu avec Nagios

by Julien on septembre 27th, 2011

An english version of this post is available here.

Nagios est considéré par beaucoup comme le système de choix pour surveiller de 1 serveur à une ferme de taille raisonnable. Il a une bonne documentation, et pour les chanceux travaillant avec Ubuntu / Debian, les packages permettent une installation simple. Malheureusement les packages Ubuntu ne placent pas les choses au même endroit que la documentation officielle, et il y a trés peu de resources sur l’installation d’un système complet de monitoring pour les complets débutants comme moi. J’essaie donc dans ce post de combler ce manque.

Vue d’ensemble

L’idée est d’avoir un server central Nagios surveillant un certain nombre de serveurs distants. Le plugin ‘Nagios Remote Plugin Executor’ (exécuteur de plugin Nagios à distance) permet de faire cela simplement. Le plugin consiste en 2 parties:

  1. Un démon installer sur chaque serveur distant qui accepte les commands de plugin du server Nagios central.
  2. Le plugin en tant que tel sur le serveur Nagios qui peut envoyer des commandes aux serveurs distants.

Installer le démon sur les serveurs distants

Voici les quelques commandes nécessaires:

YOUR_NAGIOS_HOST_IP=<insérer votre IP de serveur Nagios central ici>
sudo apt-get -y install nagios-nrpe-server
sudo sed -i.bak -r -e 's/allowed_hosts=127.0.0.1/allowed_hosts=$YOUR_NAGIOS_HOST_IP/g' /etc/nagios/nrpe.cfg
sudo /etc/init.d/nagios-nrpe-server restart

La seconde ligne installe le démon. La 3e modifie la configuration du démon pour n’accepter des requête que de votre serveur central (précaution de sécurité minimale). Finallement, la dernière ligne redémarre le démon pour prendre en compte les changements.

Note: lorsqu’on exécute des plugins à distance, il est préferrable de ne pas autoriser le passage de paramètres pour des raisons de sécurité. C’est le défaut lorsqu’on installe le démon. Cela oblige donc à spécifier les paramères en dur sur chaque serveur distant. Vous pouvez ajuster les comandes acceptées à la fin du fichier de configuration nrpe.cfg. Voici par exemple les commandes par défaut:

command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1
command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200

Installer le serveur central Nagios

Voici la commande:

sudo apt-get -y install nagios3 nagios-nrpe-plugin

Le package va installer postfix (pour envoyer les notifications par email), apache, et configurer l’utilisateur ‘nagiosadmin’ pour vous. Vous n’avez plus qu’à configurer les objets Nagios dans /etc/nagios3/conf.d en suivant la documentation régulière, trés complète sur ce sujet. Voici un exemple de configuration d’hôte distant, ainsi qu’un service appelant une commande sur ce serveur:

define host{
        use                     generic-host            ; Name of host template to use
        host_name               myServer1
        alias                   My Server 1
        address                 <ip of myServer1 here>
        }
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       myServer1
        service_description             Disk Space
        check_command                   check_nrpe_1arg!check_hda1
        }

Une fois votre configuration terminée, vous pouvez la tester avec la commande suivante:

sudo /usr/sbin/nagios3 -v /etc/nagios3/nagios.cfg

Puis si tout va bien, redémarrer Nagios pour charger la nouvelle configuration:

sudo /etc/init.d/nagios3 restart

Finallement, vous pouvez ouvrir un navigateur à l’adresse http://IPDeVotreServeurNagios/nagios3. L’utilisateur est nagiosadmin et le mot de passe est celui que vous avez choisi durant installation.

Voilà, cela devrait vous permettre de mettre en place facilement votre première surveillance avec Nagios. Tous les commentaires sont évidemment les bienvenus.

From → Linux

2 Comments
  1. mandm permalink

    This is perfect!!!…. do you have any idea what i would need to modify if had to add a few more checks like (memory, swap, iostat etc) to the remote server

  2. nptr permalink

    straight to the point, helped me much :)
    thanks!

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS