在Grafana平台通过设置告警规则,您可以监控服务中的各项指标数据,并在告警事件发生时及时通知运维人员,帮助您及时发现并解决问题,避免服务发生中断。本文介绍如何在Grafana配置原生告警规则。
8.2.x及以下版本
步骤一:登录Grafana
- 登录可观测可视化 Grafana 版控制台,在左侧导航栏单击工作区管理。 
- 在工作区管理页面,单击目标工作区右侧的访问地址URL链接进入Grafana。 说明- 如果需要登录Grafana,可以使用Grafana的Admin账号和创建工作区时设置的密码登录Grafana,或单击Sign in with Alibaba Cloud直接使用当前购买工作区的阿里云账号登录Grafana。 
步骤二:创建告警通知渠道
 在左侧导航栏,单击 图标,选择Notification channels,然后单击New channel,创建告警通知渠道。
图标,选择Notification channels,然后单击New channel,创建告警通知渠道。
| 配置项 | 描述 | 
| Name | 自定义名称。 | 
| Type | 通知类型。例如DingDing、Webhook和Email等。 | 
| Addresses | 通知发送的目标服务地址,本示例中为钉钉机器人Webhook地址。如何获取钉钉机器人Webhook地址,请参见获取钉钉机器人Webhook地址。 | 
步骤三:创建告警规则
- 在左侧导航栏,选择  > Dashboard,然后单击Add an empty panel。 > Dashboard,然后单击Add an empty panel。
- 在Query页签,选择数据源并配置查询语句,然后在Alert页签,单击Create Alert,配置告警规则。  - 配置项 - 描述 - Rule - Name:告警规则名称。 - Evaluate Every:表示多久检查该告警一次。取值1m、2m、5m,表示每分钟、每两分钟、每五分钟检查一次是否已触发告警。 - For:表示当触发该告警条件后,连续触发多久时间才真正发送告警事件到对应的通知渠道。 - Conditions - 告警的触发条件。上图表示当Query中的A查询的平均值 - avg()超过600时,触发告警。- No data and error handling - 表示当无数据或查询超时,是否需要发送告警。 - Notifications - Send to:表示希望发送到哪个通知渠道,本示例中为步骤二:创建告警通知渠道中创建的钉钉通道。 
- Message:表示告警收到的信息内容。该内容支持的表达式,请参见Message templating。 
- Tags:标签,可自定义。 
 
(可选)步骤四:查看告警规则
在左侧导航栏,选择 > Alert Rules。在Alert Rules页签查看告警规则列表。
 > Alert Rules。在Alert Rules页签查看告警规则列表。
8.2.x以上版本
Grafana 9.0.x和Grafana 10.0.x交互略有差异,整体区别不大,本章节以Grafana 9.0.x为例进行讲解。您也可以参见步骤三:创建告警规则,在Panel页面创建告警规则。
步骤一:关闭集成的ARMS告警插件
- 登录可观测可视化 Grafana 版控制台,在左侧导航栏单击工作区管理。 
- 在工作区管理页面,单击目标工作区ID。 
- 在左侧导航栏,单击告警管理,关闭集成的ARMS告警插件,启用Grafana原生告警。 
步骤二:创建告警规则
- 在工作区管理页面,单击目标工作区右侧的访问地址URL链接进入Grafana。 说明- 如果需要登录Grafana,可以使用Grafana的Admin账号和创建工作区时设置的密码登录Grafana,或单击Sign in with Alibaba Cloud直接使用当前购买工作区的阿里云账号登录Grafana。 
- 在左侧导航栏,选择  > Alert rules,然后单击New alert rule或Create alert rule。 > Alert rules,然后单击New alert rule或Create alert rule。
- 在Create alert rule页面,配置告警规则,然后单击Save。  - 配置项 - 说明 - Set a query and alert condition - 设置查询条件和告警表达式。 - Query patterns:需要查询的语句。 
- Operation:告警表达式类型。Classic condition为经典表达式,兼容8.2.x以下版本创建的告警规则。 
- Conditions:告警的触发条件。上图表示当Query中的A查询的平均值 - avg()超过600时,触发告警。
 - Alert evaluation behavior - 配置告警执行周期和告警行为。 - Evaluate Every:表示多久检查该告警一次。取值1m、2m、5m,表示每分钟、每两分钟、每五分钟检查一次是否已触发告警。 
- For:表示当触发该告警条件后,连续触发多久时间才能真正发送告警事件到对应的通知渠道。 
- Configure no data and error handling:表示当无数据或查询超时时,是否需要发送告警。 
 - Add details for your alert - 设置告警详情。 - Rule Name:告警规则名称。 
- Folder:告警所属文件夹。 
- Group:告警所属分组。在同一分组内,会以相同的周期处理告警。 
- Summary and annotations:配置告警的内容、关联的大盘和文件夹等信息。 
 - Notifications - 设置Custom Labels:标签,可自定义,用于关联通知策略。 
- 在Alert rules页面,查看告警。 
步骤三:创建联络点
- 在左侧导航栏,选择  > Contact points。 > Contact points。
- 在Contact points页签,单击New contact Point或Add contact point。 
- 在New contact point页面,配置以下参数。 - 配置项 - 说明 - Name - 联络点名称。 - Contact point type - 通知类型。例如DingDing、Webhook和Email等。 - Addresses - 通知发送的目标服务地址。本示例中为钉钉机器人Webhook地址。如何获取钉钉机器人Webhook地址,请参见获取钉钉机器人Webhook地址。 
步骤四:创建通知策略
通过通知策略关联告警规则(Alert rule)和联络点(Contact point)。
- 在左侧导航栏,选择  > Notification policies。 > Notification policies。
- 在Notification policies页签,单击New nested policy或New specific policy。完成以下参数配置,您就可以通过Grafana原生告警收到告警信息。  - 配置项 - 说明 - Matching labels - 表示希望该通知策略通过标签关联哪些告警规则。 - Contact point - 表示希望该通知策略接收到的告警事件发送到哪个告警联络点中。 - 其他参数为告警分组和告警静默的一些配置。