标签和注解
标签和注解使用键/值对为告警添加额外信息
标签
标签是告警实例的唯一标识符。您可以使用它们进行搜索、静默和路由通知。
标签的示例包括 server=server1
或 team=backend
。每个告警规则可以有多个标签,一个告警规则的完整标签集称为其标签集。正是这个标签集标识了告警。
例如,一个告警实例可能具有标签集 {alertname="High CPU usage",server="server1"}
,而另一个告警实例可能具有标签集 {alertname="High CPU usage",server="server2"}
。这是两个独立的告警实例,因为尽管它们的 alertname
标签相同,但 server
标签不同。

标签是告警的基本组成部分
- 告警的完整标签集是唯一标识告警实例的信息。
- 告警 UI 会显示在该规则评估期间生成的每个告警实例的标签。
- 通知策略和静默使用标签匹配告警实例,并将它们路由到联系点或停止其通知。
- 联系点可以在通知消息中包含标签信息。
标签类型
告警的标签集可以包含三种类型的标签
用户配置的标签
您在告警规则中手动配置的标签,用于标识生成的告警实例和管理告警。常见的自定义标签,取决于用例,包括:severity
、priority
、team
和 service
。
此外,您可以使用模板自定义标签值并从查询数据生成动态值。
查询标签
查询标签是数据源查询返回的标签。

查询标签可以从同一个告警规则生成多个告警实例,有助于区分来自不同数据的告警。在此示例中,instance
标签为每个服务器生成一个告警实例。
保留标签
保留标签由 Grafana 自动添加
alertname
:告警规则的名称。grafana_folder
:包含告警的文件夹标题。
以 grafana_
为前缀的标签由 Grafana 保留用于特殊用途。您可以通过unified_alerting.reserved_labels
选项禁用保留标签。
注意
两个告警规则不能产生具有相同标签的告警实例。如果两个告警规则具有相同的标签,例如
foo=bar,bar=baz
和foo=bar,bar=baz
,则其中一个生成的告警实例将被丢弃。确保告警的标签集没有两个或更多同名的标签。
- 如果配置的标签与数据源查询标签同名,它将替换数据源标签。
- 如果配置的标签与保留标签同名,它将被忽略。
Grafana 内置的 Alertmanager 支持 Unicode 标签键和值。如果您使用外部 Prometheus Alertmanager,标签键必须与其数据模型兼容。这意味着标签键只能包含 ASCII 字母、数字 和 下划线。标签键还必须匹配正则表达式 [a-zA-Z_][a-zA-Z0-9_]*
。在发送到外部 Alertmanager 之前,任何无效字符将根据以下规则由 Grafana 告警引擎移除或替换
- 移除空格。
- ASCII 字符替换为
_
。 - 所有其他字符替换为其小写十六进制表示。如果这是第一个字符,则会加上
_
前缀。
示例:标签键/值对 Alert! 🔔="🔥"
将变为 Alert_0x1f514="🔥"
。
如果多个标签键被清理为相同的值,则重复的标签键会在末尾附加原始标签的短哈希值作为后缀。
注解
注解为告警实例添加额外信息,帮助响应者识别和解决潜在问题。
创建清晰且自解释的注解,以便第一响应者可以在不需要深入了解告警设置的情况下进行调查。
注解在 Grafana 中显示,并默认包含在通知中。Grafana 提供了几个您可以编辑的可选注解
summary
:告警检测到什么以及原因的简短摘要。description
:关于发生的事情和告警作用的详细描述。runbook_url
:指导操作员管理潜在事件的运行手册页面。__dashboardUid__
和__panelId__
:将告警链接到仪表盘和面板,以便于告警调查。
例如,您可以编辑注解 summary
来解释为什么会触发告警
CPU usage has exceeded 80% for the last 5 minutes.
并编辑 description
注解以提供更多上下文以及如何响应
The web server's CPU has exceeded 80% for more than 5 minutes.
This indicates that the system is under heavy load and may result in an outage.
Consider scaling the server's resources and investigating bottlenecks.
与标签类似,注解可以使用模板包含来自查询的动态数据。