Python
調整 Ansible 輸出
我想使用 Ansible 從多個伺服器收集資訊。資訊應在本地進行後處理,因此應以某種格式呈現。除了
grep
和sed
和awk
和其他系統管理員最好的朋友之外,我如何從 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()
我連結到的文件中有一個更詳盡的範例。