Recherche de site Web

Comment installer l'outil de surveillance Icinga2 sur Ubuntu 20.04/22.04


Icinga2 est un puissant outil de surveillance gratuit et open source qui surveille les ressources de votre réseau et envoie des alertes ou des notifications en cas de panne ou de panne. Il collecte également des métriques à partir des ressources réseau qui peuvent vous aider à générer des données de performances et à créer des rapports.

Icinga2 est évolutif et peut surveiller des réseaux petits, grands et complexes sur différents sites. Dans ce guide, vous apprendrez comment installer l'outil de surveillance Icinga2 sur Ubuntu 20.04 et Ubuntu 22.04.

Étape 1 : Installez Apache, MariaDB et PHP

Nous commençons par installer Apache, MariaDB et PHP avec des modules PHP supplémentaires qui sont requis lors de la configuration finale. de Icinga2 sur un navigateur web.

sudo apt install apache2 mariadb-server mariadb-client mariadb-common php php-gd php-mbstring php-mysqlnd php-curl php-xml php-cli php-soap php-intl php-xmlrpc php-zip  php-common php-opcache php-gmp php-imagick php-pgsql -y

Une fois installé, assurez-vous que tous les services sont en cours d'exécution. Si tel est le cas, exécutez les commandes suivantes.

sudo systemctl start {apache2,mariadb}
sudo systemctl enable {apache2,mariadb}
sudo systemctl status {apache2,mariadb}

Ensuite, vous devez utiliser le script mysql_secure_installation pour configurer le mot de passe du compte root de la base de données, supprimer les utilisateurs anonymes, interdire la connexion root à distance et supprimer la base de données de test.

sudo mysql_secure_installation

Une fois les modules PHP en place, vous devez modifier le fichier php.ini qui est le fichier de configuration par défaut pour les applications exécutées sur PHP.

À l’aide de votre éditeur préféré, ouvrez le fichier. Ici. nous utilisons un éditeur de ligne de commande nano.


sudo nano /etc/php/8.1/apache2/php.ini   [On Ubuntu 22.04]
sudo nano /etc/php/7.4/apache2/php.ini   [On Ubuntu 20.04]

Apportez les modifications suivantes aux paramètres suivants.

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

Pour le paramètre date.timezone, assurez-vous de le configurer pour refléter votre fuseau horaire actuel. Voici une liste des fuseaux horaires pris en charge par PHP.

Pour appliquer les modifications apportées, redémarrez simplement le serveur Web Apache.

sudo systemctl restart apache2

Étape 2 : Installez Icinga2 sur Ubuntu

Une fois la configuration PHP terminée, nous allons procéder et installer Icinga2. Cependant, le dépôt Icinga2 n'est pas fourni par les dépôts Ubuntu 20.04. En tant que tel, nous devons ajouter manuellement le référentiel à votre système.

Par conséquent, commencez par ajouter la clé GPG à l'aide de la commande curl.

curl https://packages.icinga.com/icinga.key | apt-key add -

Ensuite, créez un fichier de référentiel pour Icinga2.

sudo vim /etc/apt/sources.list.d/icinga-focal.list

Ajoutez les entrées suivantes.

deb http://packages.icinga.com/ubuntu icinga-focal main
deb-src http://packages.icinga.com/ubuntu icinga-focal main

Enregistrez et quittez le fichier.

Pour commencer à utiliser le référentiel, mettez à jour les listes de packages comme suit.

sudo apt update

Ensuite, installez Icinga2 et les plugins de surveillance.

sudo apt install icinga2 monitoring-plugins

Une fois l'installation terminée, activez et démarrez le service Icinga2.

sudo systemctl enable icinga2
sudo systemctl start icinga2

Pour confirmer que le service Icinga2 est en cours d'exécution, exécutez :

sudo systemctl status icinga2

La sortie indique que le démon Icinga2 est en cours d'exécution et que nous sommes prêts à partir.

Étape 3 : Installez le module Icinga2 IDO

