2017-03-23 3 views
0

Ich habe ein einfaches Ansible Playbook, das sich remote an einem Cluster-Knoten anmeldet, auf seinen Status prüft und auf der Konsole auf dem Ansible-Knoten ausgibt, von wo ich das Playbook abspiele. Für mich funktioniert alles gut, aber mein Hauptanliegen ist, ob ich es so effizient wie möglich mache.Best Practice für Ansible zeigt Ausgabe

Textbuch ::

--- 
- name: Perform Health Checks. 
    hosts: database-master 
    tasks: 
    - name: Check Postgres cluster status. 
     shell: /usr/efm-2.0/bin/efm cluster-status efm 
     register: output 

    - debug: msg={{ output.stdout_lines }} 

Datei Inventar ::

[database-master] 
172.29.219.61 

Dies entspricht einer Leistung von ::

TASK [Check Postgres cluster status.] ****************************************** 
changed: [172.29.219.61] 

TASK [debug] ******************************************************************* 
ok: [172.29.219.61] => { 
    "msg": [ 
     "Cluster Status: efm", 
     "", 
     "\tAgent Type Address    Agent DB  Info", 
     "\t--------------------------------------------------------------", 
     "\tWitness  172.29.219.46  UP  N/A  ", 
     "\tMaster  172.29.219.61  UP  UP  ", 
     "\tStandby  172.29.219.62  UP  UP  ", 
     "", 
     "Allowed node host list:", 
     "\t172.29.219.61 172.29.219.62 172.29.219.46", 
     "", 
     "Standby priority host list:", 
     "\t172.29.219.62", 
     "", 
     "Promote Status:", 
     "", 
     "\tDB Type  Address    XLog Loc   Info", 
     "\t--------------------------------------------------------------", 
     "\tMaster  172.29.219.61  2B/3176688  ", 
     "\tStandby  172.29.219.62  2B/3176688  ", 
     "", 
     "\tStandby database(s) in sync with master. It is safe to promote." 
    ] 
} 

PLAY RECAP ********************************************************************* 
172.29.219.61    : ok=3 changed=1 unreachable=0 failed=0 

ist meine einzige Sorge erzeugt, dass dann ist dies der beste Weg, Arbeiten, um eine Ausgabe von einem Remote-Server zu holen und auf dem Ansible-Konsolenserver anzuzeigen?

+1

Es fühlt sich für Sie unangenehm an, weil die Leute andere Software wie Serverspec dafür verwenden (oder seine Junior-Konkurrenten wie Goss oder Testinfra). Diese sind auf diese Art von Dingen zugeschnitten und arbeiten daher flüssig. –

+0

Ich stimme für das Schließen dieser Frage als Off-Topic ab, da dies eine Frage für Code Review nicht StackOverflow ist. – techraf

Antwort

-1

Wahrscheinlich der einzige mehr „effizient“ Art und Weise - in Bezug auf die Länge Textbuch Code - ist mit

ansible-playbook ... -vvv 

(cf der man page)

Aber dies wird auch Ihnen sehr ausführliche Ausgabe laufen für alle ausgeführten Aufgaben.