ANNIBLE AVISIER Lorsqu'il a changé

ANNIBLE AVISIER Lorsqu'il a changé
Dans ANIBLE, un gestionnaire fait référence à une tâche particulière qui s'exécute lorsqu'elle est déclenchée par le module Notifier. Les gestionnaires effectuent une action définie dans la tâche lorsqu'un changement se produit dans l'hôte distant.

Les gestionnaires sont utiles lorsque vous devez effectuer une tâche qui repose sur le succès ou l'échec d'une tâche spécifique. Par exemple, vous pouvez définir un gestionnaire pour envoyer des journaux Apache si le service baisse.

Cet article vous aidera à comprendre comment définir et utiliser le gestionnaire ANSIBL dans les manuels de jeu.

Utilisation de base

Pour illustrer comment utiliser le gestionnaire ANSible, laissez-nous un exemple simple. Le playbook ci-dessous installera le serveur HTTP Apache et utilisera un gestionnaire pour démarrer le service.

---
- hôtes: tout
devenir vrai
rassemble_facts: non
Tâches:
- Nom: "Installer Apache"
emballer:
Nom: apache2
État: présent
notifier:
startapache
Handlers:
- Nom: startapache
service:
Nom: apache2
État: commencé

Dans l'exemple Playbook ci-dessus, nous commençons par installer le serveur Apache2 à l'aide du module de package. Nous utilisons ensuite un module Notify pour définir une action de notification.

La dernière étape consiste à configurer un gestionnaire à exécuter après l'installation du serveur. Le nom de la notification doit être le même que le nom utilisé dans le module de gestionnaire. Sinon, le gestionnaire spécifié échouera.

Enregistrez et exécutez le livre de jeu ci-dessus:

anible-playbookhandlers.YML

Comment configurer ANSIBLE NOTIFY HANDER POUR MESSAGE ALERTE

Vous pouvez également configurer un gestionnaire ANSible pour afficher un message au lieu de prendre des mesures telles que le redémarrage des services.

Par exemple, le playbook ci-dessous redémarre le service Apache et affiche un message à l'utilisateur.

---
- hôtes: tout
devenir vrai
Tâches:
- Nom: "Redémarrer Apache"
service:
Nom: apache2
État: redémarré
notifier:
apacherestarted
Handlers:
- Nom: apacherestarted
déboguer:
MSG: "Le service Apache a redémarré avec succès"

Dans l'exemple ci-dessus, nous enregistrons un gestionnaire simple qui montre un message réussi lorsque le service Apache est redémarré.

Vous trouverez ci-dessous un exemple de sortie:

Tâche [redémarrer apache]
**********************
Changé: [192.168.0.111]
Handler en cours d'exécution [Apache redémarré]
************************************
OK: [192.168.0.111] =>
"MSG": "Le service Apache a redémarré avec succès."

Comment configurer ANSIBLE NOTIFY HANDER pour plusieurs gestionnaires

Supposons que vous souhaitiez mettre à jour le système et redémarrer deux services après la mise à jour. Comme indiqué dans le livre de jeu ci-dessous, vous pouvez définir deux gestionnaires pour effectuer comme actions:

---
- hôtes: tout
devenir vrai
Tâches:
- Nom: "Mettre à jour le système"
apte:
update_cache: oui
mise à niveau: dist
notifier:
-apache
-mysql
Handlers:
- Nom: Apache
service:
Nom: apache2
État: redémarré
- Nom: Mysql
service:
Nom: MySQLD
État: redémarré

Dans cet exemple de playbook, nous mettons à jour le système à l'aide du module APT. Ensuite, nous utilisons les modules de notification pour définir deux tâches.

À l'aide de gestionnaires, nous définissons des actions pour chaque tâche d'informer. Dans notre exemple, nous avons redémarré les services Apache et MySQL.

Conclusion

Ce tutoriel vous a montré comment définir et utiliser le module ANNIBLE NOTIFY ET HANDERS pour effectuer une action où une tâche est terminée.