GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer Icinga 2 et Icinga Web 2 sur Debian 9

Icinga 2 est un système de surveillance open source hautement évolutif et extensible. Il peut surveiller de grands environnements complexes sur plusieurs sites. Il vérifie la disponibilité de vos ressources réseau, avertit les utilisateurs des pannes et génère des données de performance pour les rapports. Il s'agit d'une application de surveillance de réseau qui peut être configurée à partir du Web et dont les fonctionnalités sont principalement basées sur le langage de programmation côté serveur PHP.

Fondamentalement, il surveille l'état des protocoles réseau, tels que HTTP, FTP, SMTP, IMAP ou d'autres services réseau, les ressources hôtes, les capteurs physiques, les installations logicielles, la charge du processeur, la mémoire, l'espace disque et presque tous les périphériques réseau interconnectés via ICMP. ou requêtes ping. En outre, il peut être facilement configuré pour informer les administrateurs système ou réseau par courrier, SMS, chat ou autres types d'alertes sur le réseau, les systèmes, les services ou toute autre panne de réseau connexe et peut également générer des graphiques sur les temps d'arrêt ou les performances du réseau.

Dans cet article, je vais vous expliquer comment installer un serveur Icinga2 avec une interface Web 2 sur notre dernier serveur Debian 9.3. Passons en revue les instructions étape par étape sur la façon de créer notre système de surveillance.

Pré-requis

Avant de procéder à l'installation, nous devons nous assurer que notre système répond à toutes les exigences logicielles pour compiler et installer l'application. Lors de la première étape, mettez à jour vos référentiels système et vos progiciels en exécutant la commande ci-dessous.

# apt update
# apt upgrade
# apt install bash-completion

Ensuite, configurez le nom d'hôte de votre serveur en exécutant la commande suivante. J'ai ajouté icinga2 à mon nom d'hôte.

# hostnamectl set-hostname icinga2
# hostnamectl
Static hostname: icinga2
Icon name: computer-vm
Chassis: vm
Machine ID: 7f2b1120403449a3b27d2f40de770be2
Boot ID: 321481f419e94e6cb377ae804d9bab42
Virtualization: kvm
Operating System: Debian GNU/Linux 9 (stretch)
Kernel: Linux 4.9.0-4-amd64
Architecture: x86-64
# cat /etc/hostname
icinga2

Enfin, nous devons redémarrer notre serveur Debian afin d'appliquer les mises à jour du noyau et les changements de nom d'hôte correctement.

Installer la pile LAMP

Comme indiqué précédemment, Icinga 2 est une application de surveillance de réseau écrite en C++ et Icinga Web 2 est un puissant framework PHP pour les applications Web qui se présente dans une conception épurée et réduite. Afin d'exécuter ses scripts de fichiers, un serveur Web, tel qu'un serveur HTTP Apache, et une passerelle de traitement PHP doivent être installés et opérationnels sur le serveur. J'ai installé le serveur Web Apache, MySQL et tous les modules PHP requis par Icinga avec la commande ci-dessous :

# apt install apache2 libapache2-mod-php7.0 php7.0-xml php7.0-opcache php7.0-xml php7.0-mbstring php7.0-json php7.0-curl php7.0-ldap php7.0-cli php7.0-gd php7.0-intl php7.0-readline php7.0-pgsql
# apt install mariadb-server mariadb-client php7.0-mysql

Démarrer/activer le service Apache/MySQL.

# systemctl enable apache2 mariadb
# systemctl start apache2 mariadb
# systemctl status apache2 mariadb

Une fois Apache, MySQL et PHP installés, vous pouvez tester si le serveur Web est opérationnel en parcourant l'adresse IP du serveur ou vous pouvez même confirmer en testant les connexions réseau à l'écoute sur leurs ports correspondants ou par service à l'aide de la commande netstat de la console avec les privilèges root comme ci-dessous :

