【免费下载】 Grafana OnCall 外发 Webhook 配置与使用指南

Grafana OnCall 外发 Webhook 配置与使用指南

【免费下载链接】oncall grafana/oncall: Grafana OnCall 是 Grafana Labs 推出的一款开源事件响应与排班调度工具,可以帮助团队管理和跟踪故障处理情况,提高 SRE 团队的工作效率。 【免费下载链接】oncall 项目地址: https://gitcode.com/gh_mirrors/onc/oncall

前言

在现代运维体系中,告警通知的自动化处理是提高运维效率的关键。Grafana OnCall 作为一款专业的告警管理工具,其外发 Webhook 功能能够将告警信息灵活地推送到各类系统,实现告警信息的自动化流转和处理。本文将详细介绍 Grafana OnCall 中外发 Webhook 的配置方法、使用场景以及高级技巧。

外发 Webhook 概述

外发 Webhook 是 Grafana OnCall 向外部系统发送数据的机制,它支持通过 HTTP 请求将告警信息推送到指定 URL。该功能具有以下特点:

  1. 事件驱动:可根据不同类型的事件触发
  2. 高度可定制:支持 Jinja2 模板引擎处理数据
  3. 灵活集成:可与各类第三方系统对接

版本兼容性说明

对于 v1.3.11 之前版本创建的 Webhook,系统会标记为 (Legacy)。这些 Webhook 仍能正常工作,但无法直接编辑。如需修改,需使用"Make a copy"功能创建新 Webhook 并更新相关配置。

Webhook 创建步骤

  1. 导航至 Outgoing Webhooks 页面
  2. 点击 + Create 按钮
  3. 选择预设模板或创建自定义 Webhook
  4. 配置各项参数(详见下文)
  5. 保存配置

核心配置参数详解

基础配置

参数名说明必填支持模板默认值
名称Webhook 显示名称
启用状态控制 Webhook 是否生效True
所属团队设置 Webhook 的可见范围

触发条件

参数名说明必填支持模板默认值
触发类型决定哪些事件会触发 Webhook
集成限制限制仅特定集成的事件触发

请求配置

参数名说明必填支持模板默认值
HTTP 方法请求使用的 HTTP 方法POST
Webhook URL目标 URL(需完整域名)
请求头自定义请求头
认证信息基础认证或授权头部分

数据配置

参数名说明必填支持模板默认值
触发模板动态判断是否执行 Webhook
数据体请求主体内容
转发全部发送完整 Webhook 负载False

事件类型详解

Grafana OnCall 支持多种触发事件类型:

  1. 手动或升级步骤:作为升级链中的一步触发
  2. 个人通知:用户收到通知时触发
  3. 告警组创建:新告警组产生时触发
  4. 已确认:告警被确认时触发
  5. 已解决:告警被解决时触发
  6. 静默/取消静默:告警静默状态变化时触发
  7. 未解决/未确认:告警状态回退时触发
  8. 状态变更:任何状态变化时触发

模板引擎使用指南

Grafana OnCall 使用 Jinja2 模板引擎处理数据,支持在多个字段中使用模板变量。模板可访问的数据结构包括:

核心数据结构

{
  "event": {},       // 事件信息
  "user": {},        // 用户信息
  "alert_group": {}, // 告警组详情
  "alert_payload": {}, // 告警内容
  "integration": {}, // 集成信息
  "responses": {}    // 其他 Webhook 响应
}

常用模板示例

  1. 基础告警信息提取
{
  "alert_name": "{{ alert_payload.labels.alertname }}",
  "description": "{{ alert_payload.annotations.description }}"
}
  1. 条件判断
{% if alert_group.state == 'resolved' %}
  "status": "已解决"
{% else %}
  "status": "待处理"
{% endif %}
  1. 循环处理
"notified_users": [
  {% for user in notified_users %}
    "{{ user.email }}"{% if not loop.last %},{% endif %}
  {% endfor %}
]

高级应用技巧

响应数据复用

通过 responses 对象可以访问同一告警组中其他 Webhook 的响应数据,实现工作流串联:

"ticket_id": "{{ responses['WHP936BM1GPVHQ'].content.ticket_id }}"

UID 获取方法

各类对象的 UID 可通过以下方式获取:

  • Webhook:表格中的信息图标
  • 集成:集成名称旁的信息图标
  • 路由:集成详情页中的信息图标
  • 告警组:浏览器地址栏中的 URL
  • 用户:用户详情页 URL

最佳实践建议

  1. 超时控制:确保目标系统在4秒内响应,避免超时
  2. 错误处理:在模板中添加默认值处理,如 {{ value|default('N/A') }}
  3. 日志检查:定期查看 Webhook 执行记录,监控成功率
  4. 版本管理:对重要 Webhook 配置进行版本备份

常见问题解答

Q: Webhook 执行失败怎么办? A: 检查"Last Run"中的响应信息,确认目标 URL 可达且返回正确格式

Q: 如何测试 Webhook? A: 可通过创建测试告警或使用集成中的"Send Demo Alert"功能

Q: 模板语法错误如何排查? A: 系统会标记模板错误位置,建议先在简单字段测试复杂模板

通过本文介绍,您应该已经掌握了 Grafana OnCall 外发 Webhook 的核心配置方法和使用技巧。合理利用这一功能,可以大幅提升告警处理的自动化程度和响应效率。

【免费下载链接】oncall grafana/oncall: Grafana OnCall 是 Grafana Labs 推出的一款开源事件响应与排班调度工具,可以帮助团队管理和跟踪故障处理情况,提高 SRE 团队的工作效率。 【免费下载链接】oncall 项目地址: https://gitcode.com/gh_mirrors/onc/oncall

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值