Comment installer le logiciel de surveillance Icinga 2 sur Debian 11

Icinga2 est un outil de surveillance de réseau gratuit, open-source et l’un des plus populaires. Il est écrit en PHP et C++, et te permet de surveiller les ressources du réseau, de notifier les pannes et de générer des données de performance pour les rapports. Il est capable de surveiller divers protocoles, notamment SMTP, POP3, HTTP, NNTP, ping, la charge CPU, l’utilisation du disque, les commutateurs, les routeurs et bien plus encore. Il est composé de deux piles : Icinga2 et Icinga Web 2. Icinga2 est utilisé comme serveur de surveillance tandis qu’Icinga Web 2 est l’interface web pour continuer à surveiller.

Dans cet article, je vais te montrer comment installer le serveur de surveillance Icinga2 sur Debian 11.

Conditions préalables

  • Un serveur fonctionnant sous Debian 11.
  • Un mot de passe root est configuré sur le serveur.

Installer le serveur LAMP

Tout d’abord, tu dois installer le serveur Web Apache, MariaDB, PHP et les autres extensions nécessaires sur ton serveur. Tu peux les installer tous à l’aide de la commande suivante :

apt-get install apache2 mariadb-server php libapache2-mod-php php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip php-cli php-mysql php-common php-opcache php-pgsql php-gmp php-imagick -y

Une fois que tous les paquets sont installés, édite le fichier php.ini et modifie certains paramètres :

nano /etc/php/7.4/apache2/php.ini

Change les lignes suivantes :

memory_limit = 256M 
post_max_size = 64M
upload_max_filesize = 100M	
max_execution_time = 300
default_charset = "UTF-8"
date.timezone = "Asia/Kolkata"
cgi.fix_pathinfo=0

Enregistre et ferme le fichier puis redémarre le service Apache pour appliquer les modifications :

systemctl restart apache2

Ensuite, tu devras définir un mot de passe root MariaDB et sécuriser l’installation. Tu peux le faire en exécutant le script suivant :

mysql_secure_installation

Réponds à toutes les questions comme indiqué ci-dessous :

Enter current password for root (enter for none):
OK, successfully used password, moving on...
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Installe Icinga2

Par défaut, le paquet Icinga2 est inclus dans le dépôt par défaut de Debian 11. Tu peux l’installer à l’aide de la commande suivante :

apt-get install icinga2 monitoring-plugins -y

Une fois que tous les paquets sont installés, démarre Icinga2 et active son démarrage au redémarrage du système :

systemctl start icinga2
systemctl enable icinga2

Pour vérifier l’état de l’Icinga2, exécute la commande suivante :

systemctl status icinga2

Exemple de sortie :

