Icinga 2 est un outil de surveillance gratuit et open-source pour surveiller les serveurs, les ressources réseau. Avec Icinga 2, vous pouvez configurer une alerte sur les pannes et pouvoir générer les données de performance.
Icinga 2 est très évolutif et vous pouvez surveiller des environnements complexes, petits ou grands, sur plusieurs sites.
Ici, nous allons voir comment installer Icinga 2 sur CentOS 8 / RHEL 8.
Activer le référentiel EPEL
Les packages Icinga dépendent d'autres packages distribués dans le référentiel EPEL. Alors, configurez le référentiel EPEL sur CentOS 8 / RHEL 8.
CentOS 8
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf config-manager --set-enabled PowerTools
RHEL 8
ARCH=$( /bin/arch )
subscription-manager repos --enable rhel-8-server-optional-rpms
subscription-manager repos --enable "codeready-builder-for-rhel-8-${ARCH}-rpms"
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Ajouter un référentiel Icinga 2
Icinga fournit les packages Icinga 2 à partir de son référentiel dédié. Installez donc le RPM de configuration du référentiel Icinga pour configurer automatiquement le référentiel Icinga.
rpm --import https://packages.icinga.com/icinga.key
dnf install -y https://packages.icinga.com/epel/icinga-rpm-release-8-latest.noarch.rpm
Installer Icinga 2
Après avoir configuré le référentiel Icinga, installez Icinga 2 avec la commande dnf.
dnf install -y icinga2
Pour démarrer le service Icinga2, exécutez :
systemctl start icinga2
Pour permettre au service Icinga 2 de démarrer automatiquement au démarrage du système, exécutez :
systemctl enable icinga2
SELinux
Si SELinux est activé sur votre système, installez le package ci-dessous pour avoir une politique ciblée pour Icinga 2.
dnf install -y icinga2-selinux
Installer les plugins Nagios
Sans plugins, Icinga 2 ne sait pas surveiller les services applicatifs. Alors, installez les plugins Nagios pour fonctionner avec Icinga 2.
dnf install -y nagios-plugins-all
Pare-feu
Configurez le pare-feu pour permettre aux systèmes clients d'envoyer des données au serveur Icinga 2.
firewall-cmd --permanent --add-port=5665/tcp
firewall-cmd --reload
Configuration de la base de données IDO MySQL
Le module DB IDO pour Icinga 2 se charge d'exporter toutes les informations de configuration et d'état vers la base de données.
Actuellement, MySQL et PostgreSQL sont pris en charge. Ici, nous allons utiliser le serveur MySQL / MariaDB comme serveur de base de données.
Installer le serveur de base de données
Installez le serveur MariaDB (v10.3) à partir du référentiel du système d'exploitation.
LIRE : Comment installer MariaDB v10.4 sur CentOS 8 / RHEL 8
LIRE : Comment installer MySQL 8 sur CentOS 8 / RHEL 8
dnf install -y mariadb-server mariadb
Démarrez et activez le service MariaDB.
systemctl start mariadb
systemctl enable mariadb
Effectuez la configuration initiale de MariaDB à l'aide de la commande mysql_secure_installation pour configurer le mot de passe racine de la base de données et d'autres mesures de sécurité importantes.
Installer les modules IDO pour MySQL
Maintenant, procédez à l'installation des modules IDO pour MySQL à l'aide de la commande suivante.
dnf install -y icinga2-ido-mysql
Créer une base de données pour les modules IDO
Connectez-vous à MariaDB à l'aide de la commande suivante.
mysql -u root -p
Créez une base de données pour les modules IDO. Veuillez noter les détails de la base de données car nous en avons besoin lorsque nous configurons l'interface Icinga Web 2.
CREATE DATABASE icinga2;
grant all privileges on icinga2.* to icinga2@localhost identified by 'icinga123';
FLUSH PRIVILEGES;
quit
Après avoir créé la base de données, importez le schéma IDO Icinga 2 à l'aide de la commande suivante.
mysql -u root -p icinga2 < /usr/share/icinga2-ido-mysql/schema/mysql.sql
Activer le module IDO MySQL
Par défaut, le module IDO MySQL (ido-mysql) est désactivé. Répertorions les modules disponibles et activés dans Icinga 2.
icinga2 feature list
Output: Disabled features: api command compatlog debuglog elasticsearch gelf graphite ido-mysql influxdb livestatus opentsdb perfdata statusdata syslog Enabled features: checker mainlog notification
Activez le module ido-mysql à l'aide de la commande ci-dessous.
icinga2 feature enable ido-mysql
Activez également la fonction de commande, qui aide l'interface Web 2 d'Icinga ou d'autres modules complémentaires Icinga à envoyer des commandes à Icinga 2 via un canal de commande externe.
icinga2 feature enable command
Configurer le module IDO DB MySQL
Une fois que vous avez activé le module IDO, l'Icinga 2 place le nouveau fichier de configuration /etc/icinga2/features-enabled/ido-mysql.conf.
Modifiez le fichier pour mettre à jour manuellement les informations d'identification de la base de données.
vi /etc/icinga2/features-enabled/ido-mysql.conf
Mettez à jour le fichier ci-dessus, comme indiqué ci-dessous.
user = "icinga2", password = "icinga123", host = "localhost", database = "icinga2"
Redémarrez le serveur Icinga 2 pour que ces fonctionnalités activées prennent effet.
systemctl restart icinga2
Conclusion
C'est tout. J'espère que vous avez appris à installer Icinga 2 sur CentOS 8 / RHEL 8. Dans notre prochain article, nous installerons l'interface Icinga web 2.