# netstat -plan | grep :80
tcp6 0 0 :::80 :::* LISTEN 19097/apache2
tcp6 0 0 127.0.0.1:80 127.0.0.1:40780 TIME_WAIT -
# netstat -plan | grep mysql
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 14240/mysqld 
unix 2 [ ACC ] STREAM LISTENING 52783 14240/mysqld /var/run/mysqld/mysqld.sock

Créer une base de données MySQL pour Icinga2

Tout d'abord, nous devons nous connecter à la console MySQL et exécuter la commande suivante pour sécuriser la base de données MariaDB et définir un mot de passe root :

# mysql_secure_installation

Nous pouvons maintenant créer deux bases de données qui peuvent être utilisées par l'application Icinga2 et un utilisateur avec un mot de passe pour gérer ces bases de données. J'ai créé la base de données à savoir icingadb et icinga_users et accordé des privilèges à l'utilisateur icinga_user avec un mot de passe pour y accéder comme ci-dessous :

~# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database icingadb;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on icingadb.* to 'icinga_user'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> create database icinga_users;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on icinga_users.* to 'icinga_user'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.01 sec)

La base de données icingadb est créé pour l'application web icinga2 et la base de données icinga_users est créé pour stocker les utilisateurs, les groupes et d'autres données personnalisées de l'interface Web Icinga2.

Installer Icinga2

Après avoir terminé l'installation de toutes les exigences du système, nous pouvons procéder à l'installation de l'application Icinga2 avec le module MySQL IDO. Nous utilisons MySQL comme base de données externe. Par conséquent, nous devons installer le module MySQL IDO qui est utilisé pour l'interface Web Icinga2. Il est utilisé pour exporter toutes les informations de configuration et d'état dans sa base de données. Icinga 2 contient des packages binaires précompilés proposés par les référentiels Debian 9.3. Par conséquent, l'installation peut être effectuée via leur gestionnaire de packages apt comme ci-dessous :

# apt install icinga2 icinga2-ido-mysql

Une série d'invites apparaîtra sur votre écran lors de l'installation. Tout d'abord, il vous sera demandé si vous souhaitez configurer et activer Icinga 2 pour utiliser le module MySQL. Sélectionnez Yes à partir de l'invite et appuyez sur [enter] touche pour continuer comme illustré dans l'image ci-dessous.

Dans l'invite suivante, il vous sera demandé si vous souhaitez configurer la base de données pour icinga2-ido-mysql avec l'option dbconfig-common. Choisissez No à partir de l'invite et appuyez sur [enter] clé pour terminer l'installation d'Icinga 2.

Après avoir activé ce module et créé notre base de données, nous devons redémarrer notre service Icinga2.

# systemctl start icinga2.service
# systemctl status icinga2.service

Veuillez vous assurer que le fichier de configuration IDO MySQL est correctement défini avec les informations d'identification de base de données correctes.

# cat /etc/icinga2/features-enabled/ido-mysql.conf
/**
* The db_ido_mysql library implements IDO functionality
* for MySQL.
*/

library "db_ido_mysql"
object IdoMysqlConnection "ido-mysql" {
user = "icinga_user",
password = "password",
host = "localhost",
database = "icingadb"
}

Activation de la liste des fonctionnalités

Par défaut, Icinga2 active les fonctionnalités suivantes. Nous pouvons activer toute fonctionnalité supplémentaire à la liste en exécutant cette commande icinga2 feature enable <feature name> . Nous pouvons confirmer les paramètres activés en exécutant cette commande comme ci-dessous :

~# icinga2 feature list
Disabled features: api command compatlog debuglog gelf graphite influxdb livestatus opentsdb perfdata statusdata syslog
Enabled features: checker ido-mysql mainlog notification

The following features are enabled by default:

Checker: This feature enables the execution of checks.

Mainlog: This feature enables the logging.

Notification: This feature enables notification mechanism.

IDO-mysql:  Provides IDO module for the database.

