Prometheus 磁盘告警半夜响,最常见的原因不是流量涨了,而是 retention 从来没算过。本文给一个可复算的方法。
核心公式
TSDB 平均每个采样约占 1.9 字节(压缩后),于是:
1 2 |
|
例如 50 万活跃序列、15 秒抓取一次:
1 2 |
|
生产建议
- 先用
/api/v1/status/tsdb看真实基数,别用估值。 - 磁盘预算按 70% 利用率反推 retention。
- 同时设置时间与容量双上限,防止基数爆炸写满磁盘:
1 2 |
|
- 高基数标签(如 user_id、request_id)一律不要进指标,用日志或 tracing 承载。
一句话总结
retention 不是配置项,是容量规划题:先量基数,再算字节,最后留余量。