看趋势而不是看水位
容量巡检考察的是增长趋势与可用余量。同一水位在不同增速下含义完全不同:磁盘使用率 40% 且每周增长 5%,两个月内就会触顶。因此容量巡检要同时给出当前水位、增长速率、预计触顶时间与本期剩余余量,单一快照无法支撑扩容决策。
基本信息
| 巡检对象 | CPU、内存、磁盘、带宽、连接数与进程数上限 |
|---|---|
| 核心指标 | 当前水位、增长速率、预计触顶时间 |
| 阈值设置 | 预警线与容量线分开,关键资源单独设定 |
| 数据来源 | 历史趋势序列,而非单次快照 |
| 输出物 | 容量台账、扩容建议、增长抑制措施 |
典型使用场景
- 周期盘点:按周或按月看趋势,避免只依据当天曲线作出判断
- 扩容决策:按增长速率推算触顶时间,为采购与变更留出提前量
- 异常增长排查:某分区或日志目录突增时定位到具体目录与责任进程
- 配比检查:CPU 与内存、连接数与进程数的配比不合理时提前调整
- 回收评估:识别长期低负载目标,作为缩容与下线的候选
容量巡检关注项
| 资源 | 水位指标 | 增速关注点 |
|---|---|---|
| 磁盘 | 使用率与每秒写入 | 日志与临时文件的增长速度 |
| 内存 | 使用率与换页活动 | 缓存占比与缓慢泄漏特征 |
| CPU | 持续使用率与负载均值 | 高位的持续时长而非瞬时尖峰 |
| 连接数 | 已用与上限的比例 | 长连接与空闲连接占比 |
用趋势序列判断容量
用趋势序列判断容量
# 单次快照只说明当下,趋势才能给出扩容提前量
df -hP | awk 'NR>1 {print $6, $5}' # 各挂载点当前水位
# 每日追加一条水位记录,形成可估算触顶时间的序列
date +%F >> /var/log/capacity/disk.history
df -hP /data | awk 'NR==2 {print $5}' >> /var/log/capacity/disk.history
# 定位增长来源,避免只看到总量在涨
du -x -d1 /data 2>/dev/null | sort -h | tail -10水位与增速要分开判定:高水位但已停止增长的目录可能是历史归档,低水位但快速增长才是真风险。只按水位阈值判定会同时漏掉后者并误报前者。
清理不属于巡检动作。巡检脚本发现空间不足时自动删除文件,可能删掉正在被进程占用的日志或仍需保留的归档数据;删除应由独立流程执行,并保留可恢复窗口。