Mon réseau d’entreprise
18.1 Icinga2
Nous présentons ici la mise en place de la solution de supervion Icinga. C’est un descendant de Nagios. Nous présentons l’installation sur la prochaine version de Debian : Bullseye.
Lors de l’installation, il vous sera demandé plusieurs mots de passe. Il faudra faire attention à l’usage auquel est destiné ce mot de passe et utiliser des mots de passes différents.
Il faut commencer par disposer d’un serveur LAMP (ou analogue) configuré. Vous pouvez donc consulter : la documentation d’apache : 17.1 ; de php : 17.2 ou de MariaDB : 17.5.
18.1.1 Créer une base de données pour icinga.
Les commandes utiles sont assez simples.
# mariadb -u root Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 53 Server version: 10.3.17-MariaDB-0+deb10u1 Debian 10 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
La commande pour lister les bases de données est show databases;
MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 3 rows in set (0.001 sec)
18.1.2 Icinga2
Installez les paquets :
-
• icinga2
-
• apache2
-
• libapache2-mod-php
-
• icinga2-ido-mysql
Vérifiez l’activation de ido-mysql, au besoin activez le :
# icinga2 feature list Disabled features: api command compatlog debuglog elasticsearch gelf graphite icingadb ido-mysql influxdb influxdb2 livestatus opentsdb perfdata statusdata syslog Enabled features: checker mainlog notification # icinga2 feature enable ido-mysql Enabling feature ido-mysql. Make sure to restart Icinga 2 root@joe:~# systemctl restart icinga2
Il faut un mot de passe pour l’utilisateur mysql d’Icinga.
Vous pouvez ajouter aussi le paquet phpmyadmin pour faciliter la mise au point.
Lors de l’installation, il faut :
-
• activer le support IDO pour icinga2 ;
-
• utiliser dbconfig pour configurer la base de données icinga2 ;
La base de données icinga2 doit avoir été crée.
icinga2 feature list icinga2 feature enable ido-mysql service icinga2 restart a2enmod rewrite service apache2 restart
Lors de la mise à jour d’Icinga2 entre deux versions de Debian, il se peut que la base de données soit arrêtée. Dans ce cas, il faut la relancer pour terminer proprement la mise à jour. Dans un autre terminal :
# systemctl unmasq mariadb-server # systemctl restart mariadb-server
La connexion peut être vérifiée :
# mariadb -u root Welcome to the MariaDB monitor. Commands end with ; or \g.
18.1.3 IcingaWeb2
Le logiciel Icinga va superviser notre réseau, pour consulter l’état du réseau, la ligne de commande peut être utilisée. Icinga propose aussi une application web, Icingaweb2, qui permet de visualiser la supervision.
Après l’installation du paquet icingaweb2, il faut créer un jeton pour Icingaweb2. Ce jeton sera rangé dans /etc/icingaweb2/setup.token. Il permet l’authentification initiale pour la configuration web .
# icingacli setup token create The newly generated setup token is: 6622b987738f9d42
Si cette commande ne fonctionne pas (icingacli fonctionne, mais refuse de faire le setup), alors il faut activer le module.
icingacli module enable setup
Vous pouvez vous connecter à l’interface web icingaweb2, à priori sur localhost. Avant de configurer icingaweb2, il faut définir le fuseau horaire pour php dans le fichier php.ini (/etc/php/7.0/apache2/php.ini ou similaire). Il faut changer la ligne :
;date.timezone =
en
date.timezone = "Europe/Paris"
puis relancer apache.
La connexion se fait en pointant le navigateur sur http://serveurIcinga/icingaweb2/setup pour lancer le wizard. Le serveur demande alors d’entrer le token de sécurité (figure 18.1). Il faut ensuite suivre le déroulement de la configuration.
Pour l’instant, nous n’utiliserons que le module Monitoring.
Normalement, les Requirements devraient afficher une alerte sur postgresql. Comme nous utilisons MariaDB, ce ne va pas nous arrêter.
Nous laissons l’authentification par base de données.
La resource de base de données est présentée dans la figure 18.2. Il y a une base de données pour icinga, créée automatiquement et il en faut une autre pour icingaweb qui ne peut être créée par le sorcier. Il faut commencer par créer cette base :
# mariadb -u root
...
MariaDB [(none)]> CREATE DATABASE icingaweb2;
Query OK, 1 row affected (0.000 sec)
MariaDB [(none)]> GRANT ALL ON icingaweb2.*
-> TO icingaweb2@localhost
-> IDENTIFIED BY 'mdp';
Query OK, 0 rows affected (0.001 sec)
-
• Database name : icingaweb2 ;
-
• Username : icingaweb2 ;
-
• Password : mdp.
Le backend name ne change pas.
Le compte permettant de ce connecter à l’interface Web (figure 18.3) doit être créé.
Il faut cliquer plusieurs fois sur Next avant d’arriver à la configuration des ressources IDO, il faut mettre :
- Database name
-
icinga2
- Username
-
icinga2
- mot de passe
-
dans le fichier /etc/icinga2/features-enabled/ido-mysql.conf
object IdoMysqlConnection "ido-mysql" {
user = "icinga2",
password = "sLuxygJTsaFx",
host = "localhost",
database = "icinga2"
}
Le transport des commande se fera en local (Local Command File). Il faudra activer la feature.
# icinga2 feature enable command
Quelques Next plus loin, la configuration se termine. L’installateur propose une connexion vers l’interface de supervision.