? icinga2.service - Icinga host/service/network monitoring system
     Loaded: loaded (/lib/systemd/system/icinga2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-10-03 13:40:11 UTC; 27s ago
       Docs: https://icinga.com/docs/icinga2/latest/
    Process: 20727 ExecStartPre=/usr/lib/icinga2/prepare-dirs /usr/lib/icinga2/icinga2 (code=exited, status=0/SUCCESS)
   Main PID: 20734 (icinga2)
      Tasks: 15 (limit: 2341)
     Memory: 12.7M
        CPU: 1.769s
     CGroup: /system.slice/icinga2.service
             ??20734 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e
             ??20748 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e
             ??20751 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e
             ??21621 /usr/lib/nagios/plugins/check_ping -6 -H ::1 -c 200,15% -w 100,5%
             ??21622 /bin/ping -6 -n -U -w 10 -c 5 ::1

Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Instantiated 1 Endpoint.
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Instantiated 1 FileLogger.
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Instantiated 235 CheckCommands.
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ScriptGlobal: Dumping variables to file '/var/cache/icinga2/i>
Oct 03 13:40:11 debian11 systemd[1]: Started Icinga host/service/network monitoring system.
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Triggering Start signal for config items
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/FileLogger: 'main-log' started.
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/NotificationComponent: 'notification' started.
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/CheckerComponent: 'checker' started.
Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Activated all objects.

Ensuite, tu devras installer le plugin MySQL pour Icinga2. Tu peux l’installer à l’aide de la commande suivante :

apt-get install icinga2-ido-mysql -y

Pendant l’installation, il te sera demandé d’activer la fonction ido-mysql d’Icinga 2 :

Utilise le serveur MySQL

Sélectionne Oui et appuie sur Entrée. Il te sera demandé de créer une base de données pour Icinga2.

Configurer ido mysql

Sélectionne Oui et appuie sur Entrée. Il te sera demandé de définir le mot de passe de l’application Icinga2 :

Set MySQL password

Indique ton mot de passe et appuie sur Entrée pour terminer l’installation.

Cela va créer une base de données et un utilisateur nommé icinga2 et définir un mot de passe.

Remarque: N’oublie pas la base de données, l’utilisateur et le mot de passe d’icinga2. Tu en auras besoin pendant l’installation basée sur le Web. Ensuite, active le module ido-mysql avec la commande suivante :

icinga2 feature enable ido-mysql

Enfin, redémarre le service Icinga2 pour appliquer les modifications :

systemctl restart icinga2

Installer et configurer Icinga Web 2

Icinga Web 2 fournit une interface Web pour surveiller Icinga2. Tu peux l’installer avec la commande suivante :

apt-get install icingaweb2 icingacli -y

Une fois l’installation terminée, tu devras créer une base de données et un utilisateur pour Icinga Web 2.

Tout d’abord, connecte-toi à MariaDB avec la commande suivante :

mysql -u root -p

Une fois connecté, crée une base de données et un utilisateur avec la commande suivante :

MariaDB [(none)]> CREATE DATABASE icingaweb2;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON icingaweb2.* TO 'icingaweb2'@'localhost' IDENTIFIED BY 'password';

Ensuite, supprime les privilèges et sors de MariaDB avec la commande suivante :

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Ensuite, génère un jeton secret avec la commande suivante :

icingacli setup token create

Tu devrais obtenir le résultat suivant :

The newly generated setup token is: 73bb878b50a35df8

Accède à l’interface Web d’Icinga2

Maintenant, ouvre ton navigateur Web et accède à l’assistant d’installation Web d’Icinga2 en utilisant l’URL http://your-server-ip/icingaweb2/setup. Tu devrais voir la page suivante :

Installateur web Icinga

Indique ton jeton secret et clique sur le bouton Suivant. Tu devrais voir la page suivante :

Modules Icinga

Sélectionne la surveillance et clique sur le bouton Suivant. Tu devrais voir la page suivante :

Vérifier les exigences

Assure-toi que toutes les extensions PHP sont installées puis clique sur le bouton Suivant. Tu devrais voir la page suivante :

Authentification

Sélectionne ton type d’authentification et clique sur le bouton Suivant. Tu devrais voir la page suivante :

Paramètres de la base de données

Indique les informations d’identification de ta base de données Web Icinga2 et clique sur le bouton Suivant. Tu devrais voir la page suivante :

Backend d'authentification

Sélectionne le nom de ton backend et clique sur le bouton Suivant. Tu devrais voir la page suivante :

Administration

Indique ton utilisateur admin et clique sur le bouton Suivant. Tu devrais voir la page suivante :

Configuration de l'application

Clique sur le bouton Suivant. Tu devrais voir la page suivante :

Étape suivante

Vérifie tous les paramètres et clique sur le bouton Suivant. Tu seras redirigé vers la page suivante :

Configurer le module de surveillance

Clique sur le bouton Suivant. Tu devrais voir la page suivante :

Configurer le backend de surveillance

Sélectionne le nom de ton backend et clique sur le bouton Suivant. Tu devrais voir la page suivante :

Suivi de la ressource OID

Indique les informations d’identification de ta base de données Icinga IDO et clique sur le bouton Suivant. Tu devrais voir la page suivante :

Transport de commande

Sélectionne tes options préférées et clique sur le bouton Suivant. Tu devrais voir la page suivante :

Paramètres de sécurité

Sélectionne ta sécurité de surveillance et clique sur le bouton Suivant. La page suivante devrait s’afficher :

Finir l'installation

Vérifie ta configuration et clique sur le bouton Terminer. Tu devrais voir la page suivante :

Installation d'Icinga 2 réussie

Clique sur le bouton Connexion à Icinga Web 2. Tu devrais voir la page suivante :

Connexion à Icinga 2

Indique ton nom d’utilisateur admin, ton mot de passe et clique sur le bouton Connexion. Tu devrais voir la page suivante :

Tableau de bord d'Icinga 2

Conclusion

Félicitations ! Tu as réussi à installer et à configurer le serveur de surveillance Icinga2 sur Debian 11. Tu peux maintenant ajouter des hôtes distants et commencer la surveillance à partir du tableau de bord d’Icinga Web 2.

Vous aimerez aussi...