容量水位是什么
容量类监控关注两件事:还剩多少余量(水位),以及还能撑多久(趋势)。除了绝对阈值,更重要的是用预测函数估算到达阈值的时间点,让扩容发生在故障之前而不是告警之后。水位告警容易「报得太晚」,趋势告警才留得出扩容所需的审批、采购与发布时间。
基本信息
| 水位 | 磁盘、连接数、带宽等资源的当前占用比例 |
|---|---|
| 趋势 | 用增长斜率判断线性或加速 |
| 提前量 | 按扩容流程耗时反推告警阈值 |
| 预测函数 | 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% 的绝对阈值告警会把处置时间压到几小时以内;趋势告警的价值在于把窗口拉到天级,让流程有时间走完。
数据窗口要覆盖完整业务周期:窗口未覆盖周末或月末峰值时,周期性的回落会被误判为持续增长。
扩容提前量要按实际流程反推:审批加采购加发布若需要两周,告警就必须在预测触顶前两周以上触发。