Nagios: Surveillance de serveurs FreeBSD

Hello,

Suite à l’article précédent sur Nagios Nagios: Installation d’un outil de monitoring sur FreeBSD, nous avons mis en place un outil de surveillance réseau qui prend en charge déjà le serveur Nagios lui même. En naviguant dans Hosts et Services, nous pouvons voir l’état du serveur et des services surveillés.

http://tinoob.free.fr/images/nagios/nagios_03.png http://tinoob.free.fr/images/nagios/nagios_04.png

Vous pouvez tout à fait ajouter d’autres services à surveiller sur le serveur Nagios en lui même. Ce que vous ajouterez dependra fortement des besoins que vous aurez.


Serveurs et services distants

Le monitoring de postes distants se fait à l’aide d’un module supplémentaire. Ce module, appelé nrpe, n’est pas installé avec Nagios. Il est nécessaire de l’installer sur le serveur Nagios.


Nrpe sur le serveur Nagios

On se rend dans le dossier d’installation et on lance la commande d’install.
Note: Lors de l’installation, on active le support des « command argument ».

# cd /usr/ports/net-mgmt/nrpe2
# make install clean
[X] ARGS  Enable command argument processing **Security Risk**

On ajoute dans le fichier commands.cfg, après le check_nt, l’objet commande pour les requetes nrpe :

# ee /usr/local/etc/nagios/objects/commands.cfg
# 'check_nt' command definition
define command{
        command_name    check_nt
        command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$
        }


# 'check_nrpe' command definition
define command{
        command_name    check_nrpe
        command_line    $USER1$/check_nrpe2 -H $HOSTADDRESS$ -n -u -c $ARG1$ -a $ARG2$ $ARG3$ $ARG4$ $ARG5$ $ARG6$
        }


Parametrage des clients

Il est également nécessaire d’installer le module NRPE sur le poste à monitorer.

# cd /usr/ports/net-mgmt/nrpe2
# make config-recursive install clean
[X] ARGS  Enable command argument processing **Security Risk**

On modifie le fichier de configuration pour y mettre l’adresse IP du serveur Nagios, autoriser les command args et y ajouter une commande externe de test :

# cp /usr/local/etc/nrpe.cfg-sample /usr/local/etc/nrpe.cfg
# ee /usr/local/etc/nrpe.cfg
...
Allowed_hosts=127.0.0.1,adresseIPserveurNagios
…
dont_blame_nrpe=1
…

On souhaite lancer le module nrpe au démarrage de la machine :

# echo '# Demarrage nrpe' >> /etc/rc.conf
# echo 'nrpe2_enable="YES"' >> /etc/rc.conf
# /usr/local/etc/rc.d/nrpe2 start

Puis on vérifie que Nrpe fonctionne bien en local :

# /usr/local/libexec/nagios/check_nrpe2 -n -H 127.0.0.1
NRPE v2.12
# /usr/local/libexec/nagios/check_nrpe2 -n -H 127.0.0.1 -c check_total_procs
PROCS OK: 65 processes


Intégration dans Nagios

On créé un nouvel hôte dans le dossier serveurs-bsd. Toutes les commandes directement liée à la machine se font avec nrpe. On oubli pas de mettre ce serveur dans le groupe freebsd-servers. Le fichier simple correspondant a cette machine est ci dessous.

# ee /usr/local/etc/nagios/serveurs_bsd/bsdtest.cfg
###############################################################################
###############################################################################
#
# HOST DEFINITION
#
###############################################################################
###############################################################################

# Define a host for the local machine

define host{
        use                     freebsd-server          ; Name of host template to use
                                                        ; This host definition will inherit all variables that are defined
                                                        ; in (or inherited by) the freebsd-server host template definition.
        host_name               bsdtest
        alias                   Test BSD
        address                 adresseIPServeurBSD
        hostgroups              freebsd-servers
        }


 ###############################################################################
###############################################################################
#
# SERVICE DEFINITIONS
#
###############################################################################
###############################################################################


# Define a service to "ping" the local machine

define service{
        use                             local-service         ; Name of service template to use
        host_name                       bsdtest
        service_description             PING
        check_command                   check_ping!100.0,20%!500.0,60%
        }


# Define a service to check the number of currently logged in
# users on the local machine.  Warning if > 20 users, critical
# if > 50 users.

define service{
        use                             local-service         ; Name of service template to use
        host_name                       bsdtest
        service_description             Current Users
        check_command                   check_nrpe!check_users!20!50
        }


# Define a service to check the load on the local machine.

define service{
        use                             local-service         ; Name of service template to use
        host_name                       bsdtest
        service_description             Current Load
        check_command                   check_nrpe!check_load!5.0,4.0,3.0!10.0,6.0,4.0
        }

Note : Il ne s’agit que d’un fichier de démonstration. Vous pouvez ajouter autant de services que vous le souhait voulez.

On vérifie qu’il n’y a pas d’erreurs dans la configuration :

# /usr/local/bin/nagios -v /usr/local/etc/nagios/nagios.cfg 
Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

On redémarre Nagios pour prendre en compte les modifications :

# service nagios restart
Performing sanity check of nagios configuration: OK
Stopping nagios.
Performing sanity check of nagios configuration: OK
Starting nagios.

Et on va vérifier sur l’interface web de nagios que le nouvel hôte est présent.

En passant dans Hosts, Services et Host Groups, on peut voir l’état de la nouvelle machine ajoutée.

http://tinoob.free.fr/images/nagios/nagios_05.png http://tinoob.free.fr/images/nagios/nagios_06.png http://tinoob.free.fr/images/nagios/nagios_07.png

A très bientot pour d’autres articles sortis tout droits de mes cartons.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *


cinq − = 0

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>