Outils pour utilisateurs

Outils du site


adrien_khokholkoff:icinga2:installation

Installation et mise en place d'Icinga2

Prérequis

(L'installation d'Icingaweb2 se fera sur une autre rubrique accessible ici).

Il est important d'avoir installé tous les paquets avant de se lancer dans la configuration d'Icinga2.

Il faut également savoir que cette documentation a été réalisé sous Debian stretch. Il est possible que les commandes ne soient pas identiques pour chaque version, et pour chaque OS. Dans le cas où vous utiliseriez un autre OS, referez-vous aux différents liens présents dans la catégorie Icinga2.

Configuration

Tout d'abord, il faudra vérifier via la commande icinga2 feature list que les 3 fonctionnalités suivantes soient installées : checker / mainlog / notification.
Si elles sont présentes, cela veut dire que l'installation des paquets c'est déroulé correctement, dans le cas contraire, il est toujours possible de les rajouter en utilisant la commande : icinga2 feature enable xxx.

On fait en sorte qu'Icinga2 soit démarré en utilisant la commande : /etc/init.d/icinga2 start ou systemctl start icinga2.
Une fois celui-ci démarré, il peut être intéressant d'aller modifier le rythme pour lequel Icinga2 effectue sa supervision et également de lui donner une limite de vérification afin d'éviter que ce dernier fasse des vérifications qui ne sont pas nécessaires. On peut réaliser ceci dans le fichier : /etc/systemd/system/icinga2.service.d/override.conf.

Restart=always
Restartsec=1
StartLimitInterval=10
StartLimitBurst=3

(Il faut savoir que ces variables sont celles recommandées par les développeurs d'Icinga2 et par moi-même, mais il est tout à fait possible de modifier celles-ci afin qu'elles correspondent à vos besoins/préférences.)

Si vous avez sélectionné “Non” lors de l'installation de icinga2-ido-pgsql, suivez la prochaine étape. Dans le cas contraire, passez la partie de création de rôle et d'utilisateur postgreSQL puisque dbconfig-common l'aura déjà fait automatiquement (qui sera délimité par des lignes horizontales).


On va maintenant s'intéresser à la configuration de notre base de donnée postgreSQL. Le paquet devrait être installé normalement, ainsi que la fonctionnalité icinga2-ido-pgsql. Si c'est bien le cas, il faudra alors mettre en place la base de donnée qui contiendra Icinga2 ainsi qu'un utilisateur possédant les droits de modification sur cette dernière.

sudo -u postgres psql -c "CREATE ROLE username WITH PASSWORD '********'"
sudo -u postgres createdb -O dbasename -E UTF8 username
sudo -u postgres createlang plpgsql dbasename (Cette dernière n'est plus nécessaire pour les versions récentes)

Afin que cette base de donnée soit bien utilisée, il faudra également modifier le fichier : /etc/postgresql/xx/main/pg_hba.conf (xx correspondant à la version postgreSQL que vous utilisez). Il faudra y intégrer les lignes suivantes :

# icinga
local     icinga     icinga                      md5
host      icinga     icinga     127.0.0.1/32     md5
host      icinga     icinga     ::1/128          md5

Il est également possible que les lignes présentes sous #“local” soient à modifier, autrement un problème d'authentification risque de se produire. C'est pour cette raison que je conseille des les modifier de telle sorte :

# "local" is for Unix domain socket connections only
local     all     all                      md5
host      all     all     127.0.0.1/32     md5
host      all     all     ::1/128          md5

Une fois ces modifications réalisées, il faut redémarrer le service postgreSQL : systemctl restart postgresql

(Il est important après chaque modification d'un fichier de configuration de redémarrer les services affectés par celle-ci, afin qu'elle soit bien prise en compte.)

Il faudra ensuite mettre le schéma postgreSQL à jour afin qu'Icinga2 puisse fonctionner correctement. Pour cela, il faut donc taper les commandes suivantes :

PGPASSWORD=********
psql -U username -d dbasename < /usr/share/icinga2-ido-pgsql/schema/pgsql.sql

Il va maintenant falloir modifier le fichier : /etc/icinga2/features-available/ido-pgsql.conf afin d'y indiquer la base de donnée nouvellement créée :

object IdoPgsqlConnection "ido-pgsql"{
user = "username"
password = "********"
host = "localhost"
database = "dbasename"

Il faut bien évidemment modifier les éléments en fonction de ce que vous avez mis lors des différentes installations et être attentif à la casse (bien respecter les majuscules/minuscules notamment).

(Pour les personnes préférant MySQL, je vous recommande de suivre la documentation réalisé sur le site d'Icinga2, suivre les liens indiqués précédemment ou faire des recherches internet.)

On vérifie bien à l'aide de la commande : icinga2 feature enable ido-pgsql que la fonctionnalité est activée puis on redémarre les postgreSQL et Icinga2 avec les commandes : systemctl restart postgresql et systemctl restart icinga2. Si aucun problème n'est rencontré durant toutes ces étapes, alors Icinga2 devrait être opérationnel (ce qui est vérifiable en tapant la commande systemctl status icinga2).
Pour ceux qui veulent avoir accès à l'interface web Icingaweb2, la suite de la mise en place peut se trouver ici.

adrien_khokholkoff/icinga2/installation.txt · Dernière modification: 2018/05/17 14:45 par Adrien Khokholkoff