てくなべ (tekunabe)

ansible / network / automation

[Ansible/AWX] 起動したジョブをあとあから awx コマンドでモニターする(monitor サブコマンド)

はじめに

以前の記事で、awx コマンドでジョブの実行を終了までリアルタイムに見届ける --monitor オプションをご紹介しました。

tekunabe.hatenablog.jp

この --monitor オプションは、launch サブコマンドのオプションなので、起動とセットでした。

AWX 11.2.0 では、あらかめ GUIawx コマンドなどで起動したジョブを、あとからモニターできる monitor サブコマンドが追加されました。

この記事では、ジョブテンプレートとワークフロージョブテンプレートの monitor オプションを利用する例をご紹介します。

  • 動作検証環境
    • AWX 11.2.0

■ ジョブテンプレートの monitor

コマンド書式

ジョブテンプレートの実行ジョブのモニターは、以下のコマンド書式です。

awx jobs monitor [ジョブID]

実行例

まず、awx job_templates launch でジョブテンプレートを起動し(--monitor オプションなし)、あとから awx jobs monitor [ジョブID] でモニターします。

ログです。

$awx job_templates launch jt_01_show -f human     # 起動のみ(--monitor なし)
id   name       
==== ========== 
1220 jt_01_show           # ID が表示される
$
$ awx jobs monitor 1220   # 先程起動したワークフロージョブIDを指定してモニター
------Starting Standard Out Stream------  # ここから処理ををって徐々に表示される
SSH password: 

PLAY [ios] *********************************************************************

TASK [show ip route] ***********************************************************
ok: [ios1]

ASK [show ip route] ***********************************************************

...(略)....

ASK [debug ios_facts] *********************************************************
ok: [ios1] => {
    "ansible_facts.net_version": "16.11.01a"
}


LAY RECAP *********************************************************************
ios1                       : ok=4    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

------End of Standard Out Stream--------  # 終了

$
$ awx jobs monitor 1220         # 終了したジョブなので、その旨のメッセージのみ表示
Unable to monitor finished job

(ところどころ、TASKASK のように 1文字目が欠けてるので微妙に気になります)


■ ワークフロージョブテンプレートの monitor

コマンド書式

ワークフロージョブテンプレートの実行ジョブのモニターは、以下のコマンド書式です。

awx workflow_jobs monitor [ジョブID]

実行例

まず、awx workflow_job_templates launch でワークフロージョブテンプレートを起動し(--monitor オプションなし)、あとから awx workflow_jobs monitor [ジョブID] でモニターします。

ログです。

$ awx workflow_job_templates launch  wf_01 -f human   # 起動のみ(--monitor なし)
id   name  
==== ===== 
1208 wf_01    # ID が表示される

$ awx workflow_jobs monitor 1208            # 先程起動したワークフロージョブIDを指定してモニター
------Starting Standard Out Stream------    # ここから処理ををって徐々に表示される
Launching wf_01...
 ↳ 1209 - jt_02_debug successful
 ↳ 1211 - jt_03_debug successful
------End of Standard Out Stream--------    # 終了
$
$ awx workflow_jobs monitor 1208            # 終了したジョブなので、その旨のメッセージのみ表示
Unable to monitor finished job  


おわりに

awx コマンドで、ジョブをあとからモニターできる monitor サブコマンドをご紹介しました。

今回は、awx コマンドで起動して awx コマンドでモニターする例でしたが、GUI で起動して awx コマンドでモニターするおような組み合わせもできます。 シチュエーションに応じて、使い分けできるようになって便利だと感じました。

参考