金丝雀自动分析是什么
金丝雀自动分析把放量判断自动化:定义指标查询与阈值,按固定间隔对比金丝雀与基线的错误率、延迟等指标;达标自动晋级放量,超限自动中止并回滚。分析规则以代码形式与发布资源一起管理,每次分析的结论留存可追溯,替代人工盯盘。
基本信息
| 定义 | 分析模板或发布资源中的指标规则 |
|---|---|
| 输入 | 指标查询、阈值与连续失败次数 |
| 动作 | 达标晋级、超限中止 |
| 审计 | 每次分析结果留存可追溯 |
| 节奏 | 按间隔多次分析,避免单次误判 |
| 通知 | 晋级与中止都发出通知,团队知晓状态 |
分析要素
| 要素 | 作用 | 注意 |
|---|---|---|
| 查询 | 从指标系统取金丝雀与基线数据 | 指标要按版本打标 |
| 阈值 | 定义成功与失败条件 | 结合样本量设定 |
| 间隔 | 两次分析之间的周期 | 与指标延迟匹配 |
| 失败上限 | 连续失败几次判定中止 | 避免单点噪声误判 |
错误率判据
错误率判据
# 分析模板:按间隔评估错误率
metrics:
- name: error-rate
interval: 1m
successCondition: result < 0.01
failureLimit: 3
provider:
prometheus:
query: |
sum(rate(http_requests_total{status=~"5.."}[1m]))
/ sum(rate(http_requests_total[1m]))典型使用场景
- 渐进放量:每个权重档位停留数分钟,分析达标后自动抬高权重
- 自动中止:连续失败达到上限时中止并回退,缩短异常暴露
- 无人值守时段:夜间发布用自动分析替代人工盯盘
- 多指标组合:错误率、延迟与业务指标任一超限即触发动作
- 复盘取证:分析结论与时间线自动留存,便于事后核对
自动分析依赖稳定指标与足够流量:两者不足时以人工评审为主,避免自动化误判引入风险。
分析间隔与失败上限相互配合:间隔短、上限低则灵敏但易误判,按服务调参。
自动回滚要带通知:变更静默消失会让团队不知道发生过发布事故。