Inhaltsverzeichnis
Ansible Stdout Compact Logger
ist eine Open-Source-Software zur Automatisierung, Orchestrierung und Konfiguration von Serversystemen. Mit Ansible erfolgt die Verwaltung von Servern unter anderem über SSH und erfordert keinerlei zusätzliche Software auf dem zu verwaltenden System. Die Ausgabe erfolgt im JSON-Format und Module können in jeder beliebigen Programmiersprache geschrieben sein. Das System nutzt überwiegend YAML zur Konfiguration von wiederverwendbarer Beschreibungen der Systeme.
Ansible Stdout Compact Logger bietet die Möglichkeit, die LOG-Ausgabe von Ansible zu komprimieren, was über die Konfiguration von callback_plugins
realisiert wird.
Beschreibung | Externer Link |
---|---|
Homepage | https://www.ansible.com/ |
Dokumentation | https://docs.ansible.com/ |
Best Practise | https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html |
anstomlog *¹ | https://github.com/octplane/ansible_stdout_compact_logger |
*¹ Quelle: Ansible Stdout Compact Logger
Ab hier werden ansible
-Benutzerrechte zur Ausführung der nachfolgenden Befehle benötigt. Um der Benutzer ansible
zu werden, geben Sie bitte nachfolgenden Befehl ein:
$ su - ansible Password:
Vorbereitung
Nachfolgend soll davon ausgegangen werden, dass
- Ansible wie folgt eingerichtet ist
Siehe auch nachfolgenden internen Link: Ansible mit Ansible einrichten
Herunterladen
Damit der Ansible Stdout Compact Logger installiert und genutzt werden kann, muss der Ansible Stdout Compact Logger heruntergeladen uns installiert werden.
Dazu soll auf dem PC/Server auf dem Ansible ausgeführt wird, mit nachfolgendem Befehl nachfolgendes Verzeichnis erstellt werden:
$ mkdir -p ~/.ansible/plugins/callback
Durch den zuvor ausgeführten Befehl, sollte nun nachfolgendes Verzeichnis entstanden sein, was mit nachfolgendem Befehl überprüft werden kann:
$ ls -l ~/.ansible/plugins/callback total 0
Anschliessend kann nun mit nachfolgendem Befehl das Python-Skript aus dem der Ansible Stdout Compact Logger eigentlich besteht, wie folgt in das zuvor neu erstellt Verzeichnis heruntergeladen werden:
$ curl -o ~/.ansible/plugins/callback/anstomlog.py https://raw.githubusercontent.com/octplane/ansible_stdout_compact_logger/main/callbacks/anstomlog.py % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 14553 100 14553 0 0 74407 0 --:--:-- --:--:-- --:--:-- 74250
Durch den zuvor ausgeführten Befehl, sollte nun nachfolgende Datei heruntergeladen worden sein, was mit nachfolgendem Befehl überprüft werden kann:
$ ls -l ~/.ansible/plugins/callback total 340 -rw-r--r-- 1 ansible ansible 345836 Feb 9 10:14 anstomlog.py
Konfiguration
Nachfolgende Anpassungen müssen an der z.B. Ansible-Konfigurationsdatei
~/.ansible.cfg
des Benutzers, hier ansible
geändert werden, damit der Ansible Stdout Compact Logger verwendet werden kann:
~/.ansible.cfg
Nachfolgende Anpassungen an der Ansible-Konfigurationsdatei
~/.ansible.cfg
des Benutzers, hier ansible
müssen durchgeführt werden.
(Nur relevanter Ausschnitt)
# (pathspec) Colon separated paths in which Ansible will search for Callback Plugins. ; Tachtler ; default: ;callback_plugins= callback_plugins=~/.ansible/plugins/callback
Einrichten des Pfades wo die „callback_plugins“ im Dateisystem zu finden sind.
# (string) Set the main callback used to display Ansible output. You can only have one at a time. # You can have many other callbacks, but just one can be in charge of stdout. # See :ref:`callback_plugins` for a list of available options. ; Tachtler ; default: ;stdout_callback=default stdout_callback=anstomlog
Einrichten des callback_plugins
, welchem die Ausgabe stdout
übergeben werden soll. Standard ist hier default
, welches durch anstomlog
(ohne die Python-Skript Angabe .py
) ersetzt werden soll.
Mit nachfolgendem Befehl kann überprüft werden, ob das Python-Skript Ansible Stdout Compact Logger tatsächlich richtig funktioniert:
$ python ~/.ansible/plugins/callback/anstomlog.py ............ ---------------------------------------------------------------------- Ran 12 tests in 0.000s OK
Test-Ausgabe
Ohne anstomlog
* Quelle: Ansible Stdout Compact Logger
Mit anstomlog
* Quelle: Ansible Stdout Compact Logger