新告警定义介绍
新告警目标
- 平移当前告警能力的前提下,优化告警体验,兼容线上已有告警任务。
- 统一告警逻辑,方便后续扩展。
- 扩展崩溃/错误/ANR/OOM等质量监控的告警能力,支持更多统计周期和对比同期。
功能介绍
1. 告警类型
告警支持两种类型:阈值检测和变化检测。
阈值检测:检测指定统计周期内,某个指标的值是否大于或者小于指定阈值。
- 公式:
指定统计周期的指标统计值 > 指标阈值
- 公式:
变化检测:检测指定统计周期内,某个指标的值对比历史上某个对比周期,指标的变化情况。
- 公式:
变化率 > 变化率阈值 - 其中:
变化率 = (当前统计周期的指标值 - 对比周期的指标值) / 对比周期的指标值
- 公式:
判异模式详解
| 类型 | 判异模式 | 判异条件示例 |
|---|---|---|
| 检测阈值 | 指定统计周期的指标统计值 > 指标阈值,有两种子模式: 模式一:最近XXX的YYY > ZZZ 模式二:今日累计YYY > ZZZ 其中XXX代表统计周期,YYY代表指标,ZZZ代表指标阈值 | 示例一:最近1小时 的 设备崩溃率 大于 0.34% 示例二:今日累计 的 影响设备数 大于 2500 |
| 检测变化率 | 指定统计周期的指标统计值对比历史周期的指标统计值的变化率 > 变化率阈值 模式一:最近XXX的YYY 对比 近7日同期的平均值,变化率 > 变化率阈值 - 变化率 = (最近XXX的YYY - 近7日同期的平均值) / 近7日同期平均值 模式二:最近XXX的YYY 对比 昨日同期,变化率 > 变化率阈值 - 变化率 = (最近XXX的YYY - 昨日同期) / 昨天同期 模式三:最近XXX的YYY 对比 上一周期,变化率 > 变化率阈值 - 变化率 = (最近XXX的YYY - 上一周期) / 上一周期 模式四:最近XXX的YYY 对比 上周同期,变化率 > 变化率阈值 - 变化率 = (最近XXX的YYY - 上周同期) / 上一周期 模式五:今日累计YYY 对比 昨日累计,变化率 > 变化率阈值 - 变化率 = (今日累计YYY - 昨日累计) / 昨日累计 变化率绝对值 = 变化率的绝对值,变化率绝对值的阈值 | 示例一:最近24小时 的 设备崩溃率 对比 昨天同期 的 变化率 大于 23% 示例二:最近12小时 的 设备崩溃率 对比 上周同期 的 变化率绝对值 大于24% 示例三:今日累计 的 发生次数 对比 昨天累计 的 变化率 大于 23% 示例四:今日累计 的 发生次数 对比 昨天同期 的 变化率 大于 23% |
2. 重要概念
| 重要概念 | 可能取值 |
|---|---|
| 检测频率 | 每5分钟,每10分钟,每30分钟,每1小时,每2小时,每4小时,每天 |
| 监控指标 | 次数异常率,设备异常率,用户异常率,发生次数,影响设备数,影响用户数,复现率等 |
| 统计周期 | 最近5分钟,最近10分钟,最近30分钟,最近1小时,最近2小时,最近4小时,最近12小时,最近24小时,昨日累计,今日累计 |
| 对比周期 | 近7日同期的平均值,昨日同期,上周同期,上一周期,昨日累计 |
3. 检测频率与统计周期的关系
| 检测频率 | 统计周期 |
|---|---|
| 每5分钟 | 最近5分钟,最近10分钟,最近30分钟,最近1小时,最近2小时,最近4小时,最近12小时,最近24小时,今日累计 |
| 每10分钟 | 最近10分钟,最近30分钟,最近1小时,最近2小时,最近4小时,最近12小时,最近24小时,今日累计 |
| 每30分钟 | 最近30分钟,最近1小时,最近2小时,最近4小时,最近12小时,最近24小时,今日累计 |
| 每1小时 | 最近1小时,最近2小时,最近4小时,最近12小时,最近24小时,今日累计 |
| 每2小时 | 最近2小时,最近4小时,最近12小时,最近24小时,今日累计 |
| 每4小时 | 最近4小时,最近12小时,最近24小时,今日累计 |
| 每天 | 昨日累计 |
4. 统计周期与对比周期的关系
| 统计周期 | 对比周期 |
|---|---|
| 最近5分钟 | 近7日同期的平均值,昨日同期,上周同期,上一周期 |
| 最近10分钟 | 近7日同期的平均值,昨日同期,上周同期,上一周期 |
| 最近30分钟 | 近7日同期的平均值,昨日同期,上周同期,上一周期 |
| 最近1小时 | 近7日同期的平均值,昨日同期,上周同期,上一周期 |
| 最近2小时 | 近7日同期的平均值,昨日同期,上周同期,上一周期 |
| 最近4小时 | 近7日同期的平均值,昨日同期,上周同期,上一周期 |
| 最近12小时 | 近7日同期的平均值,昨日同期,上周同期,上一周期 |
| 最近24小时 | 近7日同期的平均值,上一周期,上周同期 (此时,昨日同期跟上一周期的意义是一样的) |
| 今日累计 | 近7日同期的平均值,昨日同期,上周同期,昨日累计,上一同期 |
| 昨日累计 | 近7日同期的平均值,上一周期,上周同期 |
5. 对比周期的定义
假定当前统计周期为 [t1, t2),且 T = t2 - t1
| 对比周期 | 解释 |
|---|---|
| 昨日同期 | [t1 - 24h, t2 - 24h) |
| 上周同期 | [t1 - 7×24h, t2 - 7×24h) |
| 上一周期 | [t1 - T, t2 - T) |
| 昨日累计 | 昨天的0点到24点,即昨日全天 |
| 近7日同期的平均值 | 分别统计这些时间段的指标,再求平均值:[t1 - 24h, t2 - 24h),[t1 - 2×24h, t2 - 2×24h),...,[t1 - 7×24h, t2 - 7×24h) |
6. 告警类型及指标类型
| 告警类型 | 指标类型 | 指标示例 |
|---|---|---|
| 指标告警 | 比率/率类 (Rate) | 设备崩溃率,人数崩溃率,次数崩溃率,设备平均崩溃率,设备ANR率,人数ANR率,次数ANR率,设备平均ANR率,设备OOM率,人数OOM率,次数OOM率,设备平均OOM率,设备错误率,人数错误率,次数错误率,设备平均错误率,挂起率,FD触顶率,设备FOOM率,人数FOOM率,次数FOOM率,设备平均FOOM率,设备Freeze率,人数Freeze率,次数Freeze率,设备平均Freeze率,错误率,成功率,加载成功率,FP秒开率,FCP秒开率,自定义启动秒开率,首帧渲染耗时秒开率 |
| 指标告警 | 频次/总量类 (Frequency/Volume) | 影响设备数,影响用户数,上报量,上报设备数,上报用户数,错误上报量,失败量,PV,UV |
| 指标告警 | 耗时类 (Duration/Latency) | 接口耗时,资源加载耗时,FP,FCP,自定义启动耗时,首帧渲染耗时,页面打开耗时,程序启动耗时,耗时,默认冷启动,冷启动,温启动 |
| 指标告警 | 资源类 (Resource Usage) | FPS,PSS,VSS,前台内存峰值,后台内存峰值,挂起率 |
| Issue告警 | 比率/率类 (Rate) | 设备异常率,复现率 |
| Issue告警 | 频次/总量类 (Frequency/Volume) | 发生次数,影响设备数,影响用户数 |
| 个例告警 | 频次/总量类 (Frequency/Volume) | 发生次数,影响设备数,影响用户数 |
| 终端用户告警 | 频次/总量类 (Frequency/Volume) | 上报次数,设备连续上报次数,用户连续上报次数 |
7. 终端用户告警的统计方式
- 按用户ID统计 - 用户指标
- 按用户ID统计 - 异常个例
- 按设备ID统计 - 用户指标
- 按设备ID统计 - 异常个例
注意
目前终端用户告警指标部分只支持跨端小程序,其他平台待支持。