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

Managed Service for Prometheus:Webhook ベースの連絡先

最終更新日:Jan 14, 2025

通知ポリシーを作成する際に、アラート通知をカスタム Webhook URL に送信するように指定できます。Alibaba Cloud Managed Service for Prometheus では、特定のインスタントメッセージングアプリの連絡先にアラート通知を送信できます。このトピックでは、Webhook を使用して Lark に通知を送信する方法について説明します。

手順 1: Webhook URL を取得する

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

  2. + アイコンをクリックし、グループを追加をクリックして、アラート通知を受信するために使用する Lark グループを作成します。

  3. Lark グループの右側にある設定アイコンをクリックし、BOT タブをクリックします。

  4. BOT タブで、BOT を追加をクリックします。

    飞书添加机器人

  5. BOT を追加ダイアログボックスで、カスタム BOT セクションの追加をクリックします。

    飞书-自定义机器人

  6. BOT 名 パラメーターと 説明 パラメーターを設定し、追加をクリックします。

    飞书-设置机器人

  7. コピーWebhook URL保存

    飞书-Webhook

手順 2: Webhook を作成する

  1. Managed Service for Prometheus コンソール にログオンします。左側のナビゲーションペインで、アラート管理 > 通知オブジェクト を選択します。

  2. 連絡先グループの編集ダイアログボックスで、Webhook タブをクリックし、Webhook を作成をクリックします。Webhook を作成ダイアログボックスで、パラメーターを設定します。次の表にパラメーターを示します。

    パラメーター

    説明

    Webhook 名

    Webhook の名前を入力します。

    リクエストメソッド

    リクエストメソッドを指定し、HTTP または HTTPS URL を入力します。リクエストメソッドは POST または GET に設定でき、URL は 100 文字を超えることはできません。

    この例では、Post を選択し、手順 1: Webhook URL を取得する で保存した Webhook URL をフィールドに貼り付けます。

    ヘッダーとパラメーター

    リクエストヘッダーとパラメーターを指定します。最大 200 文字までサポートされています。

    追加をクリックして、ヘッダーまたはパラメーターを追加します。デフォルトのリクエストヘッダーは Content-Type: text/plain; charset=UTF-8 です。ヘッダーとパラメーターの合計数は 6 を超えることはできません。

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

    • 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 }}Cluster Name: {{ .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 Triggered At: {{ .startTime }} \nAlert Message: {{ for .alerts }} {{ .annotations.message }}\n {{ end }}"
      }
    }

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

    アラートが解決されたときに送信するコンテンツを指定します。$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 is resolved":"{{ .endTime }}",
    "Alert 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 }}Alert Cleared At: {{ .startTime }} \nNotification Policy: {{ .dispatchRuleName }} \nAlert Message: {{ for .alerts }} {{ .annotations.message }}\n {{ end }}"
      }
    }
  3. オプション: テストをクリックして、設定が有効かどうかを確認します。

  4. OK をクリックします。

手順 3: 通知ポリシーを設定する

通知ポリシーを作成または変更する際に、通知オブジェクト パラメーターを ユニバーサル Webhook に設定し、Webhook を選択できます。詳細については、通知ポリシーを作成および管理する を参照してください。

説明

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