Guide d’installation d’un serveur Nagios sur Ubuntu 16.04

By | March 28, 2018

Nagios est un système de monitoring Open Source très populaire.
Cette application permet une surveillance à distance de machines, ou d’appareils réseaux à travers des agents qui sont déployés sur ces appareils.
C’est un outil essentiel dans les environnements de production. A travers un tel système, vous serez en mesure de détecter très rapidement des problèmes sur vos machines tels que :
_ l’élévation soudaine de l’utilisation des ressources des processeurs (voir article),
_ l’espace insuffisant sur les disques,
_ la non-disponibilité de certaines machines ou de certains services,
_ et bien d’autres.

Cet article est un simple mémo sur l’installation et la configuration de la toute dernière version de Nagios sur les systèmes Ubuntu et Debian.

Pour ce billet, j’utiliserai deux machines:
_ Un système Ubuntu 16.04 qui représentera notre serveur Nagios (nserver),
_ Un autre système Ubuntu 16.04 qui représentera une machine client (nclient) qui sera supervisée par notre serveur Nagios.

Ci-dessous les grandes lignes des installations à faire sur chacune des machines:

Sur nserver:
_ Nagios Core 4.3.4,
_ L’interface Web de Nagios Core,
_ Les plugins Nagios,
_ Le plugin Nrpe.

Sur nclient:
_ Les plugins Nagios,
_ Le plugin Nrpe.

I-nserver

Mise à jour du système

# apt-get update ; apt-get upgrade -y

Installation des dépendances

# apt install apache2 libapache2-mod-php7.0 php7.0 -y
# apt install wget unzip zip autoconf gcc libc6 make apache2-utils libgd-dev -y
# apt-get install build-essential libgd2-xpm-dev openssl libssl-dev -y

Création du groupe et de l’utilisateur nagios puis ajout de l’utilisateur au groupe d’Apache

# useradd -m nagios -G www-data

Téléchargement de Nagios Core

# wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.4.tar.gz
# tar xfz nagios-4.3.4.tar.gz
# cd nagios-4.3.4/

Ci-dessous le contenu du dossier:

Installation de Nagios Core

# ./configure
# make all
# make install
# make install-init
# make install-commandmode
# make install-config
# systemctl enable nagios.service

Installation de l’interface Web de Nagios Core

# mkdir -p /etc/httpd/conf.d/nagios.conf
# make install-webconf
# cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
# chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
# /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-enabled/nagios.conf
# a2enmod cgi
# service apache2 restart
# systemctl start nagios.service


Création d’un accès d’administrateur à l’interface web de Nagios Core

# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

A ce stade, on devrait pouvoir se connecter à l’interface Nagios via l’adresse:
http://localhost/nagios.

Installation des plugins Nagios
Les plugins Nagios jouent un rôle très important dans la configuration d’un serveur Nagios. Ils permettent de réaliser certains tests tels que la véfirication de l’espace disponible sur les disques, la vérification de certains services, etc.

# wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz
# tar xvfz nagios-plugins-2.2.1.tar.gz
# cd nagios-plugins-2.2.1
# ./configure –with-nagios-user=nagios –with-nagios-group=nagios
# make
# make install
# systemctl restart nagios.service

Après l’installation des plugins Nagios, l’état du serveur nagios devrait passer de down à up.

Les services de nserver changeront également de status.

Aucun swap n’a été configuré sur cette machine, d’où le status critical.

Installation du plugin Nrpe

Le plugin Nrpe permet d’exécuter à distance les plugins Nagios sur les systèmes Linux/Unix. Il nous faudra alors installer le plugin à la fois sur le serveur et sur les clients Linux/Unix.

# wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-3.2.1/nrpe-3.2.1.tar.gz
# tar zvxf nrpe-3.2.1.tar.gz
# cd nrpe-3.2.1
# ./configure
# make all
# make install
# make install-config
# make install-init
# systemctl start nrpe.service
# systemctl enable nrpe.service

II-nclient

Configurons à présent notre machine nclient qui sera supervisée par notre serveur Nagios.
Pour permettre la surveillance à distance du serveur Nagios sur nclient, il nous faudra installer les plugins Nagios, puis le plugin Nrpe.

Mise à jour du système

# apt-get update ; apt-get upgrade -y

Installation des dépendances

# apt install wget unzip zip autoconf gcc libc6 make apache2-utils libgd-dev -y
# apt-get install build-essential libgd2-xpm-dev openssl libssl-dev -y

Création de l’utilisateur et du groupe nagios

# useradd -m nagios

Installation des plugins nagios

# wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz
# tar xvfz nagios-plugins-2.2.1.tar.gz
# cd nagios-plugins-2.2.1
# ./configure –with-nagios-user=nagios –with-nagios-group=nagios
# make
# make install

Installation du plugin Nrpe

# wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-3.2.1/nrpe-3.2.1.tar.gz
# tar zvxf nrpe-3.2.1.tar.gz
# cd nrpe-3.2.1
# ./configure
# make all
# make install
# make install-config
# make install-init
# systemctl start nrpe.service
# systemctl enable nrpe.service

Dans le fichier /usr/local/nagios/etc/nrpe.cfg, ajoutons l’adresse de nserver au paramètre
allowed_hosts,

Redémarrons nrpe:

# systemctl restart nrpe.service

Depuis nserver, nous vérifions la version de nrpe installée chez nclient à l’aide de la commande
suivante. Cette opération nous assure qu’il n’y a aucun problème de connexion entre les deux machines.

III-Ajout des infos de nclient au serveur nagios nserver

Tout d’abord créeons un fichier de configuration pour nclient dans le dossier /usr/local/nagios/etc/objects.
Nous nommerons ce fichier à partir de l’adresse ip de nclient.

NB: Les plugins Nagios viennent avec des templates (/usr/local/nagios/etc/objects/templates.cfg) qui vous aideront à configurer vos machines distantes et leurs services. Ces templates sont en fait des services comprenant des réglages génériques.

Le 3ème bloc de notre fichier de configuration configure le service ssh de notre hôte distant.
La 1ère ligne de ce bloc inclut le template local-service pour notre hôte nclient. La 3ème permet une description du service. Le paramètre check_command fait appel à l’un des plugins Nagios check_ssh. Ces plugins sont situés dans le dossier /usr/local/nagios/etc/libexec.
La valeur nulle du paramètre notifications_enabled désactive les notifications du service.

Ajoutons le chemin vers le fichier de configuration de nclient dans le fichier /usr/local/nagios/etc/nagios.cfg.

Redémarrons nagios:

# systemctl restart nagios

nclient devrait apparaître à présent dans le menu hosts de nagios…

…Ainsi que ses services dans le menu service:

Ainsi prend fin ce tutoriel, j’espère qu’il vous sera utile.

🙂

mdestroy

2 thoughts on “Guide d’installation d’un serveur Nagios sur Ubuntu 16.04

  1. Patrice

    Bonjour et merci pour ce tuto.

    J’ai une question pour cette commande :
    l’adresse de nserver au paramètre
    allowed_hosts,

    Quelle adresse IP doit on lui mettre précisement ?

    Merci d’avance

    Reply
    1. mdestroy Post author

      Le paramètre allowed_hosts définit la liste des adresses autorisées à communiquer avec le démon Nrpe.
      En ajoutant l’adresse IP de nserver au paramètre allowed_hosts du fichier nrpe.cfg de nclient, nous autorisons ainsi nserver à communiquer avec nclient.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *