Prometheus 普罗米修斯在使用远程写入程序时,设备上没有剩余空间

Prometheus 普罗米修斯在使用远程写入程序时,设备上没有剩余空间,prometheus,Prometheus,我正在使用普罗米修斯和一个远程书写器: 但是我在运行了一段时间后出现了这个错误 sg=“压缩失败”err=“持久化头块:写入压缩:写入块:设备上没有剩余空间” 然后在磁盘上留出一些空间:o) 一个不那么刺耳的答案是,普罗米修斯在本地磁盘上保存了一个包含它收集和评估的所有数据的数据库。可以通过--storage.tsdb.retention标志(默认为15d)确定数据在该数据库中保留的时间。你可以把它降低到你满意的程度,但是看看你是如何耗尽磁盘的,你应该认真考虑分配更多的磁盘空间(或者删除一些文件

我正在使用普罗米修斯和一个远程书写器:

但是我在运行了一段时间后出现了这个错误

sg=“压缩失败”err=“持久化头块:写入压缩:写入块:设备上没有剩余空间”


然后在磁盘上留出一些空间:o)


一个不那么刺耳的答案是,普罗米修斯在本地磁盘上保存了一个包含它收集和评估的所有数据的数据库。可以通过
--storage.tsdb.retention
标志(默认为
15d
)确定数据在该数据库中保留的时间。你可以把它降低到你满意的程度,但是看看你是如何耗尽磁盘的,你应该认真考虑分配更多的磁盘空间(或者删除一些文件,如果这是一个共享服务器)。o)


一个不那么刺耳的答案是,普罗米修斯在本地磁盘上保存了一个包含它收集和评估的所有数据的数据库。可以通过
--storage.tsdb.retention
标志(默认为
15d
)确定数据在该数据库中保留的时间。你可以把它降低到你满意的程度,但是看看你是如何耗尽磁盘的,你应该认真考虑分配更多的磁盘空间(或者删除一些文件,如果这是一个共享服务器)。.

问题:您的docker容器意外崩溃,docker日志发出红旗,表示设备上没有剩余空间问题,大部分与此相关

错误的示例:
目标=http://pushgateway:9091/metrics msg=“追加报废报告失败”err=“写入WAL:记录样本:写入/prometheus/WAL/123456:设备上没有剩余空间”

最初的怀疑是使用
df-h
映射磁盘空间装入点,并在卷目录(默认卷位于
/var/lib/docker/volumes
中)上查找完整的空间容量。但是,一旦到达该位置,您就会意识到该块未满,并且已经有额外的可用空间

解决方案:摄入的样本分为两个小时的块,并保存在内存中,尚未完全保存。它通过预写日志(WAL)来防止崩溃,当Prometheus服务器在崩溃后重新启动时,该日志可以重播

普罗米修斯有几个标志允许配置本地存储-您应该使用这些标志来保留旧数据并打开wal压缩以保存磁盘存储。有关普罗米修斯存储的更多文档,您可以在此找到

示例关于
docker compose.yml

prometheus:
  image: prom/prometheus:latest
  expose:
    - 9090
  ports:
    - 9090:9090
  command:
    - '--storage.tsdb.retention=60d'
    - '--storage.tsdb.wal-compression'

问题:您的docker容器意外崩溃,docker日志发出红旗,表示设备上没有剩余空间
问题,大部分与此相关

错误的示例:
目标=http://pushgateway:9091/metrics msg=“追加报废报告失败”err=“写入WAL:记录样本:写入/prometheus/WAL/123456:设备上没有剩余空间”

最初的怀疑是使用
df-h
映射磁盘空间装入点,并在卷目录(默认卷位于
/var/lib/docker/volumes
中)上查找完整的空间容量。但是,一旦到达该位置,您就会意识到该块未满,并且已经有额外的可用空间

解决方案:摄入的样本分为两个小时的块,并保存在内存中,尚未完全保存。它通过预写日志(WAL)来防止崩溃,当Prometheus服务器在崩溃后重新启动时,该日志可以重播

普罗米修斯有几个标志允许配置本地存储-您应该使用这些标志来保留旧数据并打开wal压缩以保存磁盘存储。有关普罗米修斯存储的更多文档,您可以在此找到

示例关于
docker compose.yml

prometheus:
  image: prom/prometheus:latest
  expose:
    - 9090
  ports:
    - 9090:9090
  command:
    - '--storage.tsdb.retention=60d'
    - '--storage.tsdb.wal-compression'

我收到了相同的消息,但是我的设备/挂载都没有接近满(检查w/df-h)。我收到了相同的消息,但是我的设备/挂载都没有接近满(检查w/df-h)。
prometheus:
  image: prom/prometheus:latest
  expose:
    - 9090
  ports:
    - 9090:9090
  command:
    - '--storage.tsdb.retention=60d'
    - '--storage.tsdb.wal-compression'