本文涉及的过滤和分级配置均在控制台「应用管理」中完成:选择目标应用,点击左侧「告警设置」即可配置。详细配置说明请参考
Issue 告警。
告警处理链路
RUM 告警从 Error 产生到通知到人,经过以下四层处理:| 层级 | 配置位置 | 核心作用 |
|---|---|---|
| ① 数据过滤 | RUM 应用 → 告警设置 | 在源头排除不需要的 Error,减少无效 Issue |
| ② 告警分级 | RUM 应用 → 告警设置 | 根据 Error 属性设定 Issue 优先级 |
| ③ 告警处理 | Flashduty 集成 → 告警处理 | 基于 Issue 维度做优先级调整、丢弃/抑制 |
| ④ 告警分派 | Flashduty 协作空间 | 路由到团队、通知值班人员 |
第一步:过滤噪音数据
在配置告警分级之前,先清理数据源。常见的噪音来源包括:第三方脚本错误
第三方脚本错误
浏览器扩展或第三方广告/分析脚本产生的错误与您的业务无关,建议排除:
- 错误堆栈 包含
chrome-extension:// - 错误堆栈 包含
moz-extension:// - 错误堆栈 包含
cdn.third-party.com
已知无害错误
已知无害错误
某些错误频繁出现但不影响用户体验:
- 错误消息 包含
ResizeObserver loop - 错误消息 包含
Script error
非核心环境错误
非核心环境错误
如果您只关注生产环境的告警,可以过滤其他环境的错误:
- 环境 不包含
production
第二步:配置告警分级
过滤噪音后,通过告警分级规则区分不同错误的重要程度。分级策略建议
| 优先级 | 适用场景 | 期望响应时间 |
|---|---|---|
| P0(Critical) | 核心业务中断、VIP 用户受影响、生产环境崩溃 | 立即响应 |
| P1(Warning) | 重要功能异常、核心页面错误 | 当日处理 |
| P2(Info) | 非核心功能错误、低影响问题 | 按计划处理 |
推荐规则配置
以下是按业务优先级从高到低排列的推荐规则:核心页面错误 → P1
支付、登录、结算等核心业务页面的错误需要优先处理。
- 条件:页面 URL 包含
/payment - 告警级别:P1
第三步:在 Flashduty 中精细化处理
RUM 侧的告警分级基于单个 Error 的属性,如需基于 Issue 的整体影响做进一步处理,可以在 Flashduty 的告警处理 Pipeline 中配置。| 处理场景 | 配置方式 |
|---|---|
| 抑制重复告警 | 同一 alert_key 在 1 小时内只告警一次 |
| 自定义告警标题 | 模板示例:[RUM] [{{Labels.env}}] {{Labels.error_type}} - {{Labels.view_url}} |
| 低影响错误降级 | 当 labels.affected_users < 5 时,将严重程度更新为 Info |
典型场景方案
- 电商应用
- SaaS 应用
- 内容型网站
电商应用的核心是交易流程,告警配置应围绕支付和下单环节展开。
| 层级 | 配置 |
|---|---|
| 数据过滤 | 排除:第三方广告脚本错误、ResizeObserver loop |
| 告警分级 | P0:支付页面错误、崩溃;P1:商品详情页/购物车错误 |
| 告警处理 | 抑制窗口:30 分钟;标题模板包含页面路径 |
| 告警分派 | P0 → 短信+电话通知,P1 → IM 通知 |
常见问题
数据过滤和 Flashduty 告警丢弃有什么区别?
数据过滤和 Flashduty 告警丢弃有什么区别?
| 对比 | RUM 数据过滤 | Flashduty 告警丢弃 |
|---|---|---|
| 作用时机 | Error 聚合为 Issue 之前 | Issue 投递为告警之后 |
| 数据留存 | Error 数据保留,可在查看器中查看 | Issue 数据保留 |
| 影响范围 | 被过滤的 Error 不参与 Issue 聚合和告警 | Issue 已存在,只是不产生告警通知 |
| 适用场景 | 长期排除的噪音数据 | 灵活的告警控制 |
告警分级规则和 Flashduty Pipeline 如何配合?
告警分级规则和 Flashduty Pipeline 如何配合?
两者互补,适用于不同维度的判断:
- RUM 告警分级:基于单个 Error 的属性(用户、页面、环境等),适合在源头快速判定
- Flashduty Pipeline:基于 Issue 的整体信息(影响用户数、错误数量等),适合做更全面的评估
默认告警行为会改变吗?
默认告警行为会改变吗?
不会。如果不配置任何过滤规则和告警分级,所有 Error 仍然会聚合为 Issue 并以默认严重程度投递到 Flashduty。现有行为完全保持不变。