本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
概述
本文档主题专为支持 Grafana 版本 10.x 的 Grafana 工作空间而设计。
有关支持 Grafana 9.x 版本的 Grafana 工作空间,请参阅。在 Grafana 版本 9 中工作
有关支持 Grafana 8.x 版本的 Grafana 工作空间,请参阅。在 Grafana 版本 8 中工作
无论您是刚起步还是更有经验的 Grafana Alerting 用户,都可以详细了解可帮助您创建、管理和响应警报的基础知识和可用功能;并提高团队快速解决问题的能力。
原则
在基于 Prometheus 的警报系统中,您有一个用于创建警报的警报生成器和一个接收警报的警报接收器。例如,Prometheus 是一个警报生成器,负责评估警报规则,而 Alertmanager 是警报接收器,负责分组、禁止、静音和发送有关触发警报和已解决警报的通知。
Grafana Alerting 建立在 Prometheus 警报系统的设计模型之上。它有一个内部警报生成器负责安排和评估警报规则,还有一个内部警报接收器负责分组、禁止、静音和发送通知。Grafana 不使用 Prometheus 作为其警报生成器,因为除了 Prometheus 之外,Grafana Alerting 还需要使用许多其他数据源。但是,它确实使用警报管理器作为其警报接收器。
警报被发送到警报接收器,在那里对警报进行路由、分组、禁止、静音和通知。在 Grafana Alerting 中,默认警报接收器是嵌入在 Grafana 中的警报管理器,被称为 Grafana 警报管理器。但是,您也可以使用其他警报管理器,这些警报管理器被称为外部警报管理器。
基础知识
以下内容概述了 Grafana 警报的不同部分。
警报规则
警报规则是一组用于确定何时触发警报的标准。它由一个或多个查询和表达式、一个需要满足的条件、一个确定警报规则评估频率的时间间隔以及触发警报必须满足条件的持续时间组成。
警报规则按其间隔进行评估,每个警报规则一次可以有零、一个或任意数量的警报触发。警报规则的状态取决于其警报次数最多severe
,可以是 “正常”、“待定” 或 “触发”。例如,如果警报规则中至少有一个警报正在触发,则该警报规则也会触发。警报规则的运行状况取决于其最新评估的状态。这些可以是 OK、Error 和 NoData。
警报规则的一个非常重要的特点是它们支持自定义注释和标签。它们允许您使用摘要和描述等其他元数据来检测警报,并添加其他标签以将警报路由到特定的通知策略。
提醒
警报由一组名为 “标签” 的键/值对进行唯一标识。每个键都是一个标签名称,每个值都是一个标签值。例如,一个警报可能带有标签,foo=bar
而另一个警报可能带有标签foo=baz
。一个警报可以有多个标签,例如,foo=bar,bar=baz
但不能有两个相同的标签,例如foo=bar,foo=baz
。两个警报也不能有相同的标签,如果两个警报具有相同的标签,例如foo=bar,bar=baz
和,foo=bar,bar=baz
则其中一个警报将被丢弃。当警报规则中的条件不再满足或警报规则被删除时,警报就会得到解决。
在 Grafana 托管警报中,警报可以处于 “正常”、“待处理”、“警报”、“无数据” 或 “错误” 状态。在数据源托管警报(例如 Mimir 和 Loki)中,警报可以处于 “正常”、“待处理” 和 “警报” 状态,但不能 NoData 处于 “错误” 状态。
联络点
联络点决定通知的发送地点。例如,你可能有一个联系人,负责向电子邮件地址、Slack、事件管理系统 (IRM)(例如 OnCall Grafana 或 Pagerduty)或 webhook 发送通知。
可以使用通知模板自定义联系人发送的通知。您可以使用通知模板来更改通知的标题、消息和结构。通知模板并不特定于单个集成或联系点。
通知政策
通知策略对警报进行分组,然后将其路由到联系点。它们决定何时发送通知,以及应多久重复一次通知。
使用标签匹配器将警报与通知策略进行匹配。这些是人类可读的表达式,它们断言警报的标签是否完全匹配、不完全匹配、是否包含或不包含某些预期的文本。例如,匹配器将警报与标签进行匹配,foo=bar
而foo=bar
匹配器foo=~[a-zA-Z]+
则将带有任何名为 foo 的标签的警报与正则表达式相匹配的值进行匹配。[a-zA-Z]+
默认情况下,一个警报只能匹配一个通知策略。但是,通过该continue
功能,可以同时发出与任意数量的通知策略相匹配的警报。有关通知策略的更多信息,请参阅通知策略。
静音和静音计时
静音和静音计时允许您暂停特定警报甚至整个通知策略的通知。使用静音可以临时暂停通知,例如在修复警报时;使用静音计时可以定期暂停通知,例如在定期安排的维护时段内。