La sortie de données Icinga2 (IDO) exporte toutes les informations de configuration et d'état dans une base de données. La base de données IDO est ensuite utilisée par Icinga Web 2 comme backend de données.

Pour installer le module, exécutez la commande

sudo apt install icinga2-ido-mysql -y

En cours de route, une fenêtre contextuelle s'affichera sur le terminal. Pour activer la fonctionnalité ido-mysql d'Icinga2, sélectionnez « Oui » et appuyez sur ENTER.

Le package icinga2-ido-mysql nécessite une base de données installée et configurée. Cela peut être géré avec dbconfig-common, mais nous allons créer la base de données nous-mêmes. Sélectionnez donc « Non » et refusez cette option.

Ensuite, connectez-vous à votre serveur de base de données MariaDB.

sudo mysql -u root -p

Ensuite, créez une base de données et un utilisateur de base de données pour le package icinga2-ido-mysql et accordez à l'utilisateur tous les privilèges sur la base de données.

> CREATE DATABASE icinga_ido_db;
> GRANT ALL ON icinga_ido_db.* TO 'icinga_ido_user'@'localhost' IDENTIFIED BY 'Password321';
> FLUSH PRIVILEGES;
> EXIT;

Une fois la base de données en place, continuez et importez le schéma Icinga2 IDO à l'aide de la commande. Vous devrez fournir le mot de passe root du serveur de base de données.

sudo mysql -u root -p icinga_ido_db < /usr/share/icinga2-ido-mysql/schema/mysql.sql

Étape 4 : Activer le module Icinga2 IDO

Pour activer la communication de la base de données icinga2-ido-mysql avec Icinga Web 2, nous devons aller plus loin et apporter des modifications au fichier de configuration par défaut.

Ouvrez le fichier de configuration icinga2-ido-mysql.

sudo vim /etc/icinga2/features-available/ido-mysql.conf

Modifiez les entrées suivantes et définissez-les pour qu'elles correspondent aux détails de la base de données icinga2-ido-mysql comme spécifié à l'étape 3.

Enregistrez les modifications et quittez.

Activez ensuite la fonctionnalité icinga2-ido-mysql.

sudo icinga2 feature enable ido-mysql

Pour que les modifications prennent effet, redémarrez Icinga2.

sudo systemctl restart icinga2 

Étape 5 : Installer et configurer IcingaWeb2

Le dernier composant à installer et à configurer est IcingaWeb 2, qui est un framework PHP rapide, puissant et extensible qui fait office de frontal à Icinga2.

Installez donc IcingaWeb2 et la Icinga CLI, exécutez la commande.

sudo apt install icingaweb2 icingacli -y

Nous devons créer un deuxième schéma de base de données qui sera désigné pour Icinga Web 2.

Encore une fois, connectez-vous à votre serveur de base de données.

sudo mysql -u root -p

Créez ensuite la base de données et l'utilisateur de la base de données pour Icingaweb2 et accordez toutes les autorisations à l'utilisateur de la base de données sur la base de données.

> CREATE DATABASE icingaweb2;
> GRANT ALL ON icingaweb2.* TO 'icingaweb2user'@'localhost' IDENTIFIED BY 'P@ssword';
> FLUSH PRIVILEGES;
> EXIT;

Ensuite, créez un jeton de configuration à l'aide de la commande suivante. Le jeton de configuration sera utilisé lors de l'authentification lors de la configuration de Icinga2 sur le navigateur.

sudo icingacli setup token create

Si vous perdez ou oubliez le jeton, vous pouvez le visualiser en exécutant la commande :

sudo icingacli setup token show

Étape 6 : Terminez l'installation d'IcingaWeb2 dans Ubuntu

Une fois toutes les configurations en place, nous allons maintenant terminer la configuration de Icinga2 sur un navigateur Web. Alors, lancez votre navigateur et dirigez-vous vers l’URL affichée.

http://server-ip/icingaweb2/setup

