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 :
Sélectionne Oui et appuie sur Entrée. Il te sera demandé de créer une base de données pour Icinga2.
Sélectionne Oui et appuie sur Entrée. Il te sera demandé de définir le mot de passe de l’application Icinga2 :
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 :
Indique ton jeton secret et clique sur le bouton Suivant. Tu devrais voir la page suivante :
Sélectionne la surveillance et clique sur le bouton Suivant. Tu devrais voir la page suivante :
Assure-toi que toutes les extensions PHP sont installées puis clique sur le bouton Suivant. Tu devrais voir la page suivante :
Sélectionne ton type d’authentification et clique sur le bouton Suivant. Tu devrais voir la page suivante :
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 :
Sélectionne le nom de ton backend et clique sur le bouton Suivant. Tu devrais voir la page suivante :
Indique ton utilisateur admin et clique sur le bouton Suivant. Tu devrais voir la page suivante :
Clique sur le bouton Suivant. Tu devrais voir la page suivante :
Vérifie tous les paramètres et clique sur le bouton Suivant. Tu seras redirigé vers la page suivante :
Clique sur le bouton Suivant. Tu devrais voir la page suivante :
Sélectionne le nom de ton backend et clique sur le bouton Suivant. Tu devrais voir la page suivante :
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 :
Sélectionne tes options préférées et clique sur le bouton Suivant. Tu devrais voir la page suivante :
Sélectionne ta sécurité de surveillance et clique sur le bouton Suivant. La page suivante devrait s’afficher :
Vérifie ta configuration et clique sur le bouton Terminer. Tu devrais voir la page suivante :
Clique sur le bouton Connexion à Icinga Web 2. Tu devrais voir la page suivante :
Indique ton nom d’utilisateur admin, ton mot de passe et clique sur le bouton Connexion. Tu devrais voir la page suivante :
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.