Monitorer les hôtes Linux (Debian) distant avec le serveur NRPE de Nagios

logofullsize.png

Des plus grosses installations aux plus petites, le monitoring du réseau reste un problème bien présent pour pouvoir garder un oeil permanent sur les installations et pouvoir réagir au plus vite en cas de problème. La solution la plus souvent utilisée n'est plus à présenter. Tout le monde connait aujourd'hui le moteur de monitoring réseau open-source mieux connu sous le nom de Nagios.

Mais comme ça marche? Pour ce qui est de l'installation et de la configuration d'un serveur Nagios, je vous renvoie vers d'autres très bon tutoriels détaillés comme ceux de Nicolargo. Mais une fois le serveur installé, on veux pouvoir monitorer tous les ordinateurs d'un même réseau. Voici un petit tutorial pour vous expliquer comment configurer un ordinateur de votre réseau pour qu'il puisse être monitoré par votre serveur Nagios. (Ce tutoriel vaut pour les Linux Debian-like, pour les autres distributions, ça sera similaire, mais surement pas identique).

Dans cet exemple j'utilise une Ubuntu 8.10, donc je pars des dépots Ubuntu.

D'abord on va avoir besoin d'installer nagios-nrpe-server et nagios-plugins :

apt-get install nagios-nrpe-server nagios-plugins

Une fois les paquets installés, vous allez avoir besoin d'éditer les deux fichiers de configuration de nagios NRPE :

Pour le fichier /etc/nagios/nrpe_local.cfg, ajoutez la ligne suivante :

allowed_hosts=adresse.ip.du.serveur.nagios

Pour le fichier /etc/nagios/nrpe.cfg, cherchez la ligne suivante :

allowed_hosts=127.0.0.1

Et modifiez la ainsi :

allowed_hosts=adresse.ip.du.serveur.nagios

Ensuite, dans le même fichier /etc/nagios/nrpe.cfg you devrez modifier les définitions de commandes de votre système. Voici une copie de mes commandes :

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_md0]=/usr/lib/nagios/plugins/check_disk -w 20 -c 10 -p /dev/md0
command[check_md1]=/usr/lib/nagios/plugins/check_disk -w 20 -c 10 -p /dev/md1
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
command[check_swap]=/usr/lib/nagios/plugins/check_swap -w 20 -c 10

Nottez bien que les noms (check_users, check_md0, ...) qui sont ici seront utilisés du coté du serveur, donc veillez à les noter !

Il ne reste plus qu'à redémarrer le serveur NRPE que vous venez de configurer et les changements seront pris en compte :

/etc/init.d/nagios-nrpe-server restart

Ca y'est, l'hôte est configuré et est maintenant prêt à renvoyer au serveur les informations qu'il veut. Passons maintenant à la configuration du serveur Nagios en tant que tel. Allez donc sur le serveur (en ssh par exemple).

Vous allez devoir modifier les fichiers contenant les configuration des hôtes monitorés par Nagios. Chez moi c'est le fichier /etc/nagios3/generic-host_nagios2.cfg mais ça peut différer d'une installation à l'autre.

Assurez vous que l'hôte linux est définit comme ci-dessous et remplacer les champs en fonction de votre configuration :

define host{
use             generic-host
host_name  myhost
alias           My personnal computer
address         192.168.0.1
hostgroups      xyzhosts
}

Ensuite adaptez vos définitions de groupe :

define hostgroup{
    hostgroup_name  xyzhosts
    alias           XYZ Hosts
}

Et enfin ajoutez les définitions des services (attention à bien configurer les même commandes que celles définies sur le hôte distant)

define service {
    use                     generic-service
    host_name               myhost
    service_description     Current Users
    check_command           check_nrpe!check_users
}

define service {
    use                     generic-service
    host_name               myhost
    service_description     Current Load
    check_command           check_nrpe!check_load
}

define service {
    use                     generic-service
    host_name               myhost
    service_description     Boot Partition
    check_command           check_nrpe!check_md0
}

define service {
    use                     generic-service
    host_name               myhost
    service_description     Root Partition
    check_command           check_nrpe!check_md1
}

define service {
    use                     generic-service
    host_name               myhost
    service_description     Zombie Processes
    check_command           check_nrpe!check_zombie_procs
}

define service {
    use                     generic-service
    host_name               myhost
    service_description     Total Processes
    check_command           check_nrpe!check_total_procs
}

define service {
    use                     generic-service
    host_name               myhost
    service_description     Swap Usage
    check_command           check_nrpe!check_swap
}

Enregistrez vos modifications et redémarrez le serveur Nagios pour qu'elles soient prises en compte :

/etc/init.d/nagios restart

Si vous avez une erreur au redémarrage du serveur Nagios, revérifiez votre configuration et réessayez.

Comment faire la même chose avec un hôte sous windows?

Voici un tutoriel (en anglais) expliquant la même manoeuvre sur un ordinateur windows :

Références

Cet article est inspiré de l'article original en anglais :

Vus : 3920
Publié par theClimber : 28