2017-06-23 11 views
0

an-Playbookの実行は、すべてが正常だったり、何らかのタスクが何か変わったとしても0を返します。an-playbookの実行情報を取得する

最後に実行中に何か変更があった場合、コマンドラインで情報を取得する方法を探しています。

誰かがこれについての方法を知っていますか?

バックグラウンドでは、Jenkinsパイプライン経由でサーバーを監視して、何か変更があった場合にアラームを取得したいということです。

ありがとうございました。

答えて

2

jsonをAnabled stdoutコールバックプラグインとして使用すると、このようにAnatileはJSON形式の機械で解析可能な出力を返します。例えば

ANSIBLE_STDOUT_CALLBACK=json ansible-playbook myplaybook.yml | jq '.stats | map(select(.changed > 0)) | length' 

は何かが変更されているホストの数を出力します。

+0

基本的なコマンドライン実行のための素晴らしい解決策。残念ながら、それは私のJenkins(出力)ログを破るでしょう。チームにこれをすることはできませんが、ありがとうたくさん – Hoall

+0

Ok。あなたはいつでもファイルロギングを有効にしてAnsibleを実行し、プレイバック実行後に 'grep'して' changed = XX'行があるかどうかを調べることができます。 –

+0

そう簡単に、そのトリックを行う必要があります。どうもありがとうございます :) – Hoall

関連する問題