Ansible Benachrichtigung, wenn sie geändert werden

Ansible Benachrichtigung, wenn sie geändert werden
In Ansible bezieht sich ein Handler auf eine bestimmte Aufgabe, die beim Auslösen des Benachrichtigungsmoduls ausgeführt wird. Handler führen eine in der Aufgabe definierte Aktion aus, wenn eine Änderung im Remote -Host auftritt.

Handler sind hilfreich, wenn Sie eine Aufgabe ausführen müssen, die auf den Erfolg oder Misserfolg einer bestimmten Aufgabe beruht. Sie können beispielsweise einen Handler festlegen, um Apache -Protokolle zu senden, wenn der Dienst ausfällt.

Dieser Artikel hilft Ihnen zu verstehen, wie Sie den Ansible -Handler in Playbooks definieren und verwenden können.

Grundnutzung

Um zu veranschaulichen, wie man den Ansible -Handler benutzt, lassen Sie uns ein einfaches Beispiel. Das unten stehende Spielbuch wird den Apache HTTP -Server installiert und mit einem Handler den Dienst starten.

---
- Hosts: Alles
wahr werden
sammle_facts: nein
Aufgaben:
- Name: "Apache installieren"
Paket:
Name: Apache2
Zustand: Gegenwart
benachrichtigen:
Startapache
Handler:
- Name: StartAPache
Service:
Name: Apache2
Zustand: Begonnen

Im obigen Beispiel -Playbook werden wir zunächst den Apache2 -Server mithilfe des Paketmoduls installieren. Wir verwenden dann ein Benachrichtigungsmodul, um eine Benachrichtigungsaktion festzulegen.

Der letzte Schritt besteht darin, einen Handler zu konfigurieren, der nach der Installation des Servers ausgeführt wird. Der Name der Benachrichtigung sollte der gleiche wie der im Handlermodul verwendete Name sein. Andernfalls schlägt der angegebene Handler fehl.

Speichern und führen Sie das obige Spielbuch aus:

Ansible-PlaybookHandlers.YML

So konfigurieren Sie Ansible -Benachrichtigungs -Handler für Warnmeldungen

Sie können auch einen Ansible -Handler konfigurieren, um eine Nachricht anzuzeigen, anstatt Aktionen wie Neustartdienste zu ergreifen.

Das folgende Spielbuch startet beispielsweise den Apache -Dienst und zeigt eine Nachricht an den Benutzer an.

---
- Hosts: Alles
wahr werden
Aufgaben:
- Name: "Apache neu starten"
Service:
Name: Apache2
Zustand: Neu gestartet
benachrichtigen:
Apacherstart
Handler:
- Name: ApacherStarted
debuggen:
MSG: "Der Apache -Dienst wurde erfolgreich neu gestartet"

Im obigen Beispiel registrieren wir einen einfachen Handler, der eine erfolgreiche Nachricht anzeigt, wenn der Apache -Dienst neu gestartet wird.

Unten ist ein Beispielausgang:

Aufgabe [Apache neu starten]
***********************************************************
verändert: [192.168.0.111]
Ausführen von Handler [Apache neu gestartet]
************************************************************
OK: [192.168.0.111] =>
"MSG": "Der Apache -Dienst wurde erfolgreich neu gestartet."

So konfigurieren Sie Ansible -Benachrichtigungs -Handler für mehrere Handler

Angenommen, Sie möchten das System aktualisieren und zwei Dienste nach dem Update neu starten. Wie im Spielbuch unten gezeigt, können Sie zwei Handler als Aktionen definieren:

---
- Hosts: Alles
wahr werden
Aufgaben:
- Name: "Das System aktualisieren"
geeignet:
update_cache: Ja
Upgrade: Dist
benachrichtigen:
-Apache
-Mysql
Handler:
- Name: Apache
Service:
Name: Apache2
Zustand: Neu gestartet
- Name: MySQL
Service:
Name: Mysqld
Zustand: Neu gestartet

In diesem Beispiel -Playbook aktualisieren wir das System über das APT -Modul. Als nächstes verwenden wir die Benachrichtigungsmodule, um zwei Aufgaben zu definieren.

Mit Handlern definieren wir Aktionen für jede Benachrichtigungsaufgabe. In unserem Beispiel haben wir sowohl Apache- als auch MySQL -Dienste neu gestartet.

Abschluss

Dieses Tutorial hat Ihnen gezeigt.