Installer le plug-in Icinga Web2

Notre prochaine étape consiste à installer l'interface Web Icinga 2 et les packages d'utilitaires de ligne de commande à partir du référentiel Debian 9.3 à l'aide de son gestionnaire de packages.

#apt install icingaweb2 icingacli

Après l'installation, vous pouvez redémarrer le démon Icinga 2 pour récupérer toutes les modifications et vérifier l'état de l'application avant de procéder à la partie configuration.

# systemctl restart icinga2.service
# systemctl status icinga2.service
# systemctl restart apache2

Installez maintenant le schéma MySQL pour la base de données Icinga en exécutant la commande suivante. Le schéma de la base de données MySQL se trouve dans le répertoire /usr/share/icinga2-ido-mysql/schema/.

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

Enfin, nous pouvons générer le jeton d'installation pour terminer l'installation du plugin Icinga web 2 via une interface web.

# icingacli setup token create
The newly generated setup token is: c25b22acfc9f9094
# icingacli setup token show
The current setup token is: c25b22acfc9f9094

Configuration du plugin Icinga Web 2

Après avoir généré le jeton, nous pouvons commencer à configurer le plugin Icinga Web 2 en ouvrant cette URL>> http://IP//icingaweb2/setup  dans votre navigateur. Vous pouvez parcourir ces captures d'écran pour obtenir plus de clarté à ce sujet.

Étape 1 :Configurer le jeton

Dans un premier temps, il vous demandera de fournir le token généré avant de démarrer la phase d'installation. Si vous n'avez pas généré de jeton, vous pouvez suivre les instructions fournies dans la capture d'écran ci-dessus pour générer un jeton et passer à l'étape suivante.

Étape 2 :Sélection des modules Icinga Web2

Après avoir fourni le jeton, il passera à la section suivante pour sélectionner les modules. Nous pouvons choisir les modules préférés pour passer à l'étape suivante.

Étape 3 :Vérification des paramètres PHP

Pour continuer, nous devons installer les modules PHP manquants et définir le fuseau horaire approprié. J'ai installé le module PHP manquant en utilisant cette commande "apt install php7.0-pgsql" et redémarré Apache pour que ces modifications soient effectives. De plus, vous pouvez définir un fuseau horaire approprié dans le fichier de configuration PHP /etc/php/7.0/apache2/php.ini . Après avoir satisfait aux paramètres requis, vous pouvez passer à l'étape suivante.

Étape 5 :Méthodes d'authentification

Nous devons choisir le moyen d'authentification préféré pour procéder à l'installation. Comme je l'ai déjà dit, j'ai préféré choisir le type de base de données pour cela.

Étape 6 :Saisissez les détails de la base de données

Dans cette étape, ajoutez le nom de la base de données Icinga 2 Web MySQL et les informations d'identification d'accès pour cette base de données. Cette base de données sera utilisée pour stocker les utilisateurs et les groupes de l'interface Web d'Icinga 2. Utilisez les informations de base de données pour la deuxième base de données créée précédemment. Ajoutez icingaweb_db comme nom pour cette ressource et laissez les variables Host, Port et Character set par défaut. Ne cochez pas l'option Persistant et SSL. Appuyez sur le bouton Valider la configuration pour valider la connexion à la base de données, comme indiqué dans l'image ci-dessous. Lorsque vous avez terminé, appuyez sur le bouton Suivant pour passer à la section d'installation suivante.

Étape 7 : Créer des identifiants d'administration Web Icinga

Après avoir authentifié avec succès nos ressources de base de données, nous devons créer le compte administratif pour gérer l'interface Web Icinga2. Choisissez un mot de passe fort pour ce compte. Lorsque vous avez terminé, appuyez sur le bouton Suivant pour passer à l'écran d'installation suivant.

Étape 8 :Choisir les options de configuration de l'application

