31.05.2023

Installer Icinga 2 sur Debian 9

Ce guide montre comment installer et configurer l'outil de surveillance de l'infrastructure réseau Icinga 2 dans Debian 9.

Qu'est-ce qu'Icinga 2 ?

Icinga est une application de surveillance open source que vous pouvez utiliser pour surveiller les services et systèmes critiques sur votre serveur virtuel. Icinga 2 peut surveiller les hôtes sur le réseau ou vérifier les protocoles réseau externes, tels que l'état du HTTP serveur, serveur de messagerie, services de partage de fichiers et autres.

Icinga 2 peut être configuré pour surveiller l'état des systèmes internes, pour vérifier la charge, la mémoire, le disque libre space ou autre pa hôte internerameters. Icinga peut également être configuré pour envoyer des notifications et des alertes par e-mail ou SMS aux administrateurs système spécifiés dans les contacts.

Exigences initiales

De nombreuses commandes de ce guide nécessitent des privilèges de superutilisateur. Si une commande bash: sudo: est introuvable lors de l'utilisation de la commande sudo, vous devez activer le mode superutilisateur, définir la commande sudo et ajouter votre utilisateur au groupe sudo :

su -
apt-get installer sudo -y
usermod -aG sudo votrenom d'utilisateur

Les LAMP stack doit être installé sur le serveur virtuel.
Mettez à jour les dépôts et packages locaux :

sudo apt-get mise à jour && sudo apt-get mise à jour

Utiliser OPCache pour augmenter la vitesse de téléchargement

Pour augmenter la vitesse de chargement de votre application à l'aide du plugin OPCache disponible en PHP 7, ajoutez le pa OPCache suivantrameters à la fin du fichier de configuration PHP :

vi /etc/php/7.0/apache2/php.ini

Insérez les lignes suivantes :

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 10000
opcache.memory_consumption = 128
opcache.save_comments=1
opcache.revalidate_freq=1

Recommencer Apache pour que les modifications prennent effet:

redémarrage systemctl apache2

Paramètres de la base

Installez le SGBD requis par l'application Web Racing 2 pour la surveillance et l'interface Icinga Web 2 pour stocker les utilisateurs, les contacts et les autres données collectées. Exécutez la commande suivante pour installer la base de données MariaDB et le module PHP requis pour accéder au MySQL base de données dans Debian 9:

apt installer php7.0-mysql mariadb-serveur mariadb-client

Connectez-vous au MySQL consolez et protégez le compte superutilisateur MariaDB :

mysql -h hôte local
utilisé mysql;
mettre à jour l'ensemble d'utilisateurs plugin='' où user='root' ;
FLUSH PRIVILEGES;
sortie

Ensuite, exécutez le MySQL script de sécurité :

sudo mysql_installation_sécurisée

Connectez-vous à la console de la base de données et créez la base de données pour Icinga 2 :

mysql -p

Créez un utilisateur avec un mot de passe fort pour gérer la base de données de l'application Icinga 2 en entrant les commandes ci-dessous. Dans cet exemple, remplacez icingadb, icinga-user et strongpassword par le nom et les identifiants de votre base de données :

créer la base de données icingadb ;
accorder tous les privilèges sur icingadb.* à 'icinga_user'@'localhost' identifié par 'strongpassword' ;
FLUSH PRIVILEGES;

Créer un deuxième MySQL base de données utilisée par Icinga 2 Web pour stocker les utilisateurs et les groupes. Comme à l'étape précédente, remplacez le nom de la base de données et les informations d'identification. Vous pouvez utiliser le même MySQL compte utilisateur pour gérer les deux bases de données simultanément (icinga_user'@'localhost) :

créer la base de données icinga_users ;
accorder tous les privilèges sur icinga_users.* à 'icinga_user'@'localhost' identifié par 'strongpassword' ;
sortie

Installation d'Icinga 2

Installer Icinga 2 et Icinga 2 MySQL module pour accéder à la base de données MariaDB:

apt installer icinga2 icinga2-ido-mysql

Lors de l'installation, la question se pose d'utiliser le MySQL module. Choisissez Oui sur la ligne de commande :

Après avoir installé Icinga 2, démarrez le service Icinga 2 et vérifiez l'état du démon :

systemctl démarrer icinga2.service
état systemctl icinga2.service

Installation de l'interface Web d'Icinga 2

Pour contrôler Icinga 2 via l'interface Web, installez l'interface Web Icinga 2 et l'interface de ligne de commande (CLI) paquets:

apt installer icingaweb2 icingacli

Redémarrez le démon Icinga 2 et vérifiez son état :

systemctl redémarre icinga2.service
état systemctl icinga2.service

Une base de données Icinga 2 est nécessaire pour installer le MySQL schéma:

mysql -u root icingadb -p < /usr/share/icinga2-ido-mysql/schéma/mysql.sql

