Workflow Automation を始める

概要

Workflow Automation を使用すると、Datadog のアラートやセキュリティシグナルに対応してエンドツーエンドのプロセスを自動化することができます。Workflow Automation は、リアルタイムの観測可能性データによって駆動されるため、問題を迅速に解決し、システムの可用性とセキュリティをプロアクティブに維持することができます。

このガイドに従って、モニターアラートによってトリガーされるカスタムワークフローを作成します。トリガーされると、ワークフローは Jira でタスクを作成し、Jira チケットへのリンクを含む通知を Slack に送信します。このガイドでは、ワークフローのあるステップから別のステップへのデータの渡し方、ワークフローの保存と公開、ワークフローの実行履歴の表示について説明します。

前提条件

始める前に、Datadog アカウントに Jira と Slack のインテグレーションをインストールする必要があります。インストール手順については、SlackJira インテグレーションのドキュメントを参照してください。

Jira と Slack のインテグレーションタイルでセットアップしたアカウント資格情報と認証は、Workflow Automation の Jira と Slack のアクションに自動的に反映されます。インテグレーションによっては、認証のための追加構成が必要です。詳細については、接続 を参照してください。

ワークフローの構築

モニタートリガーによるワークフローの作成

ワークフローのトリガーは、モニターやセキュリティシグナルなどのアラート、 スケジュール、または手動で行うことができます。この場合、モニタートリガーによるワークフローを作成します。

ワークフローを作成します。

  1. Workflow Automation ページから、New Workflow をクリックします。
  2. ワークフローの名前と説明を入力します。ワークフローの例では、以下の名前と説明を使用しています。
    名前: Create a Jira Ticket
    説明: Create a Jira issue and Slack notification when there is a monitor alert

モニターを追加して構成します。

  1. ワークフローキャンバスで、Add Trigger をクリックし、Monitor, Incident, or Security Signal を選択します。
  2. Configure タブの @workflow- の横に、ワークフローの一意の ID Create-Jira-Ticket を入力します。
    ワークフローハンドルは常に @workflow- で始まります。後で、このハンドルを使用して、ワークフローをモニター通知に接続します。
  3. Save をクリックして、ワークフローを保存します。
ワークフローのトリガー

Jira と Slack のアクションを追加する

Jira ステップを追加して構成します。

  1. ワークフローキャンバスで、+ アイコンをクリックします。

  2. Jira アクションを検索し、Create issue を選択します。

  3. ワークフローキャンバスで、Create issue ステップをクリックします。

  4. Configure タブで、Jira Account を選択します。アカウントは、Jira インテグレーションタイルの Accounts セクションにある Jira URL に対応している必要があります。

  5. ワークフローが作成する Jira 課題の ProjectIssue type を入力します。

  6. ワークフローのトリガーとなるモニターからのデータを渡すためにコンテキスト変数を使用して、Jira 課題の SummaryDescription を入力します。二重中括弧 ({{) で囲むことで、ステップ内のコンテキスト変数にアクセスできます。

    以下の記述例では、ソース、トリガー、ワークフロー変数を使用して、以下を伝達します。

    • モニターアラートのトリガーとなったソース
    • 影響を受けたモニターへのリンク
    • ワークフロー名、ワークフロー ID
    The CPU usage is above the 95% threshold for {{ Trigger.hostname }}
    
    Please investigate - see this Datadog Dashboard to view all workflow executions:
    https://app.datadoghq.com/dash/integration/workflow_automation?refresh_mode=sliding&from_ts=1698164453793&to_ts=1698168053793&live=true.
    
    The workflow that created this Jira issue is
    {{ WorkflowName }} : {{ WorkflowId }}
    
    The monitor that triggered the workflow can be found here: {{ Source.url }}
    

    コンテキスト変数の詳細については、**コンテキスト変数**を参照してください。

  7. Jira アクションをテストするには、Configure タブの Test をクリックします。アクションをテストすると、実際の Jira チケットが作成されます。

  8. Save をクリックして、ワークフローを保存します。

次に、Slack のステップを追加します。

  1. ワークフローキャンバスのプラスアイコンをクリックして、別のステップを追加します。

  2. Slack を検索し、Send message を選択します。

  3. Slack Workspace name を入力します。

  4. Slack Channel name を入力します。

  5. より便利な Slack 通知を行うには、ステップ出力変数を使用します。ステップ出力変数を使用すると、ワークフローの Jira ステップから Slack ステップにデータを渡すことができます。次のメッセージテキストを使用して、Slack メッセージに Jira 課題キー、モニター名、Jira 課題を含めます。

    The monitor named {{ Source.monitor.name }} triggered and created a new Jira issue
    {{ Steps.Create_issue.issueKey }}: {{ Steps.Create_issue.issueUrl }}
    
    The workflow that created this Jira issue is {{ WorkflowName }}
    
  6. アクションをテストするには、Configure タブの Test をクリックします。アクションをテストすると、実際の Slack メッセージが作成されます。

  7. モニターの通知ドロップダウンにワークフローの名前を表示するには、ワークフローを保存して公開します。ワークフローのページから Publish をクリックします。

ワークフローのテストと公開

アクティブな Slack と Jira のアカウントに接続されたワークフローをテストすると、実際の Slack メッセージと Jira チケットが作成されます。

Save をクリックし、ワークフローに変更を適用します。次に、手動でワークフローをトリガーしてテストします。

ワークフローを手動でトリガーするには、ワークフローページから Run をクリックし、トリガー変数の値を入力します。

ワークフローの手動トリガー

ワークフローを実行すると、Jira チケットが作成され、Slack メッセージが送信されることを確認します。

スケジュールおよびトリガーによるワークフローは、公開するまで自動的にトリガーされません。ワークフローを公開するには、ワークフローのページから Publish をクリックします。

ワークフローをトリガーするモニターの更新

  1. Datadog の Monitors ページに移動します。
  2. ワークフローのトリガーに使用するモニターを検索して編集するか、新しいモニターを作成します。
  3. メッセージセクションで、アラート通知にワークフローの完全なメンション名を追加します。メンション名は @workflow- で始まります。例えば、@workflow-Create-Jira-Ticket です。
    • ワークフローにトリガー変数を渡すには、@workflow-name(key=value, key=value) という構文のカンマ区切りリストを使用します。例えば、@workflow-Create-Jira-Ticket(hostname={{host.name}}) のようになります。
  4. ワークフローとこのモニターのすべての通知をテストするには、Test Notifications をクリックします。
  5. モニターを保存。
モニターからワークフローをトリガー

モニターのしきい値に達するたびに、モニターはワークフローの実行をトリガーします。

実行履歴

ワークフローをトリガーした後、Run History ビューで進捗状況を確認したり、失敗したステッ プをデバッグすることができます。実行されたステップを選択すると、入力、出力、実行コンテキスト、エラーメッセージを確認できます。以下の例は、無効な Jira 構成のために失敗したステップを示しています。

ワークフローを編集するには、Configuration をクリックします。実行履歴ビューに戻るには、Run History をクリックします。

以前のワークフロー実行のリストや、各実行の成功・失敗を確認するには、初期の実行履歴ビューを使用します。ワークフローキャンバスをクリックすることで、いつでも初期の実行履歴に戻ることができます。

考察

モニターがワークフローをトリガーすると、エンジニアリングチームがレビューできるように Jira 課題が作成されます。以下に Jira 課題の例を示します。

ワークフローから生成される Jira チケット

ワークフローは、Jira 課題とモニターアラートをチームに通知する Slack メッセージも作成します。以下は Slack の通知例です。

ワークフローから生成される Slack メッセージ

次のステップ

  • アクションカタログで、利用可能なすべてのワークフローアクションのリストを確認する。
  • すぐに使えるブループリントからワークフローを構築する。
  • HTTP アクションを使用して、任意のエンドポイントにリクエストを行う。
  • データ変換アクションを実装して、ワークフローを流れる情報に対して必要な処理を実行する。

その他の参考資料