Ajouter le client NRPE sous Debian

    Mon serveur de supervision étant installé, je vais installer les clients NRPE sur mes différents serveurs.

    Je prends ici comme exemple un serveur sous Debian Squeeze.

    En premier, nous allons ajouter l’utilisateur et le groupe nagios sur le système

    useradd nagios

    Et on modifie l’utilisateur nagios pour qu’il ne puisse pas se connecter sur notre serveur (pour des question s de sécurité)

    vipw

    Remplacer la ligne:

    nagios:x:500:500::/home/nagios:/bin/bash

    Par:

    nagios:x:500:500::/home/nagios:/bin/noshell

     

    Ensuite, nous allons télécharger l’archive NRPE à l’adresse suivante http://exchange.nagios.org/directory/Addons/Monitoring-Agents/NRPE-%252D-Nagios-Remote-Plugin-Executor/details

    Une fois l’archive téléchargée, décompressons là et lançons la configuration des sources (en activant le support SSL) :

    tar zxvf nrpe-2.12.tar.gz
    cd nrpe-2.12
    ./configure --enable-ssl --with-ssl 
    checking for a BSD-compatible install... /usr/bin/install -c
    checking build system type... x86_64-unknown-linux-gnu
    [...]
    checking for type of socket size... size_t
    checking for SSL headers... configure: error: Cannot find ssl headers

    Il nous manque donc des librairies. Nous allons donc installer le package correspondant :

    aptitude install libssl-dev
    The following NEW packages will be installed:
      libssl-dev zlib1g-dev{a}
    0 packages upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
    Need to get 2488 kB of archives. After unpacking 7770 kB will be used.
    Do you want to continue? [Y/n/?]
    Get:1 http://ftp.fr.debian.org/debian/ squeeze/main zlib1g-dev amd64 1:1.2.3.4.dfsg-3 [192 kB]
    Get:2 http://security.debian.org/ squeeze/updates/main libssl-dev amd64 0.9.8o-4squeeze1 [2296 kB]
    Fetched 2488 kB in 3s (681 kB/s)
    Selecting previously deselected package zlib1g-dev.
    (Reading database ... 19594 files and directories currently installed.)
    Unpacking zlib1g-dev (from .../zlib1g-dev_1%3a1.2.3.4.dfsg-3_amd64.deb) ...
    Selecting previously deselected package libssl-dev.
    Unpacking libssl-dev (from .../libssl-dev_0.9.8o-4squeeze1_amd64.deb) ...
    Processing triggers for man-db ...
    Setting up zlib1g-dev (1:1.2.3.4.dfsg-3) ...
    Setting up libssl-dev (0.9.8o-4squeeze1) ...

    Une fois la librairie installée, nous relançons la configuration des sources

    ./configure --enable-ssl --with-ssl 
    checking for a BSD-compatible install... /usr/bin/install -c
    checking build system type... x86_64-unknown-linux-gnu
    [...]
    *** Generating DH Parameters for SSL/TLS ***
    Generating DH parameters, 512 bit long safe prime, generator 2
    This is going to take a long time...............+....+...............................+................................................+..................+................+...........+......................................................+............................+...............+........+..................+...++*++*++*++*++*++*
    checking for Kerberos include files... could not find include files
    checking for perl... /usr/bin/perl
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating src/Makefile
    config.status: creating subst
    config.status: creating include/config.h
    
    *** Configuration summary for nrpe 2.12 03-10-2008 ***:
     General Options: ------------------------- 
         NRPE port:    5666 
         NRPE user:    nagios 
         NRPE group:   nagios 
         Nagios user:  nagios 
         Nagios group: nagios
    
    Review the options above for accuracy.  If they look okay,type 'make all' to compile the NRPE daemon and client.

    Il ne nous reste plus qu’à lancer la compilation

    make all
    cd ./src/; make ; cd ..
    make[1]: Entering directory `/root/nrpe-2.12/src'
    gcc -g -O2 -I/usr/include/openssl -I/usr/include -DHAVE_CONFIG_H -o nrpe nrpe.c utils.c -L/usr/lib64  -lssl -lcrypto -lnsl
    gcc -g -O2 -I/usr/include/openssl -I/usr/include -DHAVE_CONFIG_H -o check_nrpe check_nrpe.c utils.c -L/usr/lib64  -lssl -lcrypto -lnsl
    make[1]: Leaving directory `/root/nrpe-2.12/src'
    
    *** Compile finished ***
    If the NRPE daemon and client compiled without any errors, youcan continue with the installation or upgrade process.
    Read the PDF documentation (NRPE.pdf) for information on the nextsteps you should take to complete the installation or upgrade.

    Et nous lançons l’installation des sources compilées

    make install
    cd ./src/ && make install
    make[1]: Entering directory `/root/nrpe-2.12/src'
    make install-plugin
    make[2]: Entering directory `/root/nrpe-2.12/src'
    /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/libexec/usr/bin/install -c -m 775 -o nagios -g nagios check_nrpe /usr/local/nagios/libexec
    make[2]: Leaving directory `/root/nrpe-2.12/src'
    make install-daemonmake[2]: Entering directory `/root/nrpe-2.12/src'
    /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/bin
    /usr/bin/install -c -m 775 -o nagios -g nagios nrpe /usr/local/nagios/bin
    make[2]: Leaving directory `/root/nrpe-2.12/src'
    make[1]: Leaving directory `/root/nrpe-2.12/src'

    Nous copions maintenant le script de démarrage dans le répertoire correspondant (nous utilisons celui fourni par NRPE correspondant à la DEBIAN)

    cp init-script.debian /etc/init.d/nrpe
    chmod a+rx /etc/init.d/nrpe

    Et on lance la commande pour mettre le script dans les différents méthodes de démarrage

    update-rc.d nrpe defaults
    update-rc.d: using dependency based boot sequencing
    insserv: warning: script 'nrpe' missing LSB tags and overrides

    Nous allons donc ajouter les tags LSB dans le fichier /etc/init.d/nrpe

    vi /etc/init.d/nrpe
    #!/bin/sh
    # Start/stop the nrpe daemon.
    #
    # Contributed by Andrew Ryder 06-22-02
    # Slight mods by Ethan Galstad 07-09-02
    ### BEGIN INIT INFO
    # Provides:             nrpe
    # Required-Start:       $remote_fs $syslog
    # Required-Stop:        $remote_fs $syslog
    # Default-Start:        2 3 4 5
    # Default-Stop:         0 1 6
    # Short-Description:   The NRPE daemon
    ### END INIT INFO
    […]

    Et on relance la commande précédente

    update-rc.d nrpe defaults
    update-rc.d: using dependency based boot sequencing

    Et voilà, le service NRPE est installé, il nous reste plus qu’à configurer le fichier de configuration et de démarrer le service

    mkdir /usr/local/nagios/etc
    cp sample-config/nrpe.cfg /usr/local/nagios/etc/
    vi /usr/local/nagios/etc/nrpe.cfg
    
    [...]
    allowed_hosts=xxx.xxx.xxx.xxx
    [...]
    command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
    command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
    command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
    command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
    command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200

    On démarre donc le service NRPE

    /etc/init.d/nrpe start
    Starting nagios remote plugin daemon: nrpe.

    Pour vérifier si le service a bien démarré et que nous n’avons pas de problème, nous allons lancer une commande NRPE sur notre serveur de supervision en spécifiant l’adresse du serveur où nous venons d’installer le client NRPE

    /usr/local/nagios/libexec/check_nrpe -H xxx.xxx.xxx.xxx
    NRPE v2.12

    Nous voyons donc que cela fonctionne correctement car nous récupérons le numéro de version du client NRPE de notre serveur client.

    Nous finissons ce tutoriel en installant les différentes commandes nagios que nous pouvons installer sur notre serveur client

    Téléchargeons donc l’archive des plugins nagios à l’adresse suivantehttp://www.nagios.org/download/plugins

    Décompressons l’archive et lançons la configuration des sources

    tar zxvf nagios-plugins-1.4.15.tar.gz
    cd nagios-plugins-1.4.15
    ./configure --enable-ssl --with-ssl --with-mysql
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    [...]
     config.status: creating po/Makefile           
         --with-apt-get-command: /usr/bin/apt-get             
         --with-ping6-command: /bin/ping6 -n -U -w %d -c %d %s               
         --with-ping-command: /bin/ping -n -U -w %d -c %d %s                       
         --with-ipv6: yes                     
         --with-mysql: no                   
         --with-openssl: yes                     
         --with-gnutls: no               
         --enable-extra-opts: no                       
         --with-perl: /usr/bin/perl             
         --enable-perl-modules: no                     
         --with-cgiurl: /nagios/cgi-bin               
         --with-trusted-path: /bin:/sbin:/usr/bin:/usr/sbin                   
         --enable-libtap: no

    ATTENTION : pour avoir le support MySQL, il faut avoir au préalable installer le package suivant

    aptitude install libmysqld-dev

    Et nous lançons la compilation des sources ainsi que l’installation

    make all-recursive
    make install

    Et on vérifie que les droits sont corrects pour Nagios

    chown -R nagios:nagios /usr/local/nagios

    Tout est donc maintenant installé et configuré. Nous pouvons donc ajouter l’hôte ainsi que les services que nous voulons monitorer sur notre serveur Nagios.

     

    source : http://blog.nicolargo.com/2008/10/installation-de-nrpe-depuis-les-sources.html

    A propos Julien Redondo

    Directeur technique chez Nouveaux Territoires
    Pour marque-pages : Permaliens.

    4 Commentaires

    1. Salut,

      Pourquoi ne simplement installer le paquet nagios-nrpe-server ? (éventuellement avec nagios-plugins, nagios-plugins-basic et nagios-plugins-standard)

      Ci@+

    2. Thanks for the hint how to remove the « missing LSB tags and overrides » warnings.

    Laisser un commentaire