建立通知策略時,您可以將警示通知發送到自訂的Webhook地址中。ARMS警示管理支援對第三方通知對象發送Webhook警示,本文以飛書為例,介紹如何建立Webhook警示。
步驟一:擷取Webhook地址
請在PC端配置飛書Webhook機器人。
開啟並登入飛書。
單擊+表徵圖,然後單擊建立群組,建立一個用於發送警示的群組。
單擊群組設定表徵圖,然後單擊群機器人頁簽。
在群機器人頁簽單擊添加機器人。
在添加機器人面板選擇Custom Bot。
在配置頁設定顯示名稱和描述,然後單擊添加。
在添加情況地區單擊複製,然後單擊完成。
步驟二:建立Webhook連絡人
- 登入ARMS控制台,在左側導覽列選擇 。
單擊 Webhook整合頁簽,然後單擊建立Webhook。
在建立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 }}" } }
可選:單擊發送測試,驗證配置是否成功。
單擊確定。
步驟三:設定通知策略
建立或編輯通知策略,選擇通知對象為通用Webhook,然後選擇對應的Webhook整合。具體操作,請參見通知策略。
Webhook警示的逾時時間為5秒,如果發出請求後5秒內沒有返回,即沒有收到警示資訊,則表示發送失敗。