Ensuite, nous devons configurer l'application Icinga et la configuration de la journalisation avec les paramètres suivants, comme dans la capture d'écran.

  • Cocher Afficher Stacktraces
  • Type de stockage =Base de données
  • Type de journalisation =Fichier
  • Niveau de journalisation =Erreur
  • Chemin du fichier =/var/log/icingaweb2/icingaweb2.log

Nous devons créer ce fichier journal à partir du serveur principal et définir les autorisations/propriétés appropriées pour garantir le bon fonctionnement des journaux Icinga Web 2.

Étape 9 :Examen de tous les paramètres choisis.

Cet écran vous informera que Icinga Web2 a été configuré avec succès et un rapport détaillé affichera toutes les configurations effectuées jusqu'à présent. Passez en revue le rapport et appuyez sur le bouton Suivant pour passer à la section d'installation suivante.

Étape 10 :Configuration du module de surveillance

Nous avons maintenant terminé la partie authentification et s'ensuit la configuration du module de surveillance.

Comme nous l'avons vu précédemment, le module Icinga IDO exporte toutes les informations d'état et les éléments de configuration vers la base de données principale d'Icinga. Par conséquent, nous devons sélectionner ce module et le configurer correctement pour mettre à jour la base de données avec les informations.

Ici, nous devons fournir les informations de la base de données principale pour continuer. Remplissez les détails de la base de données ici. Assurez-vous de définir les privilèges appropriés pour l'utilisateur de la base de données pour toute modification.

Configurez Icinga Command Transport avec les paramètres suivants et appuyez sur le bouton Suivant pour continuer.

  • Nom du transport =icinga2
  • Type de transport =Fichier de commandes local
  • Fichier de commande =/var/run/icinga2/cmd/icinga2.cmd

Nous n'avons pas besoin de faire de modification dans cette étape de sécurité. Nous pouvons simplement continuer avec les paramètres par défaut en cliquant sur 'Next".

Étape 11 :Examen des options de configuration du module de surveillance

Cette étape vous présentera toute la partie de configuration du module de surveillance que vous avez sélectionnée. Vous pouvez simplement confirmer les paramètres et continuer pour terminer la configuration.

Étape finale :connexion à l'interface Web

Une fois le processus d'installation terminé avec succès, un message de félicitations vous informera que Icinga Web 2 a été installé avec succès. Appuyez sur le Login link afin de rediriger vers la page de connexion Icinga2.

Connectez-vous à Icinga Web 2 avec les informations d'identification configurées lors du processus d'installation et vous serez dirigé vers le tableau de bord Icinga Web 2,

Notre nœud maître est ajouté par défaut à ce système. Nous pouvons voir les notifications de service pour notre serveur maître Icinga ici. Ou vous pouvez simplement parcourir cette URL http://IP/icingaweb2/ pour accéder à l'interface Web.

Nous pouvons ajouter n'importe quel nombre de nœuds à ce système de surveillance.

Conclusion

Nous avons installé et configuré avec succès l'application de surveillance réseau Icinga 2 sur le serveur Debian 9.3. Pour plus de détails sur la configuration personnalisée, vous pouvez consulter cette documentation Icinga. J'espère que cet article vous sera utile. Veuillez publier vos précieux commentaires et suggestions à ce sujet.


Debian
  1. Comment installer et utiliser les rétroportages Debian

  2. Comment installer R sur Debian 9

  3. Comment installer et configurer Redis sur Debian 9

  4. Comment installer et utiliser FFmpeg sur Debian 9

  5. Comment installer Icinga 2 sur Debian 9

Comment installer Icinga 2 sur Ubuntu 18.04 / Ubuntu 16.04 et Debian 9

Comment installer et configurer le serveur Web Apache sur Debian 11

Comment installer Icinga 2 sur Debian 8

Comment installer Icinga 2 sur Debian 10

Comment installer Netdata sur Debian 10

Comment installer Icinga 2 sur Debian 11