Comment installer le logiciel de surveillance Nagios sur Ubuntu 20.04 LTS

Nagios est un logiciel open-source pour la surveillance des systèmes et des réseaux. Nagios peut surveiller l’activité d’un hôte et de ses services et fournit un avertissement/une alerte si quelque chose de grave se produit sur le serveur. Nagios peut fonctionner sur les systèmes d’exploitation Linux, et nous allons utiliser le serveur Ubuntu 20.04.

Dans ce tutoriel, nous allons te montrer étape par étape l’installation de Nagios 4.4.x sur Ubuntu 20.04. Nous installerons le Nagios Core 4.4.x à partir des sources, nous installerons les plugins nrpe et nagios, puis nous ajouterons l’hôte à surveiller au serveur Nagios.

Conditions préalables

  • 2 serveurs Ubuntu 20.04
    • Serveur Nagios – nom d’hôte : nagios20 avec une IP : 172.16.0.5
    • Client Ubuntu – nom d’hôte : client01 avec une IP : 172.16. 0.6
  • Privilèges de racine

Ce que nous allons faire :

  • Installer les paquets Dépendances
  • Installer Nagios Core 4.4.6
  • Installer le plugin Nagios et le plugin NRPE
  • Ajouter l’hôte à surveiller au serveur Nagios
  • Tester

Étape 1 – Installer les dépendances des paquets

Tout d’abord, nous allons mettre à jour le référentiel Ubuntu et installer certaines dépendances de paquets pour l’installation de Nagios.

Mets à jour le référentiel Ubuntu à l’aide de la commande apt ci-dessous.

sudo apt update

Ensuite, installe les dépendances des paquets pour l’installation de Nagios.

sudo apt install -y autoconf bc gawk dc build-essential gcc libc6 make wget unzip apache2 php libapache2-mod-php libgd-dev libmcrypt-dev make libssl-dev snmp libnet-snmp-perl gettext

Et tu as installé les dépendances des paquets pour le serveur Nagios.

Étape 2 – Installer Nagios Core 4.4.6

Dans cette étape, nous allons installer la dernière version stable Nagios Core 4.4.6. Et nous allons l’installer manuellement à partir de la source.

– Télécharge Nagios Core 4.4.6

Va dans ton répertoire personnel et télécharge le code source de Nagios Core.

cd ~/
wget https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.6.tar.gz

Extrais le paquet Nagios et va dans le répertoire Nagios extrait.

tar -xf nagios-4.4.6.tar.gz
cd nagioscore-*/

– Compile et installe Nagios

Commence par compiler le code source de Nagios et définis la configuration de l’hôte virtuel Apache pour Nagios.

sudo ./configure --with-httpd-conf=/etc/apache2/sites-enabled
sudo make all

Compile Nagios

Crée l’utilisateur et le groupe Nagios, et ajoute l’utilisateur Apache ‘www-data’ au groupe ‘nagios’.

sudo make install-groups-users
sudo usermod -a -G nagios www-data

Nagios Ajouter un utilisateur et un groupe

Installe les binaires de Nagios, le script du démon de service et le mode de commande.

sudo make install
sudo make install-daemoninit
sudo make install-commandmode

Ensuite, installe la configuration du script d’exemple.

sudo make install-config

Ensuite, installe la configuration Apache pour Nagios et active les modules mod_rewrite et mode_cgi.

sudo make install-webconf
sudo a2enmod rewrite cgi

Maintenant, redémarre le service Apache.

systemctl restart apache2

Et tu as installé le Nagios Core 4.4.6.

Compile Nagioscore

– Crée l’utilisateur nagiosadmin

Après avoir installé le Nagios Core, nous allons ajouter l’authentification de base pour accéder au tableau de bord de Nagios. Et nous allons utiliser l’authentification de base Apache.

Crée une nouvelle authentification de base Apache pour l’utilisateur « nagiosadmin ».

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

Tape ton mot de passe fort.

Créer l'utilisateur Nagios Admin

Et tu as créé un nouvel utilisateur ‘nagiosadmin’ pour l’authentification du tableau de bord Nagios.

– Configurer le pare-feu UFW

