全部產品
Search
文件中心

Application Real-Time Monitoring Service:通過Webhook自訂警示通知對象

更新時間:Jul 06, 2024

建立通知策略時,您可以將警示通知發送到自訂的Webhook地址中。ARMS警示管理支援對第三方通知對象發送Webhook警示,本文以飛書為例,介紹如何建立Webhook警示。

步驟一:擷取Webhook地址

請在PC端配置飛書Webhook機器人。

  1. 開啟並登入飛書。

  2. 單擊+表徵圖,然後單擊建立群組,建立一個用於發送警示的群組。

  3. 單擊群組設定表徵圖,然後單擊群機器人頁簽。

  4. 群機器人頁簽單擊添加機器人

    飛書添加機器人

  5. 添加機器人面板選擇Custom Bot

    飛書-自訂機器人

  6. 在配置頁設定顯示名稱描述,然後單擊添加

    飛書-設定機器人

  7. 添加情況地區單擊複製,然後單擊完成

    飛書-Webhook

步驟二:建立Webhook連絡人

  1. 登入ARMS控制台,在左側導覽列選擇警示管理 > 通知對象
  2. 單擊 Webhook整合頁簽,然後單擊建立Webhook

  3. 建立Webhook對話方塊中輸入以下配置資訊。

    參數

    說明

    Webhook名稱

    必填,自訂Webhook名稱。

    Post和Get

    必填,佈建要求方法。URL不可超過256個字元。

    此例中選擇Post,並將步驟一:擷取Webhook地址中儲存的Webhook地址粘貼至右側文字框。

    Header和Param

    非必填,佈建要求頭,不可超過200個字元。 單擊+添加,可以添加其他Header資訊或Param資訊。預設要求標頭為Content-Type: text/plain; charset=UTF-8,Header和Param個數總數不能超過6個。

    此例中設定以下兩個Header

    • Arms-Content-Type : json

    • Content-Type : application/json

    通知模板

    警示觸發時發送的通知模板,非必填,在Post方法下出現,可使用$content預留位置輸出通知內容,不可超過500個字元。更多資訊,請參見配置通知模板和Webhook模板

    通知模板如下:

    {
    "警示名稱":"{{ .commonLabels.alertname }}{{if .commonLabels.clustername }}",
    "叢集名稱":"{{ .commonLabels.clustername }} {{ end }}{{if eq "app" .commonLabels._aliyun_arms_involvedObject_kind }}",
    "應用程式名稱":"{{ .commonLabels._aliyun_arms_involvedObject_name }} {{ end }}",
    "通知策略":"{{ .dispatchRuleName }}",
    "警示時間":"{{ .startTime }}",
    "警示內容":"{{ for .alerts }} {{ .annotations.message }} {{ end }}"
    }

    此處以飛書為例可以設定如下文字格式設定:

    {
      "msg_type": "text",
      "content": {
        "text": "警示名稱: {{ .commonLabels.alertname }}\n{{if .commonLabels.clustername }}叢集名稱: {{ .commonLabels.clustername }}\n{{ end }}{{if eq "app" .commonLabels._aliyun_arms_involvedObject_kind }}應用程式名稱: {{ .commonLabels._aliyun_arms_involvedObject_name }}\n{{ end }}通知策略: {{ .dispatchRuleName }} \n警示時間: {{ .startTime }} \n警示內容: {{ for .alerts }} {{ .annotations.message }}\n {{ end }}"
      }
    }

    恢複模板

    警示恢複時發送的通知模板,非必填,在Post方法下出現,可使用$content預留位置輸出通知內容,不可超過500個字元。更多資訊,請參見配置通知模板和Webhook模板

    恢複模板如下:

    {
    "警示名稱":"{{ .commonLabels.alertname }}{{if .commonLabels.clustername }}",
    "叢集名稱":"{{ .commonLabels.clustername }} {{ end }}{{if eq "app" .commonLabels._aliyun_arms_involvedObject_kind }}",
    "應用程式名稱":"{{ .commonLabels._aliyun_arms_involvedObject_name }} {{ end }}",
    "通知策略":"{{ .dispatchRuleName }}",
    "恢復":"{{ .endTime }}",
    "警示內容":"{{ for .alerts }} {{ .annotations.message }} {{ end }}"
    }

    此處以飛書為例可以設定如下文字格式設定:

    {
      "msg_type": "text",
      "content": {
        "text": "警示名稱: {{ .commonLabels.alertname }}\n{{if .commonLabels.clustername }}叢集名稱: {{ .commonLabels.clustername }}\n{{ end }}{{if eq "app" .commonLabels._aliyun_arms_involvedObject_kind }}應用程式名稱: {{ .commonLabels._aliyun_arms_involvedObject_name }}\n{{ end }}恢復: {{ .startTime }} \n通知策略: {{ .dispatchRuleName }} \n恢複警示內容: {{ for .alerts }} {{ .annotations.message }}\n {{ end }}"
      }
    }
  4. 可選:單擊發送測試,驗證配置是否成功。

  5. 單擊確定

步驟三:設定通知策略

建立或編輯通知策略,選擇通知對象通用Webhook,然後選擇對應的Webhook整合。具體操作,請參見通知策略

說明

Webhook警示的逾時時間為5秒,如果發出請求後5秒內沒有返回,即沒有收到警示資訊,則表示發送失敗。