Hvordan skrive ut kommandoutgang i Ansible?

Hvordan skrive ut kommandoutgang i Ansible?
Vanligvis, når du kjører en Ansible Playbook, får du utførelsesdetaljer trykt på terminalen. Disse inkluderer navnet på Play and Task og et spilloppsummering som indikerer om spillboken har gjort noen endringer på den administrerte verten eller eksternt system

Men antar at du vil skrive ut kommandoutgangen til kommandoen som blir utført på det eksterne målet. Hvordan går du frem? I denne opplæringen lærer du hvordan du skriver ut kommandoutgangen i Ansible.

Forutsetninger

Før du kommer i gang, må du sørge for at du har installert Ansible på Linux -systemet ditt. I denne guiden kjører vi Ubuntu 20.04 der Ansible installerte. Sjekk ut guiden vår for hvordan du installerer Ansible på Ubuntu 20.04.

Skriv ut kommandoutgang i Ansible

La ta en enkel spillfil som viser hjemmekatalogen til den administrerte verten eller ekstern vert.

---
- Verter: iscenesettelse
Navn: Liste innholdet i hjemmekatalogen
oppgaver:
- Navn: Liste over filer og mappe i hjemmekatalog
Shell: 'ls -l'

Playbooken vil gå helt fint; Imidlertid vises ikke utgangen på terminalen. Alt som er logget er arten av aktiviteten som skjer på den administrerte verten.

Når en playbook -fil utføres, lagrer hver oppgave sin utdata i en variabel. For å fange utgangen, må du spesifisere din egen variabel som utgangen vil bli lagret. For å oppnå dette bruker vi 'registrere' parameter for å registrere utgangen til en variabel. Bruk deretter 'debug ' modul for å vise variabelenes innhold for å standardere ut.

For å demonstrere dette, la oss bruke noen få eksempler.

Eksempel 1: Skriv ut kommandoutgangen til oppføring av filer i hjemmekatalogen

Tidligere ga vi et eksempel på en playbook -fil som viser innholdet i en administrert verts hjemmekatalog. Imidlertid, som vi fant ut, er ikke utgangen skrevet ut for å standardere ut.

Vi vil bruke 'Register' -parameteren for å registrere resultatene i en variabel kalt Command_output for å løse dette problemet. Deretter skriver vi ut utdataene ved hjelp av 'debug ' modul.

Her er den komplette playbook -filen.

---
- Verter: iscenesettelse
Navn: Liste innholdet i hjemmekatalogen
oppgaver:
- Navn: Liste over filer og mappe i hjemmekatalog
Shell: 'ls -l'
Register: Command_output
- Debug:
var: Command_output.stdout_lines

Når Playbook -filen blir utført, skrives utgangen fra hjemmekatalogens innhold.

$ ansible-playbook/etc/ansible/list_contents.yml

Eksempel 2: Skriv ut kommandoutgangen til oppetidskommandoen

La oss ta et nytt scenario der vi skriver ut utdataene fra 'oppetid'Kommando på skallet til den administrerte verten. Som du kanskje vet, skriver opp -kommandoen opp detaljer, for eksempel hvor lenge systemet har kjørt siden det ble slått på, logget inn brukere og lastegjennomsnitt.

Vi opprettet en spillfil som heter sjekk_uptime.yml, som vist.

---
- Verter: iscenesettelse
Navn: Kontroller om den eksterne verten
oppgaver:
- Navn: Kontroller opplangen til ekstern Ubuntu -server
Shell: Oppetid
Register: Command_output
- Debug:
var: Command_output.stdout_lines

Når utføres, skrives opp oppetidsdetaljene til terminalen som vist.

$ ansible-playbook/etc/ansible/check_uptime.yml

Konklusjon

Denne guiden demonstrerer hvordan du kan skrive ut kommandoens utdata til Standard Out in Ansible. Dette var opplysende, og at du nå kan skrive ut utgangen fra kommandoen din til STD Out.