Pour la configuration du pare-feu, tu dois ajouter le service Apache et le port du serveur Nagios au pare-feu UFW.

Ajoute le port SSH et Apache HTTP à l’aide de la commande ufw ci-dessous.

for svc in Apache ssh
do
ufw allow $svc
done

Ensuite, démarre le service du pare-feu UFW et ajoute-le au démarrage du système.

ufw enable

Tape‘y‘ et le service du pare-feu UFW sera activé.

Vérifie maintenant toutes les règles disponibles à l’aide de la commande ci-dessous.

ufw status numbered

Tu obtiendras maintenant les services SSH et Apache ajoutés au pare-feu UFW.

Ajouter un port au pare-feu UFW

Et enfin, tu as terminé l’installation de Nagios Core sur le serveur Ubuntu 20.04.

Étape 3 – Installe les plugins Nagios et le plugin NRPE

Après avoir installé le Nagios Core, nous allons installer les Nagios Plugins et les NRPE Plugins.

Les plugins Nagios et NRPE sont tous deux disponibles par défaut sur le dépôt Ubuntu. Tu peux installer ces paquets à l’aide de la commande apt ci-dessous.

sudo apt install monitoring-plugins nagios-nrpe-plugin

Une fois l’installation terminée, va dans le répertoire d’installation de Nagios « /usr/local/nagios/etc » et crée un nouveau répertoire pour stocker la configuration de tous les hôtes du serveur.

cd /usr/local/nagios/etc
mkdir -p /usr/local/nagios/etc/servers

Ensuite, modifie la configuration de Nagios ‘nagios.cfg’ en utilisant l’éditeur vim.

vim nagios.cfg

Décommente l’option ‘cfg_dir’ qui sera utilisée pour stocker toutes les configurations des hôtes du serveur.

cfg_dir=/usr/local/nagios/etc/servers

Sauvegarde et ferme.

Ensuite, édite le fichier de configuration « resource.cfg » et définis le chemin des fichiers binaires des plugins de surveillance Nagios.

vim resource.cfg

Définis le chemin des plugins de surveillance Nagios en modifiant la configuration par défaut comme ci-dessous.

$USER1$=/usr/lib/nagios/plugins

Sauvegarde et ferme.

Ensuite, ajoute les contacts email de l’administrateur de Nagios en modifiant le fichier de configuration « objects/contacts.cfg ».

vim objects/contacts.cfg

Change l’adresse e-mail avec la tienne.

define contact{
        ......
        email [email protected]
}

Sauvegarde et ferme.

Définis maintenant la commande de vérification nrpe en éditant le fichier de configuration « objects/commands.cfg ».

vim objects/commands.cfg

Ajoute la configuration suivante à la fin de la ligne.

define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

Sauvegarde et ferme, et la configuration de Nagioscore est terminée.

Ensuite, démarre le service Nagios et ajoute-le au démarrage du système.

systemctl start nagios
systemctl enable nagios

Configurer les plugins Nagios NRPE

Le service Nagios est en place et fonctionne, vérifie-le à l’aide de la commande suivante.

systemctl status nagios

Tu trouveras ci-dessous le résultat.

Vérifier le service Nagios

Le service Nagios est donc en place et fonctionne. Nous devons maintenant redémarrer le service Apache pour appliquer une nouvelle configuration de Nagios.

systemctl restart apache2

La configuration de Nagios est terminée.

Ouvre ton navigateur Web et tape l’adresse IP du serveur en suivant le chemin URL « nagios ».

http://172.16.0.5/nagios/

Connecte-toi avec l’utilisateur « nagiosadmin » et tape ton mot de passe.

Connecte-toi au serveur Nagios

Et tu obtiendras le tableau de bord Nagios comme ci-dessous.

Tableau de bord de Nagios

Tu as donc installé Nagios sur le serveur Ubuntu 20.04. Et tu es en mesure d’ajouter des hôtes au serveur Nagios.

Étape 5 – Ajouter un hôte Linux au moniteur

Dans cette étape, nous allons ajouter le serveur Ubuntu avec le nom d’hôte « client01 » et l’adresse IP « 172.16.0.6 » au serveur Nagios.

– Installe le serveur NRPE sur le serveur « client01

