Dans le dernier article, nous avons expliqué comment installer Icinga 2 sur CentOS 8 / RHEL 8. Nous passons maintenant à l'installation d'Icinga web 2, une interface Web pour Icinga 2, où vous pouvez surveiller tous vos serveurs.
Ici, nous allons voir comment installer Icinga web 2 CentOS 8 / RHEL 8.
Installer Icinga Web 2
Installer PHP et les extensions PHP
Installez le package PHP (v7.2) et les extensions pour Icinga Web 2.
LIRE : Comment installer PHP 7.4 / 7.3 sur CentOS 8 / RHEL 8
dnf install -y php php-json php-xml php-intl php-common php-pdo php-mysqlnd php-cli php-mbstring php-fpm php-gd php-zip php-ldap
Installer Icinga Web 2
Utilisez la commande yum pour installer le package Icinga Web 2 avec Icinga CLI et le serveur Web Apache.
dnf install -y icingaweb2 icingacli httpd
Démarrez le serveur Web Apache et PHP FPM.
systemctl start httpd
systemctl start php-fpm
Activez le serveur Web Apache et PHP FPM pour qu'ils démarrent automatiquement au démarrage du système.
systemctl enable httpd
systemctl enable php-fpm
SELinux
Si SELinux est activé sur votre système, installez le package ci-dessous pour définir la politique SELinux pour Icinga Web 2.
dnf install -y icingaweb2-selinux
Pare-feu
Autoriser le trafic HTTP dans le pare-feu à accéder à l'interface Web d'Icinga à partir de machines externes.
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
Configurer Icinga Web 2
Accédez à l'URL ci-dessous pour accéder à l'assistant d'installation d'Icinga Web 2, qui vous guidera à travers toutes les étapes d'installation d'Icinga Web 2.
http://votre.ip.addr.ess/icingaweb2/setupPour des raisons de sécurité, vous devrez générer le jeton pour commencer l'installation d'Icinga Web 2.
icingacli setup token create
Output: The newly generated setup token is: 08423344cc1ce96f
Copiez et collez le jeton généré sur la page de configuration, puis cliquez sur Suivant .
Dans l'écran suivant, choisissez les modules à activer et configurez-le. Ces modules ont été installés lors de l'installation d'Icinga 2. Ensuite, cliquez sur Suivant .
La page suivante affiche des informations sur le système, PHP et les extensions PHP requises.
Vous pouvez recevoir un message d'avertissement pour l'extension PHP Imagick manquante.L'extension PHP d'Image Magick n'est pas disponible dans le référentiel du système d'exploitation. Suivez le lien ci-dessous pour l'installer.
LIRE : Comment installer PHP Imagick sur CentOS 8 / RHEL 8
Pour RHEL 8, vous choisissez soit de l'installer (ce qui est contraire aux politiques de Red Hat), soit de continuer sans installer l'extension PHP d'Image Magick.Après l'installation du module PHP pour Imagick, redémarrez les services Apache et PHP FPM et cliquez sur Actualiser puis cliquez sur Suivant ou Cliquez simplement sur Suivant si vous n'installez pas le module PHP Imagick.
systemctl restart httpd
systemctl restart php-fpm
Sur la page suivante, nous allons configurer l'authentification Icinga Web 2. Icinga Web 2 prend en charge Active Directory, LDAP et le mécanisme d'authentification local.
Ici, pour cette démo, nous allons créer un compte utilisateur local Icinga Web 2. Alors, sélectionnez le type d'authentification comme Base de données et cliquez sur Suivant .
Connectez-vous au serveur MySQL/MariaDB.
mysql -u root -p
Créez une base de données pour stocker les détails d'authentification.
CREATE DATABASE icingaweb2db;
grant all privileges on icingaweb2db.* to icingaweb2@localhost identified by 'icinga123';
quit
Entrez les détails de la base de données sur la page suivante, puis cliquez sur Suivant .
Cliquez sur Suivant .
Entrez le nom d'utilisateur et le mot de passe souhaités pour le compte administrateur Icinga Web 2.
Choisissez où enregistrer l'application et les configurations liées à la journalisation. Cliquez sur Suivant .
Vérifiez vos paramètres sur l'écran suivant.
Cliquez sur Suivant .
Cliquez sur Suivant sur la configuration du module de monitoring de la page Icinga Web 2.
Le backend de surveillance permet à Icinga Web 2 de récupérer les informations de surveillance de la base de données Icinga 2. Ici, nous utilisons IDO.
Entrez les détails de la base de données IDO sur la page suivante, puis cliquez sur Suivant .
La base de données IDO a été créée lors de l'installation d'Icinga 2, cliquez ICI pour obtenir les détails de la base de données.Configurer le transport de commandes
Cette page indique comment vous souhaitez envoyer des commandes à votre serveur distant pour la surveillance.
Icinga Web 2 prend en charge le fichier de commande local, le fichier de commande à distance et l'API Icinga 2 comme transport de commande.
Ici, pour cette démo, nous allons configurer Icinga Web 2 avec un transport de commande unique. Choisissez l'une des commandes de transport ci-dessous
- Fichier de commandes local
- API Icinga 2 (recommandé)
- Fichier de commande à distance
Vous pouvez définir plusieurs modes de transport de commande dans Icinga Web 2.
Fichier de commandes local
API Icinga 2
Exécutez la commande ci-dessous pour configurer l'API Icinga 2.
icinga2 api setup
Output: information/cli: Generating new CA. information/base: Writing private key to '/var/lib/icinga2/ca//ca.key'. information/base: Writing X509 certificate to '/var/lib/icinga2/ca//ca.crt'. information/cli: Generating new CSR in '/var/lib/icinga2/certs//centos8.itzgeek.local.csr'. information/base: Writing private key to '/var/lib/icinga2/certs//centos8.itzgeek.local.key'. information/base: Writing certificate signing request to '/var/lib/icinga2/certs//centos8.itzgeek.local.csr'. information/cli: Signing CSR with CA and writing certificate to '/var/lib/icinga2/certs//centos8.itzgeek.local.crt'. information/pki: Writing certificate to file '/var/lib/icinga2/certs//centos8.itzgeek.local.crt'. information/cli: Copying CA certificate to '/var/lib/icinga2/certs//ca.crt'. information/cli: Adding new ApiUser 'root' in '/etc/icinga2/conf.d/api-users.conf'. information/cli: Reading '/etc/icinga2/icinga2.conf'. information/cli: Enabling the 'api' feature. Enabling feature api. Make sure to restart Icinga 2 for these changes to take effect. information/cli: Updating 'NodeName' constant in '/etc/icinga2/constants.conf'. information/cli: Created backup file '/etc/icinga2/constants.conf.orig'. information/cli: Updating 'ZoneName' constant in '/etc/icinga2/constants.conf'. information/cli: Backup file '/etc/icinga2/constants.conf.orig' already exists. Skipping backup. Done. Now restart your Icinga 2 daemon to finish the installation!
Obtenez les détails de l'utilisateur de l'API à partir du fichier /etc/icinga2/conf.d/api-users.conf.
cat /etc/icinga2/conf.d/api-users.conf
Output: /** * The ApiUser objects are used for authentication against the API. */ object ApiUser "root" { password = "c6bbfdd8afceceb1" // client_cn = "" permissions = [ "*" ] }
Redémarrez le service Icinga 2.
systemctl restart icinga2
Utilisez le nom d'utilisateur et le mot de passe ci-dessus sur la page de transport de commandes ci-dessous.
Entrez les détails des variables à protéger des mauvaises.
Passez en revue vos configurations de surveillance.
Icinga Web 2 a été configuré avec succès. Cliquez sur Connexion à Icinga Web 2 .
Accéder à Icinga Web 2
Connectez-vous à Icinga Web 2 en utilisant le compte administrateur que nous avons créé précédemment.
Vous devriez maintenant obtenir le tableau de bord Icinga Web 2.
Conclusion
C'est tout. Dans notre prochain article, nous ajouterons des clients Linux distants à Icinga 2.