Python

調整 Ansible 輸出

  • October 15, 2014

我想使用 Ansible 從多個伺服器收集資訊。資訊應在本地進行後處理,因此應以某種格式呈現。除了grepsedawk和其他系統管理員最好的朋友之外,我如何從 Ansible 中獲得與任務相關的資訊而不是其他資訊?

必須有一種方法可以從 Python 執行 Ansible,將變數導出到包裝腳本,或者從 Ansible 執行 Python 以自定義輸出。

Ansible 確實可以從您自己的 python 腳本中直接呼叫。Ansible API有完整的文件記錄。我自己沒有使用過它,但你應該能夠編寫自己的 python 腳本來利用 Ansible 並做你想做的事。根據他們的文件,就像這樣簡單:

import ansible.runner

runner = ansible.runner.Runner(
  module_name='ping',
  module_args='',
  pattern='web*',
  forks=10
)
datastructure = runner.run()

我連結到的文件中有一個更詳盡的範例。

引用自:https://serverfault.com/questions/637151