You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Prometheus已配置6个月数据保留时间,为何仍仅保留15天?

排查Prometheus数据保留时间未生效的问题

你设置的--storage.tsdb.retention.size和--storage.tsdb.retention.time参数未生效,导致数据仅保留15天,可以按以下步骤排查:

1. 确认配置是否真正加载

修改prometheus.service后必须重启服务才能生效,先执行重启命令:

sudo systemctl daemon-reload
sudo systemctl restart prometheus

然后查看Prometheus实际运行的启动参数,确认配置已加载:

ps aux | grep prometheus

输出结果里必须包含--storage.tsdb.retention.size 25GB和--storage.tsdb.retention.time 180d,如果没有,说明配置未被应用。

2. 检查是否存在配置覆盖

  • 查看systemd服务的实际执行命令,确认没有被override文件或其他配置覆盖:
systemctl show prometheus.service | grep ExecStart
  • 检查是否有其他自定义启动脚本调用Prometheus时,未添加这两个参数。

3. 验证磁盘空间触发的容量限制

Prometheus会同时遵循retention.time和retention.size,哪个条件先满足就执行清理。如果你的Prometheus数据目录很快达到25GB,就会触发按容量清理,导致数据只保留15天。

执行以下命令查看数据目录大小:

du -sh /var/lib/prometheus  # 替换为你的实际数据目录路径

如果当前大小接近或超过25GB,说明是容量限制先触发,需要调大--storage.tsdb.retention.size的值。

4. 检查Prometheus版本兼容性

如果你的Prometheus版本低于2.0,--storage.tsdb.*系列参数不存在,旧版本使用的是--storage.local.retention参数。执行以下命令确认版本:

prometheus --version

如果版本过低,需要升级Prometheus,或者改用对应版本的保留参数。

5. 检查TSDB数据目录的权限

如果Prometheus进程没有数据目录的写入权限,可能会导致清理逻辑异常。确认数据目录的权限:

ls -ld /var/lib/prometheus

确保目录的所有者是Prometheus运行用户(通常是prometheus)。

内容的提问来源于stack exchange,提问作者Muhammad Iqbal Nawawi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 10:52:24