2017-03-23 7 views
0

私は、クラスタノードにリモートログインし、ステータスをチェックし、プレイブックを実行しているImからAnsibleノードのコンソールに出力する単純な可能性のあるプレイブックを持っています。私にとっては、すべてうまく動作しますが、私の主な関心事は、私がそれを可能な限り効率的にやっているかどうかです。安全な表示出力のためのベストプラクティス

脚本::

--- 
- 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 }} 

インベントリファイル::

[database-master] 
172.29.219.61 

これが私の唯一の懸念は、それは、これが最良の方法である::

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 

の出力を生成し、リモートサーバーから出力をフェッチし、それを危険なコンソールサーバーに表示するように作業していますか?

+1

人々はこれ(またはGossやTestinfraのようなジュニア競合他社)のためにServerspecのような他のソフトウェアを使用しているので、あなたは気分が悪いと感じます。それらはこの種のものに合わせて作られており、したがって流動的に働きます。 –

+0

これは、コードレビューではなくStackOverflowの問題であるため、この質問を議論の対象外としています。 – techraf

答えて

-1

おそらく、唯一のより多くの「効率的」な方法 - 脚本コードの長さの面では -

ansible-playbook ... -vvv 

で実行することです

man page CF)しかし、これはまた、あなたは非常に冗長な出力が得られますすべてタスクを実行しました。

関連する問題