Cela vous amène à la page de bienvenue comme indiqué. Vous vous souvenez du jeton de configuration que vous avez créé ? Copiez-le et collez-le dans le champ de texte et cliquez sur « Suivant ».

Sur la page « Modules », le module « Monitoring » est activé par défaut. Cependant, vous êtes libre d'activer vos modules préférés.

Faites ensuite défiler vers le bas et cliquez sur « Suivant ».

À l'étape suivante, assurez-vous que tous les modules et bibliothèques PHP sont installés et que les autorisations de répertoire sont correctes.

Faites ensuite défiler vers le bas et cliquez sur « Suivant ».

Sur la page « Authentification », sélectionnez « Base de données » comme type d'authentification et cliquez sur « Suivant ».

Dans la section « Ressource de base de données », remplissez les détails de la base de données pour IcingaWeb2 comme spécifié à l'Étape 5.

Faites ensuite défiler vers le bas et cliquez sur « Valider la configuration » pour valider les détails de la base de données.

Si tout s'est bien passé, la configuration de la base de données sera validée avec succès. Une fois la validation réussie, faites défiler vers le bas et cliquez sur « Suivant ».

À l'étape suivante, cliquez sur « Suivant » pour accepter les valeurs par défaut.

Dans la section « Configuration de l'application », cliquez sur « Suivant » pour accepter les valeurs par défaut.

À l'étape suivante, prenez le temps et examinez toutes les modifications apportées à Icinga Web 2. Assurez-vous que toutes les configurations sont correctes et n'hésitez pas à revenir en arrière et à apporter les corrections nécessaires.

Si tout semble bon, faites défiler vers le bas et cliquez sur « Suivant ».

La dernière section de la configuration Web Icinga2 implique la configuration du module de surveillance. Alors, cliquez sur « Suivant ».

Ensuite, remplissez les détails de la base de données pour le module Icinga2 IDO comme spécifié à l'Étape 3.

Faites ensuite défiler vers le bas et cliquez sur « Valider la configuration ».

Encore une fois, la validation des détails de la base de données devrait être un succès. Si vous obtenez une erreur, revenez en arrière et assurez-vous que tous les détails sont corrects.

Pour passer à l'étape suivante, faites défiler vers le bas et cliquez sur « Suivant ».

Dans la section « Command Transport », sélectionnez « Local Command File » comme type de transport et cliquez sur « Suivant ».

Dans la section « Surveillance de la sécurité », cliquez simplement sur « Suivant » pour conserver les valeurs par défaut.

Passez en revue toutes les modifications apportées au module de surveillance. Si quelque chose ne semble pas à sa place, revenez en arrière et apportez les corrections nécessaires.

Faites ensuite défiler vers le bas et cliquez sur « Terminer ».

À ce stade, Icinga Web 2 a été configuré avec succès et vous devriez voir une notification à cet effet, comme indiqué ci-dessous. Pour vous connecter au tableau de bord Icinga2, cliquez sur « Connexion à Icinga Web 2 ».

Cela vous amène à la page de connexion comme indiqué. Fournissez les détails de votre compte administrateur et appuyez sur ENTRÉE pour vous connecter.

Et le tableau de bord Icinga2 apparaîtra. Tous les problèmes existants seront affichés avec leur niveau de gravité. Par exemple, le tableau de bord nous informe de 28 packages avec des mises à niveau prêtes.

Pour vérifier cela, nous retournerons au terminal et exécuterons la commande :

sudo apt list --upgradable

Pour mettre à jour les packages, nous lancerons simplement :

sudo apt upgrade -y

Et cela résout le problème. Depuis le tableau de bord, vous pouvez voir qu’il n’y a plus de problèmes affichés.

Dans ce guide, nous avons montré comment installer l'outil de surveillance Icinga2 sur Ubuntu. Certes, l’installation est assez longue et demande du souci du détail. Néanmoins, si vous avez suivi les étapes jusqu'à cette dernière, tout devrait fonctionner correctement.