prometheus可通过分层存储与外部工具实现长效归档。热数据(≤30天)保留在原生tsdb支持实时查询,过期后自动压缩转存至对象存储;自建场景可用thanos对接对象存储并提供全局查询、降采样等能力;归档策略需按业务价值分级设定,并兼顾查询限速与成本优化。

Prometheus 本身不支持长期归档,但通过组合配置与外部能力,完全可以构建稳定、低成本、可查询的长效存储机制。关键不在“能不能存”,而在“怎么分层存、按需查、合理控本”。
分层存储:热数据+归档数据明确分工
原生 Prometheus 的 TSDB 适合短期高频查询(建议 ≤30 天),超出部分应主动分流。腾讯云等托管服务已内置归档存储开关,只需在创建或修改实例时勾选,并设置归档时长(60–730 天)。此时数据自动完成两阶段流转:
- 前 N 天保留在热存储中,支持毫秒级查询、实时告警和 Grafana 高频刷新
- 过期后自动压缩、去重、转存至对象存储类归档层,体积通常减少 60%–80%
- 总保留时长 = 热存天数 + 归档天数(例如热存30天 + 归档730天 = 总2年)
长期归档:用 Thanos 补足自建场景能力
若使用自建 Prometheus(非托管版),推荐接入 Thanos。它不替换原有 Prometheus,而是作为“增强层”对接其 Sidecar,将本地块文件上传至对象存储(如 COS、S3),同时提供统一查询网关。优势包括:
- 跨多实例全局查询:比如合并北京、上海集群的指标做同比分析
- 无限扩展存储:对象存储容量无上限,成本仅为本地磁盘的 1/5–1/10
- 支持降采样(downsampling):对 2 年前的数据自动聚合为小时级精度,进一步节省空间和查询开销
归档策略要匹配业务节奏
不是所有数据都值得存两年。应按业务价值分级设定归档规则:
- 常规监控数据:热存30天 + 归档90天,覆盖一般故障回溯周期
- 大促/上线等关键期数据:单独部署专用 Prometheus 实例,热存30天 + 归档2年,避免混入日常噪声
- 调试类或低价值指标(如单个 Pod 的 GC 次数):采集时直接过滤,不进存储链路
查询与成本必须同步管理
归档数据虽便宜,但查询有约束。以腾讯云为例:
- 含归档数据的查询限速为每秒最多 3 次,空闲时可累积最多 15 次额度
- 建议将复盘类查询安排在低峰时段,或提前用 record rule 预计算关键聚合结果并存为新指标
- 费用上,归档单价约为热存的 1/100–1/140;实测显示,启用归档后 90 天总保存成本可下降约 45%











