[解決済み] ansible-playbookモジュール実行のログ/詳細を取得するにはどうすればよいですか?
2022-12-23 20:27:31
質問
次のように実行するとします。
$ cat test.sh
#!/bin/bash
echo Hello World
exit 0
$ cat Hello.yml
---
- hosts: MyTestHost
tasks:
- name: Hello yourself
script: test.sh
$ ansible-playbook Hello.yml
PLAY [MyTestHost] ****************************************************************
GATHERING FACTS ***************************************************************
ok: [MyTestHost]
TASK: [Hello yourself] ********************************************************
ok: [MyTestHost]
PLAY RECAP ********************************************************************
MyTestHost : ok=2 changed=0 unreachable=0 failed=0
$
成功したことは確かです。
リモートホスト(MyTestHost)上の私のスクリプトによってecho'ed/printedされた "Hello World" をどこで/どのように見るのですか?またはスクリプトの戻り/終了コード?
私の研究は、モジュール実行コールバックまたはそのライン上の何かをインターセプトし、ログ ファイルを書き込むプラグインを書くことが可能であることを示しています。私はそれで私の時間を無駄にしないことを望みます。
例えば、以下のstdoutのようなものです(私はansibleを実行しており、ansible-playbookを実行していないことに注意してください)。
$ ansible plabb54 -i /project/plab/svn/plab-maintenance/ansible/plab_hosts.txt -m script -a ./test.sh
plabb54 | success >> {
"rc": 0,
"stderr": "",
"stdout": "Hello World\n"
}
$
どのように解決するのですか?
を渡すと
-v
フラグをコマンドラインで ansible-playbook に渡すと、実行された各タスクの stdout と stderr が表示されます。
$ ansible-playbook -v playbook.yaml
Ansibleにはロギングをサポートする機能も組み込まれています。次の行をあなたの ansible 設定ファイル :
[defaults]
log_path=/path/to/logfile
Ansibleは設定ファイルのためにいくつかの場所を探します。
-
ansible.cfg
を実行したカレントディレクトリでansible-playbook
-
~/.ansible.cfg
-
/etc/ansible/ansible.cfg
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン