すべてのプロダクト
Search
ドキュメントセンター

Managed Service for OpenTelemetry:Webhook を使用してカスタムアラート通知を送信する

最終更新日:Feb 18, 2025

通知ポリシーを作成するときに、アラート通知をカスタム Webhook URL に送信するように指定できます。Managed Service for OpenTelemetry は、Webhook アラートをサードパーティの通知エンドポイントに送信することをサポートしています。このトピックでは、Lark を例として使用して、Webhook を使用して通知を送信する方法を示します。

ステップ 1:Webhook URL を取得する

コンピューターに Lark チャットボットを設定します。

  1. Lark を開き、ログインします。

  2. [+] アイコンをクリックし、[新規グループ] を選択して、アラート送信用の新しいグループを作成します。

  3. グループ設定アイコンをクリックし、[BOT] タブをクリックします。

  4. [BOT] タブで、[ボットの追加] をクリックします。

    Lark add bot

  5. [ボットの追加] ダイアログボックスで、[カスタムボット] を選択します。

    Lark custom bot

  6. [BOT 名][説明] を設定し、[追加] をクリックします。Lark - Setting up a bot

  7. [コピー] をクリックし、次に [webhook URL] の横にある [保存] をクリックします。Lark-Webhook

ステップ 2:Webhook を作成する

  1. Managed Service for OpenTelemetry コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、[アラート管理] > [通知オブジェクト] を選択します。次に、[webhook 統合] タブで、[webhook を作成] をクリックします。

  3. [webhook を作成] パネルで、以下のパラメーターを構成します。

    パラメーター

    説明

    Webhook 名

    必須。Webhook の名前を入力します。

    Post または Get

    必須。リクエストメソッドを指定します。URL は 256 文字以内にする必要があります。

    この例では、[Post] を選択し、ステップ 1:Webhook URL を取得する で保存した Webhook URL を右側のテキストボックスに貼り付けます。

    ヘッダーまたはパラメーター

    オプション。リクエストヘッダーを指定します。リクエストヘッダーは 200 文字以内にすることができます。[+ 作成] をクリックして、ヘッダーまたはパラメーターを追加します。デフォルトのリクエストヘッダーは [Content-Type: text/plain; charset=UTF-8] です。ヘッダーとパラメーターの合計数は 6 を超えることはできません。

    この例では、次の 2 つのヘッダーを設定します。

    • Arms-Content-Type : json

    • Content-Type : application/json

    通知テンプレート

    オプション。アラートがトリガーされたときに送信するコンテンツを指定します。このパラメーターは、Post を選択した場合にのみ表示されます。$content プレースホルダーを使用して、通知コンテンツを指定できます。コンテンツは 500 文字以内にする必要があります。詳細については、「通知テンプレートと Webhook テンプレートを構成する」をご参照ください。

    次の形式で通知テンプレートを指定します。

    {
    "Alert name":"{{ .commonLabels.alertname }}{{if .commonLabels.clustername }}",
    "Cluster name":"{{ .commonLabels.clustername }} {{ end }}{{if eq "app" .commonLabels._aliyun_arms_involvedObject_kind }}",
    "Application name":"{{ .commonLabels._aliyun_arms_involvedObject_name }} {{ end }}",
    "Notification policy":"{{ .dispatchRuleName }}",
    "Alert time":"{{ .startTime }}",
    "Notification content":"{{ for .alerts }} {{ .annotations.message }} {{ end }}"
    }

    この例では、次のテンプレートが使用されます。

    {
      "msg_type": "text",
      "content": {
        "text": "Alert name: {{ .commonLabels.alertname }}\n{{if .commonLabels.clustername }}集群名称: {{ .commonLabels.clustername }}\n{{ end }}{{if eq "app" .commonLabels._aliyun_arms_involvedObject_kind }}Application name: {{ .commonLabels._aliyun_arms_involvedObject_name }}\n{{ end }}Notification policy: {{ .dispatchRuleName }} \nAlert time: {{ .startTime }} \nNotification content: {{ for .alerts }} {{ .annotations.message }}\n {{ end }}"
      }
    }

    アラートをクリアするためのテンプレート

    オプション。アラートが解決されたときに送信するコンテンツを指定します。このパラメーターは、Post を選択した場合にのみ表示されます。$content プレースホルダーを使用して、通知コンテンツを指定できます。コンテンツは 500 文字以内にする必要があります。詳細については、「通知テンプレートと Webhook テンプレートを構成する」をご参照ください。

    次の形式で通知コンテンツを指定します。

    {
    "Alert name":"{{ .commonLabels.alertname }}{{if .commonLabels.clustername }}",
    "Cluster name":"{{ .commonLabels.clustername }} {{ end }}{{if eq "app" .commonLabels._aliyun_arms_involvedObject_kind }}",
    "Application name":"{{ .commonLabels._aliyun_arms_involvedObject_name }} {{ end }}",
    "Notification policy":"{{ .dispatchRuleName }}",
    "Time when the alert was resolved":"{{ .endTime }}",
    "Notification content":"{{ for .alerts }} {{ .annotations.message }} {{ end }}"
    }

    この例では、次のテンプレートが使用されます。

    {
      "msg_type": "text",
      "content": {
        "text": "Alert name: {{ .commonLabels.alertname }}\n{{if .commonLabels.clustername }}Cluster name: {{ .commonLabels.clustername }}\n{{ end }}{{if eq "app" .commonLabels._aliyun_arms_involvedObject_kind }}Application name: {{ .commonLabels._aliyun_arms_involvedObject_name }}\n{{ end }}Time when the alert was resolved: {{ .startTime }} \nNotification policy: {{ .dispatchRuleName }} \nNotification content: {{ for .alerts }} {{ .annotations.message }}\n {{ end }}"
      }
    }
  4. [テスト送信] をクリックして、構成が有効かどうかを確認します。

  5. [OK] をクリックします。

ステップ 3:通知ポリシーを構成する

通知ポリシーを作成または変更するときに、[通知オブジェクト] パラメーターを [ユニバーサル Webhook] に設定し、目的の Webhook を選択します。

説明

Webhook を使用して送信されるアラート通知のタイムアウト期間は 5 秒です。通知の送信後 5 秒以内に Webhook が応答を受信しない場合、通知の送信は失敗します。