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 :