告警处理#
告警处理 Pipeline 允许您在告警数据进入Oncallbox的第一时间(集成层),对其进行清洗、转换和过滤。它就像一个数据加工厂,确保流入协作空间的告警是规范、清晰且有价值的。工作原理#
Pipeline 位于 告警接入 和 路由分发 之间。 它的执行逻辑如下:1.
链式处理:您可以配置多个处理规则,系统按照从上到下的顺序依次执行
2.
输入输出:上一个规则处理后的结果(如修改了标题),可以作为下一个规则的输入
3.
层级定位:Pipeline 作用于集成层。这意味着规则一旦生效,所有通过该集成接入的告警都会受影响,无论它最终被路由到哪个协作空间
配置入口#
进入集成=>告警集成=> 选择已创建的我的集成 => 告警处理页签。核心功能与场景#
信息重写#
通过模板语法,将晦涩难懂的机器语言转换为人类可读的业务语言。重写标题#
| 项目 | 内容 |
|---|
| 原标题 | [Problem] CPU Load High on i-12345678 |
| 新标题模板 | [TPL]{{.Labels.env}}环境 - {{.Labels.service}}服务 CPU 负载告警 |
| 效果 | 生产环境 - 订单服务 CPU 负载告警 |
重写描述#
场景:在描述中自动追加 Runbook 链接或 dashboard 地址,辅助快速排障。重写去重键#
场景:相同的告警事件可以根据去重键聚合到同一告警下。| 配置项 | 值 |
|---|
| 动作 | 重新定义去重键 |
| 定义 | {{.title}}-{{.source}}-{{.Labels.component}} |
引用语法说明#
在重写标题或描述时,可以使用 Go Template 语法引用告警内部变量。合理使用变量引用,可以让您的告警通知更具动态性和信息量。| 变量 | 说明 | 示例 |
|---|
| [TPL]{{.Labels.xxx}} | 引用特定标签 | [TPL]{{.Labels.host}} |
| [TPL]{{.Title}} | 引用当 前标题 | [TPL][转发] {{.Title}} |
| [TPL]{{.Description}} | 引用当前描述 | [TPL]详情: {{.Description}} |
| [TPL]{{.Severity}} | 引用当前等级 | [TPL]当前级别: {{.Severity}} |
在配置 Pipeline 之前,建议先观察一段时间的原始告警数据,明确哪些字段(Labels)是稳定的,哪些是需要清洗的。