首页/云/可观测性速查/容量水位与扩容提前量
监控体系与方法40 条

容量水位与扩容提前量

容量类监控关注'还剩多少余量'与'还能撑多久':用预测函数估算到达阈值的时间点,让扩容发生在故障之前,而不是告警之后。

可观测性速查云更新于 2026-10-13

容量水位是什么

容量类监控关注两件事:还剩多少余量(水位),以及还能撑多久(趋势)。除了绝对阈值,更重要的是用预测函数估算到达阈值的时间点,让扩容发生在故障之前而不是告警之后。水位告警容易「报得太晚」,趋势告警才留得出扩容所需的审批、采购与发布时间。

基本信息

水位磁盘、连接数、带宽等资源的当前占用比例
趋势用增长斜率判断线性或加速
提前量按扩容流程耗时反推告警阈值
预测函数predict_linear(区间, 秒数)
失效边界突增流量下线性外推会失真
配套手段绝对阈值 + 趋势告警同时保留

典型使用场景

  • 预测磁盘可用空间何时耗尽,提前申请扩容
  • 预测数据库连接数何时触顶,及时调整连接池或扩容
  • 按业务增长评估容量结算周期,制定季度扩容计划
  • 大促与活动前用趋势判断是否需要临时扩容
  • 对带宽与队列积压做同样预测,避免高峰排队
  • 容量复盘时用历史水位曲线校准预测参数与阈值

预测磁盘与连接数何时触顶

预测磁盘与连接数何时触顶
# 用 6 小时数据外推 4 天后磁盘可用空间是否耗尽
predict_linear(node_filesystem_avail_bytes{mountpoint="/data",fstype!~"tmpfs|overlay"}[6h], 4*24*3600) < 0

# 连接数按当前斜率 2 天后是否超过 800
predict_linear(mysql_global_status_threads_connected[6h], 2*24*3600) > 800

# 绝对水位兜底:使用率超过 85% 也告警
(node_filesystem_size_bytes - node_filesystem_avail_bytes) / node_filesystem_size_bytes > 0.85

三类容量指标

类型示例关注点
水位磁盘使用率、连接数占用当前余量是否足够
趋势增长斜率、环比增量线性还是加速增长
预测predict_linear 结果何时触顶,留多少提前量
预测依赖稳定的增长模型:突增流量下 predict_linear 会失真,应与绝对水位阈值同时保留,用两条线互相兜底。
只有 90% 的绝对阈值告警会把处置时间压到几小时以内;趋势告警的价值在于把窗口拉到天级,让流程有时间走完。
数据窗口要覆盖完整业务周期:窗口未覆盖周末或月末峰值时,周期性的回落会被误判为持续增长。
扩容提前量要按实际流程反推:审批加采购加发布若需要两周,告警就必须在预测触顶前两周以上触发。

易错点

  • 只告警磁盘使用率 90% 会把处置时间压得很短,趋势告警才能留出扩容窗口
  • 数据窗口未覆盖完整业务周期时,周期性回落会被误判为持续增长
  • 突增流量下手动外推的线性预测会明显失真,必须与绝对阈值同时使用
  • 扩容流程时间长于告警提前量时,阈值再准也来不及,提前量要按真实流程反推
  • 把缓存、临时文件算进持久容量会得出错误结论,容量口径要与使用方式对齐

数据来源与参考

  • Prometheus 文档 · predict_linear()
  • Google SRE Book 第 18 章(容量规划)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