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

如何正确配置Prometheus的存储位置与数据保留大小?

解决Prometheus存储配置的问题

为什么你在prometheus.yml里配置会报错?

Prometheus的--storage.tsdb.path、--storage.tsdb.retention.time、--storage.tsdb.retention.size这些是启动命令行参数,并不是prometheus.yml配置文件的支持项。你把这些内容写进yml里,Prometheus的配置解析器无法识别,自然会抛出unable to unmarshall错误。

正确的配置方式:修改systemd服务文件

因为你是通过apt install安装的Prometheus,它默认使用systemd管理服务,所以需要在systemd的服务配置中添加启动参数:

  1. 创建目标存储目录并设置权限
    先确保你指定的存储路径存在,并且权限正确(让prometheus用户能读写):

    mkdir -p /data/prometheus
    chown prometheus:prometheus /data/prometheus
    
  2. 编辑systemd服务文件
    打开Prometheus的systemd服务文件(默认路径是/lib/systemd/system/prometheus.service):

    nano /lib/systemd/system/prometheus.service
    

    找到ExecStart这一行,在原有参数的末尾添加存储相关的启动参数,修改后的行大概是这样:

    ExecStart=/usr/bin/prometheus \
      --config.file=/etc/prometheus/prometheus.yml \
      --storage.tsdb.path=/data/prometheus \
      --storage.tsdb.retention.time=30d \
      --storage.tsdb.retention.size=50GB \
      # 保留原有其他参数
    
  3. 重新加载systemd配置并重启服务

    systemctl daemon-reload
    systemctl restart prometheus
    
  4. 验证配置是否生效
    可以通过以下命令查看服务状态,确认启动参数已加载:

    systemctl status prometheus
    

    或者查看Prometheus日志确认:

    journalctl -u prometheus -f
    

    也可以访问Prometheus的Web UI(默认端口9090),在Status -> Configuration页面查看启动参数列表。

内容的提问来源于stack exchange,提问作者Daxcor

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 17:25:02