Ouvrez le Icinga 2 MySQL Fichier de configuration IDO :

vi /etc/icinga2/features-enabled/ido-mysql.conf

Ajoutez les informations d'identification de la base de données Icinga 2 comme indiqué dans l'exemple ci-dessous. Utilisez les informations d'identification de la première base de données que vous avez créée à l'étape précédente lors de la création de la base de données :

bibliothèque "db_ido_mysql"
objet IdoMysqlConnexion "ido-mysql"{
utilisateur = "icinga_user",
mot de passe = "mot de passe fort",
hôte = "hôte local",
base de données = "icingadb"
}

Enregistrez le fichier et redémarrez le démon Icinga 2 :

systemctl redémarre icinga2.service

Créez le répertoire de journal Icinga Web 2 et ajoutez les autorisations de système de fichiers appropriées pour accorder des autorisations d'écriture au groupe :

mkdir -p /var/log/icingaweb2/
chgrp -R glaçageweb2 /var/log/icingaweb2/
chmod -R 775 /var/log/icingaweb2/

Configurer Icinga 2 via l'interface Web

Générez le jeton d'installation. Rangez-le dans un endroit facilement accessible. Vous devrez l'utiliser pour accéder à la configuration d'Icinga 2 :

glaçagecli créer un jeton de configuration

La sortie de cette commande devrait ressembler à ceci :

Le jeton de configuration nouvellement généré est : c0f22932e763ac41

Remarque : Pour afficher le jeton généré, si vous l'avez oublié, vous pouvez utiliser la commande :

glaçagecli Afficher le jeton de configuration

Ouvrez le HTTP port pour se connecter à l'interface web :

iptables -A INPUT -p tcp --dport 80 -j ACCEPTER

Ouvrez votre navigateur et accédez à http://exampleIP/icingaweb2/setup. Remplacez example IP par l'adresse IP de votre serveur virtuel. Lors de la première étape de l'installation, ajoutez le jeton créé précédemment :

Sur l'écran suivant, cochez les modules Doc et Monitoring et click Suivant pour continuer :

Icinga 2 vérifiera la configuration système requise et les modules PHP pour s'assurer que toutes les exigences sont remplies avant de poursuivre le processus d'installation et de configuration. Si certains modules manquent, ils doivent être réinstallés.

Faites défiler vers le bas de la page et click Suivant pour continuer :

Pour le type d'authentification, sélectionnez base de données:

Utilisez les informations de la deuxième base de données que vous avez créée précédemment pour ajouter les informations d'identification nécessaires pour accéder à la base de données Icinga 2 pour stocker les utilisateurs et les groupes.

Utilisez icingaweb_db comme nom pour cette ressource.

Hôte et Port parameters doivent être localhost et 3306, respectivement. N'activez pas les options persistantes et SSL. CliCliquez sur le bouton Valider la configuration pour confirmer la base de données. Après avoir vérifié avec succès la base de données, click Next pour passer à l'étape suivante du processus de configuration d'Icinga 2 :

Définissez un nom pour la base de données d'authentification et click Suivant :

Ajoutez un nom d'utilisateur avec un mot de passe fort pour vous connecter à l'interface Web d'Icinga 2 et click Suivant :

Ensuite, configurez l'application et configurez la journalisation des erreurs à l'aide du pa suivantramètres :

Consultez le rapport d'information et, s'il n'y a pas d'erreurs, click Suivant pour continuer :

Dans la fenêtre suivante, click Suivant pour continuer :

Ajoutez un nom pour Icinga 2 Backend, sélectionnez IDO comme type de backend et click Suivant :

Ajoutez des informations d'identification de base de données pour configurer l'environnement de ressources IDO. Après avoir ajouté, cliCliquez sur le bouton Valider la configuration pour vérifier la ressource IDO de surveillance Icinga.

Après l'apparition du message Validé avec succès, click Suivant : 

Configurez le module de transport en utilisant le pa suivantramètres :

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

Définissez les variables d'environnement de sécurité de surveillance (vous pouvez laisser les valeurs par défaut) :

L'écran suivant affiche un rapport détaillé de la configuration actuelle. Vérifiez la configuration et cliCliquez sur Terminer pour terminer le processus d'installation :

Une fois le processus d'installation et de configuration terminé, un message apparaît indiquant qu'Icinga Web 2 a été configuré avec succès :

Connectez-vous au panel Icinga 2 sur http://exampleIP/icingaweb2/authentication/login :

Vous serez redirigé vers le panneau de configuration d'Icinga Web 2, où vous verrez les services et les ressources du serveur virtuel qui sont actuellement surveillés par Icinga 2 :

Vous avez installé et configuré avec succès l'application de surveillance Icinga 2 et l'interface Icinga Web 2 dans Debian 9.