Nagios: Installation d’un outil de monitoring sur FreeBSD

Bonjour,

Nouvel article sorti de mes cartons, le monitoring de périphériques réseaux (serveurs, routeurs, switches, imprimantes, etc … ).

Nagios c’est quoi ?

Nagios (anciennement appelé Netsaint) est une application permettant la surveillance système et réseau. Elle surveille les hôtes et services spécifiés, alertant lorsque les systèmes ont des dysfonctionnements et quand ils repassent en fonctionnement normal. C’est un logiciel libre sous licence GPL. Pour plus de détails se référer au site officiel http://www.nagios.org/

Prérequis

Il est nécessaire de satisfaire quelques points avant de procéder à l’installation de Nagios :
– système FreeBSD installé et à jour
– l’arbre des ports mis à jour également

Cette partie ne sera pas détaillée ici.

Installation

On se rend dans le répertoire d’installation de Nagios. On lance ensuite la configuration du logiciel et de ses dépendances. On finit par lancer la procédure d’installation.

# cd /usr/port/net-mgmt/nagios
# make config-recursive
# make install clean


Configuration

Nagios

On se base sur les fichiers de configuration fournis pour utiliser Nagios :

# cp /usr/local/etc/nagios/nagios.cfg-sample /usr/local/etc/nagios/nagios.cfg
# cp /usr/local/etc/nagios/resource.cfg-sample /usr/local/etc/nagios/resource.cfg
# cp /usr/local/etc/nagios/cgi.cfg-sample /usr/local/etc/nagios/cgi.cfg
# cp /usr/local/etc/nagios/objects/commands.cfg-sample /usr/local/etc/nagios/objects/commands.cfg
# cp /usr/local/etc/nagios/objects/contacts.cfg-sample /usr/local/etc/nagios/objects/contacts.cfg
# cp /usr/local/etc/nagios/objects/timeperiods.cfg-sample /usr/local/etc/nagios/objects/timeperiods.cfg
# cp /usr/local/etc/nagios/objects/templates.cfg-sample /usr/local/etc/nagios/objects/templates.cfg
# cp /usr/local/etc/nagios/objects/localhost.cfg-sample /usr/local/etc/nagios/objects/localhost.cfg

Ou directement:

# sh -c 'for i in ` find /usr/local/etc/nagios -name "*cfg-sample" -not -name "switch*" -not -name "printer*"`; do cp $i `echo $i | sed -e s/cfg-sample/cfg/`; done;'

On exporte la configuration du groupe freebsd-servers depuis le fichier localhost.cfg vers un fichier à part :

# mkdir /usr/local/etc/nagios/serveurs_bsd
# ee /usr/local/etc/nagios/nagios.cfg
…
#cfg_dir=/usr/local/etc/nagiosr/outers
cfg_dir=/usr/local/etc/nagios/serveurs_bsd
…
# ee /usr/local/etc/nagios/serveurs_bsd/hostgroup_freebsd_servers.cfg
###############################################################################
###############################################################################
#
# HOST GROUP DEFINITION
#
###############################################################################
###############################################################################

# Define an optional hostgroup for FreeBSD machines

define hostgroup{
        hostgroup_name  freebsd-servers ; The name of the hostgroup
        alias           FreeBSD Servers ; Long name of the group
        members         localhost       ; Comma separated list of hosts that belong to this group
        }

Note : On supprime la déclaration dans le fichier /usr/local/etc/nagios/objects/localhost.cfg.


Apache

On modifie la configuration du serveur web pour qu’il prenne en compte les fichiers de Nagios :

# ee /usr/local/etc/apache/httpd.conf
   <Directory /usr/local/www/nagios>
     AllowOverride AuthConfig
     Order deny,allow
     Deny from all
     Allow from all
     php_flag engine on
     php_admin_value open_basedir /usr/local/www/nagios/:/var/spool/nagios/
   </Directory>

   <Directory /usr/local/www/nagios/cgi-bin>
     Options ExecCGI
   </Directory>

   ScriptAlias /nagios/cgi-bin/ /usr/local/www/nagios/cgi-bin/
   Alias /nagios/ /usr/local/www/nagios/

    #
    # ScriptAlias: This controls which directories contain server scripts.


Contrôle d’accès

On créé le fichier .htpasswd comme ceci :

# ee /usr/local/www/nagios/.htaccess
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/etc/nagios/htpasswd-users
require valid-user

Puis on créé l’utilisateur nagiosadmin :

# htpasswd -c /usr/local/etc/nagios/htpasswd-users nagiosadmin
New password:
Re-type new password:
Adding password for user nagiosadmin


Démarrage

Après installation, on souhaite que le serveur web et nagios se lance automatiquement au démarrage de la machine.

# echo ‘# Demarrage du serveur web’ >> /etc/rc.conf
# echo ‘apache_enable="YES"’ >> /etc/rc.conf
# echo ‘# Demarrage de Nagios’ >> /etc/rc.conf
# echo ‘nagios_enable="YES"’ >> /etc/rc.conf

On reboot le serveur ou alors on lance les services à la main :

# service apache onestart
# service nagios onestart


Test de Fonctionnement

Puis on se connecte sur l’interface web avec l’adresse http://nagios/nagios/. Si tout s’est déroulé correctement, il nous est demandé de nous identifier avec l’utilisateur créé précédemment.

http://tinoob.free.fr/images/nagios/nagios_01.png

http://tinoob.free.fr/images/nagios/nagios_02.png

A bientot pour un nouvel article.

3 comments on “Nagios: Installation d’un outil de monitoring sur FreeBSD

  1. Pingback: Nagios: Surveillance serveurs FreeBSD | La cabane de l'admin

  2. Pingback: Nagios: Surveillance de serveurs Debian | La cabane de l'admin

  3. Pingback: Nagios: Surveillance de switches et routeurs | La cabane de l'admin

Laisser un commentaire

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


sept + 7 =

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>