Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
serveur_hebergement:icinga:installation_d_icinga [2022/10/07 09:56] – [Installation du serveur client] fate | serveur_hebergement:icinga:installation_d_icinga [2024/01/15 12:40] (Version actuelle) – fate | ||
---|---|---|---|
Ligne 12: | Ligne 12: | ||
Pour information, | Pour information, | ||
En plus du maître et du/des client(s), il peut y avoir des satellites placés entre le maître et les clients. N’ayant pas besoin d’une telle configuration, | En plus du maître et du/des client(s), il peut y avoir des satellites placés entre le maître et les clients. N’ayant pas besoin d’une telle configuration, | ||
- | Vous pouvez également avoir plusieurs serveurs | + | Vous pouvez également avoir plusieurs serveurs |
Comme d’hab, toutes les commandes sont à lancer en root. | Comme d’hab, toutes les commandes sont à lancer en root. | ||
Ligne 20: | Ligne 20: | ||
==== Installation du serveur maître ==== | ==== Installation du serveur maître ==== | ||
- | La version d’Icinga présente dans les dépôts de Debian datant un peu, on va récupérer la version directement du dépôt d’Icinga. On va commencer par importer la clé d’Icinga, servant à vérifier les paquets | + | La version d’Icinga présente dans les dépôts de Debian datant un peu, on va récupérer la version directement du dépôt d’Icinga. On va commencer par importer la clé d’Icinga, servant à vérifier les paquets. |
- | <code bash> | + | <code bash> |
+ | <code bash> | ||
Maintenant ouvrez le fichier | Maintenant ouvrez le fichier | ||
Ligne 29: | Ligne 30: | ||
<code bash> | <code bash> | ||
# dépôt Icinga | # dépôt Icinga | ||
- | deb http:// | + | deb [signed-by=/ |
- | deb-src http:// | + | deb-src |
</ | </ | ||
Ligne 37: | Ligne 38: | ||
Mettez à jour la liste des paquets | Mettez à jour la liste des paquets | ||
<code bash> | <code bash> | ||
- | |||
- | Affichez de nouveau la version d' | ||
- | <code bash> | ||
On peut donc passer à l’installation. | On peut donc passer à l’installation. | ||
Ligne 52: | Ligne 50: | ||
{{: | {{: | ||
- | Choisissez un mot de passe puis retapez le dans le fenêtre d’après. | + | Choisissez un mot de passe puis retapez-le dans la fenêtre d’après. |
{{: | {{: | ||
Ligne 68: | Ligne 66: | ||
php-mysql sert à ce que PHP puisse dialoguer avec le serveur MariaDB. | php-mysql sert à ce que PHP puisse dialoguer avec le serveur MariaDB. | ||
- | |||
- | On va commencer par changer le mot de passe de l’utilisateur root SQL | ||
- | |||
- | <code bash> | ||
- | |||
- | Renseignez le mot de passe que vous voulez pour le compte root (évitez 1234 comme mot de passe), puis vous aurez à répondre à une série de questions : | ||
- | * Remove anonymous users? [Y/n] -> répondre Yes | ||
- | * Disallow root login remotely? [Y/n] -> répondre Yes | ||
- | * Remove test database and access to it? [Y/n] -> répondre Yes | ||
- | * Reload privilege tables now? [Y/n] -> répondre Yes | ||
Passons à l’installation d’Icinga2. | Passons à l’installation d’Icinga2. | ||
Ligne 83: | Ligne 71: | ||
=== Installation d’Icinga2 sur le Raspberry === | === Installation d’Icinga2 sur le Raspberry === | ||
- | Sur Raspbian, la version | + | Comme sur Debian, on va ajouter le dépôt |
- | Ouvrez le fichier | + | < |
- | < | + | |
- | Rajoutez | + | Maintenant ouvrez le fichier |
+ | < | ||
+ | |||
+ | Ajoutez à la fin les lignes suivantes | ||
<code bash> | <code bash> | ||
# dépôt Icinga | # dépôt Icinga | ||
- | deb http:// | + | deb [signed-by=/ |
+ | deb-src [signed-by=/ | ||
</ | </ | ||
- | On va ensuite importer la clé de ce dépôt | + | Le dépôt d’Icinga est maintenant rajouté dans notre liste de dépôts. |
- | <code bash> | + | |
Il ne reste plus qu’à mettre à jour les dépôts et installer Icinga2 et les plugins | Il ne reste plus qu’à mettre à jour les dépôts et installer Icinga2 et les plugins | ||
Ligne 115: | Ligne 105: | ||
Sur Debian, on doit créer la base de donnée à la main | Sur Debian, on doit créer la base de donnée à la main | ||
- | <code bash> | + | <code bash> |
Rentrez le mot de passe de l’administrateur mysql. Une fois connecté à mysql, créez la base de donnée icingaweb2: | Rentrez le mot de passe de l’administrateur mysql. Une fois connecté à mysql, créez la base de donnée icingaweb2: | ||
Ligne 121: | Ligne 111: | ||
Créez un administrateur local de cette base (changez motdepasse par votre mot de passe) | Créez un administrateur local de cette base (changez motdepasse par votre mot de passe) | ||
- | <code sql> | + | <code sql> |
Tapez “quit” pour quitter mysql. | Tapez “quit” pour quitter mysql. | ||
Ligne 131: | Ligne 121: | ||
<code bash>/ | <code bash>/ | ||
- | Modifiez le afin d’avoir ceci (remplacez l’utilisateur et le mot de passe par celui qui vous avez choisi) | + | Modifiez-le afin d’avoir ceci (remplacez l’utilisateur et le mot de passe par celui qui vous avez choisi) |
< | < | ||
/** | /** | ||
Ligne 140: | Ligne 130: | ||
// client_cn = "" | // client_cn = "" | ||
- | permissions = [ "status/ | + | permissions = [ " |
} | } | ||
</ | </ | ||
+ | |||
+ | Icinga fonctionne avec des modules, tous désactivés par défaut (du moins sur mon installation). | ||
+ | |||
+ | Vous pouvez activer un module avec la commande suivante | ||
+ | <code bash> | ||
+ | |||
+ | Pour voir tous les modules disponibles et ceux qui sont actifs et inactifs | ||
+ | <code bash> | ||
+ | |||
+ | Il faut au moins que Checker, api, ido-mysql et notification soient actifs. Voici les modules que j’ai activés : api checker ido-mysql mainlog notification. Mainlog sert à afficher les erreurs dans les fichiers de log. | ||
Redémarrez Icinga | Redémarrez Icinga | ||
Ligne 209: | Ligne 209: | ||
Laissez les valeurs par défaut sur la prochaine fenêtre et cliquez sur “Next”. | Laissez les valeurs par défaut sur la prochaine fenêtre et cliquez sur “Next”. | ||
- | Sur la fenêtre suivante, cliquez sur “Finish”. Vous pouvez maintenant vous connectez | + | Sur la fenêtre suivante, cliquez sur “Finish”. Vous pouvez maintenant vous connecter |
- | + | ||
- | Icinga fonctionne avec des modules, tous désactivés par défaut (du moins sur mon installation). | + | |
- | + | ||
- | Vous pouvez activer un module avec la commande suivante | + | |
- | <code bash> | + | |
- | + | ||
- | Pour voir tous les modules disponibles et ceux qui sont actifs et inactifs | + | |
- | <code bash> | + | |
- | + | ||
- | Il faut au moins que Checker, api, ido-mysql et notification soient actifs. Voici les modules que j’ai activés : api checker ido-mysql mainlog notification. Mainlog sert à afficher les erreurs dans les fichiers de log. | + | |
- | + | ||
- | Pensez à redémarrer le Icinga | + | |
- | <code bash> | + | |
lancez la commande suivante | lancez la commande suivante | ||
Ligne 354: | Ligne 341: | ||
</ | </ | ||
- | Petite explication. On commence par créer deux “Endpoint”, | + | Petite explication. On commence par créer deux “Endpoint”, |
On crée ensuite deux zones, une zone nommée “master” à laquelle on lie le endpoint du serveur maître, et une zone client qu’on lie au endpoint du client et où on indique également qu’elle est une zone enfant de la zone “master”. Ainsi, on fait comprendre à Icinga2 que la zone “master” ordonnera les tests qui seront effectués sur la zone client. | On crée ensuite deux zones, une zone nommée “master” à laquelle on lie le endpoint du serveur maître, et une zone client qu’on lie au endpoint du client et où on indique également qu’elle est une zone enfant de la zone “master”. Ainsi, on fait comprendre à Icinga2 que la zone “master” ordonnera les tests qui seront effectués sur la zone client. | ||
Ligne 425: | Ligne 412: | ||
</ | </ | ||
- | C’est un service qui lance la commande ping sur tous les host qui ont une adresse ip renseignée. Si on le laisse tel quel, il va lancer le test sur le host maître et sur le host client en utilisant l’IP renseignée (127.0.0.1) pour chaque host, sans utiliser le endpoint. Les deux test vont donc être lancés en local sur le maître. Pour utiliser le endpoint, on va devoir faire une petite modif | + | C’est un service qui lance la commande ping sur tous les host qui ont une adresse ip renseignée. Si on le laisse tel quel, il va lancer le test sur le host maître et sur le host client en utilisant l’IP renseignée (127.0.0.1) pour chaque host, sans utiliser le endpoint. Les deux tests vont donc être lancés en local sur le maître. Pour utiliser le endpoint, on va devoir faire une petite modif |
< | < | ||
apply Service " | apply Service " | ||
Ligne 441: | Ligne 428: | ||
assign where host.vars.endpoint signifie que ce test s’exécutera sur tous les hosts qui ont une variable “vars.endpoint” et command_endpoint = host.vars.endpoint signifie que le test s’effectuera via le endpoint renseigné dans le host. | assign where host.vars.endpoint signifie que ce test s’exécutera sur tous les hosts qui ont une variable “vars.endpoint” et command_endpoint = host.vars.endpoint signifie que le test s’effectuera via le endpoint renseigné dans le host. | ||
- | Si vous n’avez que très peu de service commun entre le maître et le client, vous pouvez | + | Si vous n’avez que très peu de service commun entre le maître et le client, vous pouvez |
- | Dans mon cas, comme j’ai beaucoup de services communs à mon serveur OVH et mon Raspberry, j’ai préféré | + | Dans mon cas, comme j’ai beaucoup de services communs à mon serveur OVH et mon Raspberry, j’ai préféré |
Voilà, il ne vous reste plus qu’à redémarrer Icinga2 sur le maître et le client et tout devrait fonctionner. | Voilà, il ne vous reste plus qu’à redémarrer Icinga2 sur le maître et le client et tout devrait fonctionner. | ||
Ligne 449: | Ligne 436: | ||
===== Désactiver la re-notification ===== | ===== Désactiver la re-notification ===== | ||
- | Icinga2 a un comportement un peu con, il envoi un mail toutes les X minutes tant qu’un problème n’est pas résolu. Personnellement j’ai assez de neurones pour comprendre avec une seule notification qu’il y a un soucis. | + | Icinga2 a un comportement un peu con, il envoie |
On va donc changer ce comportement. | On va donc changer ce comportement. | ||