Grafana OnCall 的 Grafana 警报集成
注意
⚠️ 旧版 集成 ⚠️ 在版本 1.3.21 之前创建的集成被标记为 (旧版) 并最近已迁移。这些集成正在接收和升级警报,但可能需要进行一些手动调整。
可以使用两种方法设置 Grafana OnCall 的 Grafana 警报
- Grafana OnCall 连接到与用于管理 Grafana OnCall 的同一 Grafana 实例。
- Grafana OnCall 连接到一个或多个 Grafana 实例,这些实例与用于管理 Grafana OnCall 的实例不同。
在同一个 Grafana 实例中配置 Grafana 警报
如果您将 Grafana OnCall 与来自同一 Grafana 实例的警报连接,请使用以下方法。
在Grafana OnCall中,导航到集成选项卡,并选择新建集成以接收警报。
在Grafana警报面板中点击快速连接。这将打开一个新的新建Grafana警报集成配置窗口。
在打开的窗口中,为集成输入名称和描述,并选择现有或创建新的联系点。此联系点将向创建的集成发送警报。
注意:您必须将联系点与Grafana警报中的通知策略连接,才能在Grafana OnCall中接收警报。有关更多信息,请参阅Grafana警报中的联系点
通过选择现有的一项或创建新的,确定新集成的事态升级链。
在Grafana Cloud警报中,导航到警报 > 联系点,找到名称与在Grafana OnCall中创建的集成匹配的联系点。
点击编辑(铅笔)图标,然后点击测试。这将向Grafana OnCall发送测试警报。
配置来自其他Grafana实例的外部Grafana警报
将Grafana OnCall与来自不同于Grafana OnCall管理实例的Grafana实例的警报连接
在Grafana OnCall中,导航到集成选项卡,并选择新建集成以接收警报。
选择Alertmanager面板。
为集成输入名称和描述,然后点击创建
将打开一个新页面,显示集成详细信息。从HTTP端点部分复制OnCall集成URL。
转到其他Grafana实例以连接到Grafana OnCall,并导航到警报 > 联系点。
选择新建联系点。
选择联系点类型
webhook
,然后将步骤3中生成的URL粘贴到URL字段。注意:您必须将联系点与Grafana警报中的通知策略连接,才能在Grafana OnCall中接收警报。有关更多信息,请参阅Grafana警报中的联系点
点击编辑(铅笔)图标,然后点击测试。这将向Grafana OnCall发送测试警报。
关于分组和自动解决说明
Grafana OnCall依赖于Grafana警报的分组和自动解决机制,以确保OnCall和AlertManager中警报状态的一致性。建议在Grafana警报侧配置分组,并在OnCall侧使用默认的分组和自动解决模板。更改这些模板可能导致分组和自动解决行为不正确。
关于旧集成说明
在之前,我们将Grafana警报组中的每个警报作为单独的有效负载使用
{
"labels": {
"severity": "critical",
"alertname": "InstanceDown"
},
"annotations": {
"title": "Instance localhost:8081 down",
"description": "Node has been down for more than 1 minute"
},
...
}
这种行为导致OnCall和Grafana警报之间警报状态不匹配,以及速率限制的耗尽,因为每个Grafana警报都单独计数。
我们决定将此行为更改为通过使用AlertManager组作为单个有效负载来尊重Grafana警报的分组。
{
"alerts": [...],
"groupLabels": {
"alertname": "InstanceDown"
},
"commonLabels": {
"job": "node",
"alertname": "InstanceDown"
},
"commonAnnotations": {
"description": "Node has been down for more than 1 minute"
},
"groupKey": "{}:{alertname=\"InstanceDown\"}",
...
}
您可以在这里阅读更多关于AlertManager数据模型的信息。
迁移后检查清单
集成URL将保持不变,因此无需更改AlertManager或Grafana警报配置。集成模板将重置以适应新的有效负载。需要手动调整路由和出站webhook以适应新的有效负载。