趋势能看出单次看不到的东西
一次巡检给出的是快照:某台主机磁盘用了 78%,这个数字本身无法判断是否需要行动。把它放进时间序列就有了含义——按同一口径连续观察,可以区分阶梯上升(容量按预期增长)、突变后维持(某次变更引入)、反复抖动(阈值附近噪声)和长期缺失(采集失败而非健康)。趋势分析的前提是结果结构化入库、检查项定义稳定,且阈值变更被显式记录。
基本信息
| 前提条件 | 结果结构化入库,检查项与阈值版本可比 |
|---|---|
| 分析维度 | 按检查项、目标、分组、周期四个维度看 |
| 关键手法 | 环比、基线偏移、连续失败计数、突变检测 |
| 判读区分 | 渐进恶化、一次性波动、口径变更断点三类分开 |
| 输出形式 | 趋势视图加需要处置的异常清单与责任人 |
典型使用场景
- 容量类指标:按增长速率估算扩容时间点,而不是等告警触发
- 反复失败的检查项:连续多周期出现,说明根因未解决,需转问题管理
- 整改效果验证:整改前后的同口径对比才有说服力
- 周期报告:把本期与往期并列,避免只看绝对值
- 异常判读:区分真实恶化与阈值调整造成的数字跳变
趋势形态与处置方向
| 趋势形态 | 典型含义 | 处置方向 |
|---|---|---|
| 阶梯上升 | 容量类指标持续增长 | 按增长速率预估扩容时间点 |
| 突变后维持 | 变更或新上线引入的变化 | 回溯关联变更单与执行记录 |
| 反复抖动 | 临界值附近波动,易误报 | 改用持续时长判定或调整阈值 |
| 长期缺失或为零 | 采集失败而非健康状态 | 先修采集通道,不计入合格 |
| 口径变更断点 | 阈值或检查项版本变化 | 在趋势图上标注版本切换点 |
按周期聚合失败项
按周期聚合失败项
-- 每个周期内失败次数最多的检查项,用于定位长期未解决的问题
SELECT period, check_id, COUNT(*) AS fail_count
FROM inspection_result
WHERE result = 'fail'
AND check_set_version = 'baseline-linux-v4' -- 口径固定,跨周期才可比
GROUP BY period, check_id
HAVING COUNT(*) >= 3 -- 连续多周期出现才值得升级处理
ORDER BY period DESC, fail_count DESC;
-- 注意:result 为 unknown 的记录要单独统计,不能算作 pass # 无数据不等于正常阈值或检查项变更必须在趋势上标注版本切换点。否则数字突然变好会被当成整改见效,实际只是判定标准放宽了。
把「无数据」当「正常」是趋势分析最危险的错误:采集失败、目标不可达、脚本异常都会产生空结果,静默按合格计入会让盲区长期存在。