在创建通知策略的过程中,您可将告警通知推送至自定义的 Webhook 地址。告警管理模块支持向第三方通知对象发送 Webhook 类型告警,本文将以飞书为例,详细说明 Webhook 告警的配置与创建方法。
步骤一:创建Webhook联系人
登录【应用性能监控控制台】,在左侧导航栏选择告警管理 > 通知对象。
单击 Webhook集成页签,然后单击新建Webhook。
在新建Webhook对话框中输入以下配置信息。
参数 说明 Webhook名称 必填,自定义Webhook名称。 Post和Get 必填,设置请求方法。URL不可超过256个字符 Header和Param 非必填,设置请求头,不可超过200个字符。 单击+添加,可以添加其他Header信息或Param信息。默认请求头为Content-Type: text/plain; charset=UTF-8,Header和Param个数总数不能超过6个。 通知模板 告警触发时发送的通知模板,非必填,在Post方法下出现,可使用$content占位符输出通知内容,不可超过500个字符。
通知模板如下:
{"告警名称":"{{ .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个字符。
恢复模板如下:
{"告警名称":"{{ .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集成。具体操作,请参见【通知策略】。