Connecte-toi au serveur « client01 » en utilisant ton ssh.

ssh [email protected]

Une fois que tu t’es connecté, mets à jour le référentiel Ubuntu et installe les plugins Nagios et le serveur NRPE.

sudo apt update
sudo apt install nagios-nrpe-server monitoring-plugins

Ensuite, va dans le répertoire d’installation de NRPE « /etc/nagios » et modifie le fichier de configuration « nrpe.cfg ».

cd /etc/nagios/
vim nrpe.cfg

Décommente la ligne « server_address » et change la valeur avec l’adresse IP « client01 ».

server_address=172.16.0.6

Sur la ligne « allowed_hosts », ajoute l’adresse IP du serveur Nagios « 172.16.0.5 ».

allowed_hosts=127.0.0.1,::1,172.16.0.5

Sauvegarde et ferme.

Ensuite, modifie la configuration « nrpe_local.cfg ».

vim nrpe_local.cfg

Change l’adresse IP par l’adresse IP de « client01 » et colle la configuration dans le fichier.

command[check_root]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
command[check_ping]=/usr/lib/nagios/plugins/check_ping -H 172.16.0.6 -w 100.0,20% -c 500.0,60% -p 5
command[check_ssh]=/usr/lib/nagios/plugins/check_ssh -4 172.16.0.6
command[check_http]=/usr/lib/nagios/plugins/check_http -I 172.16.0.6
command[check_apt]=/usr/lib/nagios/plugins/check_apt

Sauvegarde et ferme.

Maintenant, redémarre le service NRPE et ajoute-le au démarrage du système.

systemctl restart nagios-nrpe-server
systemctl enable nagios-nrpe-server

Et le serveur Nagios NRPE est en marche.

Ajouter l'hôte à Nagios

Vérifie le service NRPE à l’aide de la commande suivante.

systemctl status nagios-nrpe-server

Le service NRPE est en place et fonctionne.

Vérifier le service Nagios NRPE

Ensuite, retourne au serveur Nagios et vérifie le serveur NRPE « client01 ».

/usr/lib/nagios/plugins/check_nrpe -H 172.16.0.6
/usr/lib/nagios/plugins/check_nrpe -H 172.16.0.6 -c check_ping

Tu obtiendras le résultat ci-dessous.

Vérifier le statut NRPE

Et tu as installé le serveur Nagios NRPE et les plugins Nagios sur l’hôte « client01 ».

– Ajoute la configuration des hôtes au serveur Nagios

De retour au terminal du serveur Nagios, va dans le répertoire « /usr/local/nagios/etc » et crée une nouvelle configuration « server/client01.cfg ».

cd /usr/local/nagios/etc
vim servers/client01.cfg

Change l’adresse IP et le nom d’hôte avec les tiens et colle la configuration dedans.

# Ubuntu Host configuration file1

define host {
        use                          linux-server
        host_name                    client01
        alias                        Ubuntu Host
        address                      172.16.0.6
        register                     1
}

define service {
      host_name                       client01
      service_description             PING
      check_command                   check_nrpe!check_ping
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       client01
      service_description             Check Users
      check_command                   check_nrpe!check_users
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       client01
      service_description             Check SSH
      check_command                   check_nrpe!check_ssh
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       client01
      service_description             Check Root / Disk
      check_command                   check_nrpe!check_root
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       client01
      service_description             Check APT Update
      check_command                   check_nrpe!check_apt
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       client01
      service_description             Check HTTP
      check_command                   check_nrpe!check_http
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

Sauvegarde et ferme.

Maintenant, redémarre le serveur Nagios.

systemctl restart nagios

Ajouter l'hôte au serveur Nagios

Étape 5 – Test

Retourne dans ton navigateur et attends quelques minutes.

Clique sur le menu« Hôtes » et tu verras que le « client01 » a été ajouté.

Ajouter l'hôte à Nagios

Tu trouveras ci-dessous les détails de la surveillance du serveur « client01 ».

Surveillance des services Nagios

Maintenant, tu as ajouté l’hôte à surveiller au serveur Nagios.

Et l’installation de Nagios 4.4.6 sur le serveur Ubuntu 20.04 a été effectuée avec succès.

Référence

Vous aimerez aussi...