Jobの編集
この演習では、Jobの編集方法を学びます。
-
RBAにログインし、Projectを開きます。画面左のJOBSアイコンをクリックします。
-
先ほど保存したJobにカーソルを合わせ、ActionsドロップダウンメニューからDuplicate This Jobをクリックします。
(既存のJobが無い場合は、+ New jobボタンをクリックしてください。) -
Job NameとDescription(任意)を編集し、Workflowタブをクリックします。
Options#
Optionsでは、ワークフロー内で利用できる変数を定義することができます。Optionsを使用することで、Jobの実行時に動的にパラメータを設定できます。これにより、同じJobを異なる状況や要件に合わせて柔軟に実行することが可能になります。
参考: Job Options
-
Optionsの項目で +Add an option ボタンをクリックします。
-
Option Nameに
date
, Description(任意), Input TypeにDate
Date FormatにYYYY-MM-DD
を設定し、Saveをクリック -
もう1つOptionを作成します。+Add an option ボタンをクリックしてください。
-
Option Nameに
message
, Description(任意), Input TypeにPlain Text
, Default ValueにHello World
を設定し、Saveをクリック -
dateとmessageの2つのOptionが設定できました
Job Step#
PagerDuty Runbook Automationでは、ジョブは1つ以上のステップで構成されます。各ステップは特定のタスクや操作を実行するための指示を定義します。ステップを組み合わせることで、複雑な自動化ワークフローを構築できます。
-
既存のCommandステップを編集します。Commandステップをクリックしてください。
(既存のステップが無い場合は、+Add a stepをクリックし、Commandステップを追加します) -
Commandに
echo ${option.date} ${option.message}
を、Descriptionにステップの説明を記入し、Saveをクリック -
次は新たにステップを追加します。Commandステップの下に表示されている +Add a stepボタンをクリックしてください。
-
Add a Step画面でScriptステップをクリックします。
NodeステップとWorkflowステップ
Jobステップには、NodeステップとWorkflowステップの2種類があります。
Nodeステップは、Node(操作対象のサーバーやデバイス)上で実行されるコマンド等を定義します。対象のNodeが複数あれば、各Nodeでそれぞれ実行されます。RBAでNodeステップを利用する場合は、RBA以外に実行環境(NodeまたはRunner)を用意する必要があります。
一方、Workflowステップは、Jobの中で論理的な制御フローや条件分岐・外部APIの操作など、Nodeの数に関わらず1回だけ実行される処理を定義します。Workflowステップについては、NodeやRunnerがなくてもRBA単体で実行可能です。
- Scriptステップを編集します。ここではPythonを例に説明します。Scriptは以下のように設定します:
その他の項目は実行環境に合わせて設定してください。
print(f"option.dateの値: @option.date@") print(f"option.messageの値: @option.message@")
Scriptステップのトラブルシューティング
上記の設定を行うと、実行環境では python3 /tmp/dispatch-script-tmp.py -O
のようなコマンドが実行されます。dispatch-script-tmp.py はScriptの内容が記述された一時ファイルで、実行後に削除されます。
エラーになる、出力が文字化けする等の多くのケースは実行環境(Node/Runner)に問題があるため、最初にサンプルスクリプトをNode/Runner上で直接実行して正常に動作することを確認した後に、RBAから実行してみることをおすすめします。
NodeとRunnerの指定#
最後にNodeステップを実行する環境を指定します。
-
Nodes & Runners タブを開き、Runner Set欄をクリックします。
-
Runner Setプルダウンメニューが開いたら、Choose Tagsをクリックします。
-
WORKSHOPにチェックを入れます。これでRunnerが指定できました。
-
次はNodeを指定します。Dispatchでは
Dispatch to Nodes through Runner
にチェックを入れ、Node Filterに.*example.com
と入力します。Matched Nodes欄に mars.example.com と venus.example.com が表示されていれば完了です。
Runner上でJobを実行するには
Dispatchの箇所でRun on Runner
にチェックを入れると、Runner上でJobを実行できます。
- 最後に Create Job または Save ボタンをクリックして、Jobの設定を保存してください。
次はJobの実行方法とトラブルシューティングについて学びます。