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 install sudo -y
usermod -aG sudo yourusername
La LAMP stack doit être installé sur le serveur virtuel.
Mettez à jour les dépôts et packages locaux :
sudo apt-get update && sudo apt-get upgrade
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:
systemctl restart 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 install php7.0-mysql mariadb-server mariadb-client
Connectez-vous au MySQL consolez et protégez le compte superutilisateur MariaDB :
mysql -h localhost
use mysql;
update user set plugin='' where user='root';
flush privileges;
exit
Ensuite, exécutez le MySQL script de sécurité :
sudo mysql_secure_installation
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 :
create database icingadb;
grant all privileges on icingadb.* to 'icinga_user'@'localhost' identified by '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) :
create database icinga_users;
grant all privileges on icinga_users.* to 'icinga_user'@'localhost' identified by 'strongpassword';
exit
Installation d'Icinga 2
Installer Icinga 2 et Icinga 2 MySQL module pour accéder à la base de données MariaDB:
apt install 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 start icinga2.service
systemctl status 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 install icingaweb2 icingacli
Redémarrez le démon Icinga 2 et vérifiez son état :
systemctl restart icinga2.service
systemctl status 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/schema/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 :
library "db_ido_mysql"
object IdoMysqlConnection "ido-mysql" {
user = "icinga_user",
password = "strongpassword",
host = "localhost",
database = "icingadb"
}
Enregistrez le fichier et redémarrez le démon Icinga 2 :
systemctl restart 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 icingaweb2 /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 :
icingacli setup token create
La sortie de cette commande devrait ressembler à ceci :
The newly generated setup token is: c0f22932e763ac41
Remarque : Pour afficher le jeton généré, si vous l'avez oublié, vous pouvez utiliser la commande :
icingacli setup token show
Ouvrez le HTTP port pour se connecter à l'interface web :
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
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 :
- Cochez 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
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 :
Transport Name = icinga2
Transport Type = Local Command File
Command File = /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.