3. 阈值分层基础概念:阈值定义、分层原则与颜色编码规范
阈值分层是水位看板的核心设计方法。它通过将单一指标划分为多个风险区间,让运维人员一眼就能判断系统状态。本章将系统讲解阈值的定义方式、三层分层的设计原则,以及业界通用的红/黄/绿颜色编码规范。
3.1 阈值定义:从原始数据到风险边界
阈值(Threshold)是预先设定的数值边界,用于区分系统处于正常、警戒或危险状态。在 Grafana 中,阈值通常作用于以下三类指标:
- 资源利用率:CPU、内存、磁盘、网络带宽的百分比或值。
- 服务性能:响应时间(P99/P95)、吞吐量(QPS/TPS)、错误率。
- 业务指标:订单量、用户活跃数、支付成功率。
阈值定义需要遵循 SMART 原则:
| 原则 | 说明 | 示例 |
|---|---|---|
| Specific(具体) | 指标必须明确可测量 | “CPU 使用率”而非“系统负载高” |
| Measurable(可量化) | 有明确的数值单位 | “响应时间 ≤ 200ms” |
| Achievable(可达) | 阈值在系统能力范围内 | “磁盘使用率 90%”而非“100%” |
| Relevant(相关) | 与业务或运维目标挂钩 | “支付成功率 ≥ 99.9%” |
| Time-bound(时效) | 定义持续时长或采样窗口 | “持续 5 分钟超过 80%” |
实战建议:阈值不要只设一个固定值。建议结合业务周期(如白天/夜间、工作日/节假日)设置动态阈值,避免误报。
3.2 分层原则:紧急 / 警告 / 正常
水位看板通常采用 三层分层模型,将指标区间划分为三个风险等级。这种分层方式在可读性和运维效率之间取得了最佳平衡。
三层分层的核心设计原则包括:
- 区间不重叠:每个阈值区间有明确的上下边界,避免指标同时落入两个等级。
- 预留缓冲带:警告区间应留有足够的缓冲空间(通常为正常上限的 10%~20%),避免指标波动导致频繁告警。
- 业务对齐:紧急阈值必须与 SLA/SLO 目标挂钩,例如“P99 响应时间超过 500ms 即视为紧急”。
- 可操作性:每个等级对应明确的运维动作,如“正常→无需操作”“警告→巡检”“紧急→立即响应”。
3.3 颜色编码规范:红 / 黄 / 绿
颜色编码是阈值分层在可视化层面的直接映射。Grafana 水位看板遵循业界通用的 交通灯配色体系:
| 等级 | 颜色 | 色值(Hex) | 语义 | 运维动作 |
|---|---|---|---|---|
| 正常 | 绿色 | #2ecc71 |
安全、健康、通过 | 无需关注 |
| 警告 | 黄色 / 橙色 | #f39c12 |
注意、警戒、接近边界 | 巡检、排查 |
| 紧急 | 红色 | #e74c3c |
危险、故障、中断 | 立即响应 |
颜色使用禁忌:
- 不要使用低对比度配色(如浅绿配白底、浅红配灰底),会导致色盲或弱视用户无法识别。
- 不要在同一看板中使用超过 3 种风险颜色,避免视觉过载。
- 不要将红色用于“正常”状态,这会破坏用户的心理模型。
3.4 阈值分层在 Grafana 中的配置示例
在 Grafana 面板的 Thresholds 设置中,可以按以下方式配置三层阈值:
# 以 CPU 使用率为例(单位:%)
# 正常:0 ~ 70
# 警告:70 ~ 85
# 紧急:85 ~ 100
Thresholds:
- value: 70
color: #f39c12 # 黄色(警告起始)
- value: 85
color: #e74c3c # 红色(紧急起始)
# 默认颜色为 #2ecc71(绿色,正常)
在 Grafana 的 Alerting 规则中,阈值分层可以进一步与通知策略绑定:
# 告警规则示例(PromQL)
# 紧急告警:CPU > 85% 持续 5 分钟
expr: avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) < 0.15
# 警告告警:CPU > 70% 持续 10 分钟
expr: avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[10m])) < 0.30
关键要点回顾:
- 阈值定义要遵循 SMART 原则,确保可测量、可操作。
- 三层分层(正常/警告/紧急)是水位看板的标准模型,区间不重叠、预留缓冲带。
- 颜色编码使用红/黄/绿交通灯体系,保持高对比度和语义一致性。
- 在 Grafana 中,阈值配置与告警规则需要联动,确保可视化与告警行为一致。