ホーム > Ansible Tower・AWX リファレンス
Ansible AWX・Tower環境で、ジョブの実行開始と終了(成功・失敗)をメールで通知する方法を解説します。
はじめに・実行環境
ここでは、Ansible AWX・Towerから、メールを送信させる方法を説明します。
Ansible AWX・Towerでは、ジョブの以下のタイミングでメールを送信することが出来ます。
- ジョブの実行開始
- ジョブの実行終了(成功時)
- ジョブの実行終了(失敗時)
以下は、執筆時の実行環境です。
- コントロールノード
- MIRACLE LINUX release 8.4 (Peony)
- Ansible AWX 15.0.1
- ターゲットノード
- AlmaLinux release 9.0 (Emerald Puma)
通知テンプレートの作成
ここでは、通知テンプレートを作成します。
まずは、AWXのメニューより、「通知」をクリックします。
通知テンプレートの一覧画面が表示されるので、「新規通知テンプレートの作成」ボタン(画面右側にある緑色の+マーク)をクリックします。
以下のような、新規通知テンプレートを作成する画面が表示されるので、各項目を入力していきます。
入力後は、画面右下の「保存」をクリックします。
各項目の入力内容は、以下を参考にして下さい。(必須入力項目は赤字にしています)
- 名前:作成する通知テンプレートの名称
- 説明:作成する通知テンプレートについての説明
- 組織:所属する組織
- タイプ:通知に使用する機能(ここでは、メールを選択します)
タイプに「メール」を指定することで、下記の設定項目が追加されます。
- ユーザー名:SMTPサーバーに接続するためのユーザー名
- パスワード:上記、ユーザー名に対応するパスワード
- ホスト:SMTPサーバーのホスト名
- 受信者リスト:通知を行うメールアドレス(1行に1つのアドレスを記述する)
- 送信者のメール:送信者とするメールアドレス
- ポート:SMTPサーバーに接続するためのポート番号
- タイムアウト:メール送信時のタイムアウト値(デフォルトの30秒とする)
- メールオプション:メール送信時のプロトコル(ここでは「TLSの使用」を選択)
通知テンプレートの作成は以上となります。
メールの送信確認
ここでは、作成した通知テンプレートから、正しくメールが送信出来るかの確認を行います。
再度、通知テンプレートの一覧画面に移動し、確認したい通知テンプレートの右側にあるベルマークをクリックします。
下記のように、「通知テンプレート名: Notification sent.」と表示されれば、メールの送信に成功しています。
下記のような文面で、メールが届いていれば、メールの受信も問題ありません。
環境によっては、ヘッダーやフッターなどが付与されている場合もあります。
件名:Tower Notification Test 1 https://towerhost
本文:Ansible Tower Test Notification 1
通知テンプレートが正しく動作することが確認出来たので、
次は、ジョブテンプレートに、通知テンプレートを紐づけていきます。
ジョブテンプレートへの組み込み
先程、作成した通知テンプレートをジョブテンプレートに組み込んでいきます。
まずは、ジョブの実行結果を通知したいジョブテンプレートの詳細画面を開き、「通知」タブをクリックします。
すると、以下のような画面が表示されるので、ジョブの開始、終了(成功・失敗)のスイッチをオンにします。
設定後は、ジョブテンプレートを起動します。
その後、AWXから送信されたメールを確認します。
(下記はジョブの開始時に送信されるメールです。)
件名:Job #146 ‘1000_Health_Check_For_Linux’ running: https://towerhost/#/jobs/playbook/146
本文:(ヘッダー、フッターは省略しています)
{ "id": 146, "name": "1000_Health_Check_For_Linux", "url": "https://awx.localhost", "created_by": "awx", "started": "2023-03-01T15:09:09.704961+00:00", "finished": null, "status": "running", "traceback": "", "inventory": "Syutaku Inventory", "project": "Syutaku Project", "playbook": "PB0001_Health_Check_For_Linux.yml", "credential": "syutaku", "limit": "STKPUB002", "extra_vars": "{}", "hosts": {} }
上記のようなメールが届いていれば、ジョブテンプレートへの通知テンプレートの組み込みは完了となります。
作業は以上です。これで実行時間が長いジョブなどを実行する場合でも、見張っておく必要が無くなりますね。本記事を参考に設定してみて下さい。
コメント