集群告警
您可以根据需要设置监控指标的告警阈值,当指标超过阈值时,Manager 将通过邮件、聊天软件、Webhook 等方式发送告警通知,提醒您及时处理潜在问题。当您使用邮件作为告警方式时,您需要在 Manager 的配置文件中配置您的邮件服务器。
告警策略配置概述

告警配置包含以下部分:
| 页面部分名称 | 解释 |
|---|---|
| 告警名称 | 告警规则的名称,支持中英文和特殊符号。 |
| 策略类型 | 静态配置:直接使用 Manager 提供的告警指标配置告警。 自定义 PromQL:填写自定义 PromQL 语句。 |
| 告警等级 | 用来区分告警严重程度,分为紧急(Critical)、警告(Warn)和提示(Info)。 |
| 通知—最小告警间隔时间 | 同一个告警规则两次触发的最小间隔时间,最小值为 1 分钟。 |
| 通知—通知方式 | 支持站内信、企业微信群、飞书群、钉钉群、Webhook 和邮箱。其中,邮箱服务器信息需要提前在“服务配置”页面配置。 |
| 恢复通知 | 开启后,当告警不再触发时会收到“告警恢复”通知。 |
新建告警策略
使用内置的告警策略
集群初始化时,Manager 按照最佳实践内置了默认告警模版,您可以对默认的告警策略配置好通知方式之后直接使用。

新建静态配置的告警策略
静态配置触发条件可以选择手动添加,或者使用模板里面的触发条件进行配置:
-
手动添加触发条件

-
选择告警模板

配置好触发条件之后,可进行数据预览

使用静态配置时,需要您选择各个告警指标项之间的关系是“或”还是“且”,条件准备完毕之后可以点击“数据预览”(图中的②),可以预览到当前选择的多个条件拼接形成的 promQL 表达式,再次点击“预览”(图中的③),可以查看该表达式在 Prometheus 里面执行的结果图

接着配置告警等级、通知方式等信息,保存即可配置成功
新建自定义 PromQL 的告警策略
将准备好的 PormQL 语句填写并预览


接着配置告警等级、通知方式等信息,保存即可配置成功。
告警策略导入导出
在列表页可以查看现有告警策略,以及其告警历史情况。如果您有多个集群,可以给一个集群配置好告警策略之后,选中所需的告警策略,通过导出导入的方式,快捷应用到其他集群上。
导出告警策略


导入告警策略

选择要导入的文件


通知方式设置
邮箱
-
确认您已经在“服务配置”里面填写了邮件服务器的信息(一般情况下,独立发件地址和独立发件地址密码可不配置)

-
在告警规则配置界面填写要发送的邮件地址即可

企业微信
-
添加群机器人,按照提示完成机器人的名称填写即可

-
复制 Webhook 地址

飞书群
-
添加群机器人




钉钉群
添加钉钉机器人获取 webhook 的方式参见 自定义机器人接入



选择 “自定义”

进行安全配置,选择关键词,输入 “Alert” 和 “告警”,点击“完成”后可复制 Webhook。


WebHook
Webhook的方式表示用户可以自定义一个API,把API服务的完整URL提供给Manager,由Manager向API发送告警,用户的API中收到告警后,可以做任何其他处理。
普通配置

自定义参数
目前需要在输入框里面填写下面的JSON结构(结构是固定的)
{
"enabled": true,
"url": xxx(json string type),
"method": xxx(json string type),
"headers": xxx(json object type),
"bodyTemplate": xxx(json object type),
"retryCount": 3,
"retryIntervalSec": 3
}
其中自定义请求体填写在bodyTemplate字段里面,示例如下,bodyTemplate里面可以填写任意结构的json,其中需要用到告警字段的地方,按照下面的表格里面的模板填写就行(区分大小写)
| 变量名称 | 含义 | 使用方式 | 示例值 |
|---|---|---|---|
| alertID | 告警ID | 用户在自己定义的json请求中,需要使用到告警名称的地方,填写模板{{ .alertID }} | 1234 |
| alertName | 告警名称 | 用户在自己定义的json请求中,需要使用到告警名称的地方,填写模板{{.alertName }} | CPU使用率告警 |
| alertType | 告警类型(告警通知/告警恢复) | 用户在自己定义的json请求中,需要使用到告警名称的地方,填写模板{{.alertType }} | AlertTrigger/AlertRecovery |
| clusterName | 集群名称 | 用户在自己定义的json请求中,需要使用到集群名称的地方,填写模板{{.clusterName}} | testDoris |
| clusterUuid | 集群Uuid | 用户在自己定义的json请求中,需要使用到集群Uuid的地方,填写模板{{.clusterUuid}} | cluster-674046288248837 |
| startTime | 告警开始时间 | 用户在自己定义的json请求中,需要使用到告警时间的地方,填写模板{{.startTime}} | 2025-06-17T06:16:41.891+00:00 |
| level | 告警级别 | 用户在自己定义的json请求中,需要使用到告警级别的地方,填写模板{{.level}} | Info |
| alertDetail | 告警详情 | 用户在自己定义的json请求中,需要使用到告警级别的地方,填写模板{{.alertDetail}} | 172.20.17.107 IOException 出现次数 12 ;172.20.17.126 IOException 出现次数 12 或者 172.20.17.107 IOException count is 4 ;172.20.17.126 IOException count is 4 |
| condition | 告警触发条件 | 用户在自己定义的json请求中,需要使用到告警级别的地方,填写模板{{.condition }} | fe.warn.log 最近 3 分钟 IOException 出现超过 1 次 或者 fe.warn.log within 1 minute IOException appears more than 2 |
示例图片

示例json文本
{
"enabled": true,
"url": "https://webhook.site/xxx",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"bodyTemplate": {
"upside": "doris_manager",
"clusterInfo": {
"name": "{{ .clusterName }}",
"uuid": "{{ .clusterUuid}}"
},
"alertInfo": {
"name": "{{ .alertName }}",
"type": "{{.alertType}}",
"startTime": "{{ .startTime }}",
"detail": "{{ .alertDetail}}",
"condition": "{{.condition}}"
}
},
"retryCount": 3,
"retryIntervalSec": 3
}