但是经过一段时间的运行后我得到了这个错误。
sg =“compaction failed”err =“persist head block:write compaction:write chunk:device on device”
global:
scrape_interval: 60s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
remote_write:
- url: "http://localhost:1234/receive"
scrape_configs:
- job_name: 'cassandra'
static_configs:
- targets: ['localhost:5556']
labels:
instance: "server1"
答案 0 :(得分:1)
然后在磁盘上留出一些空间。 :O)
一个不那么讽刺的答案是,Prometheus会保留一个数据库,其中包含它收集的所有数据并在本地磁盘上进行评估。通过--storage.tsdb.retention
标志,该数据库中保留的数据可以configured from the command line,默认为15d
。你可以将它降低到你所熟悉的最低水平,但是看看你是如何逐渐耗尽磁盘的,你应该认真考虑分配更多的磁盘空间(或删除一些文件,如果这是一个共享服务器)
答案 1 :(得分:0)
问题:您的Docker容器意外崩溃,并且在docker日志上引发了关于 设备上没有剩余空间 问题的红色标志,主要与
错误 的示例:translate.stream(this.myJSONresponse.errors.required , {fieldName: field.templateOptions.label})
最初的怀疑者将使用target=http://pushgateway:9091/metrics msg="appending scrape report failed" err="write to WAL: log samples: write /prometheus/wal/123456: no space left on device"
映射磁盘空间安装点,并在卷目录(默认卷位于df -h
中查找完整空间容量)但是,一旦到达那里,您就会意识到该块未满,并且已经有多余的可用空间。
解决方案:摄入的样本分为两个小时,并保存在内存中,尚未完全保留。通过预写日志(WAL)可以防止崩溃,当Prometheus服务器在崩溃后重新启动时可以重放该日志。
Prometheus具有几个允许配置本地存储的标志-您应该使用这些标志来保留旧数据并打开wal压缩以节省磁盘存储。您可以在此link上找到有关Prometheus存储的更多文档。
/var/lib/docker/volumes
示例在--storage.tsdb.retention.time:
This determines when to remove old data. Defaults to 15d,
In your use case I'd suggest to extremely increase it.
--storage.tsdb.wal-compression: This flag enables compression of the write-ahead log (WAL).
Depending on your data, you can expect the WAL size to be halved with little extra cpu load.
This flag was introduced in 2.11.0 and enabled by default in 2.20.0.
Note that once enabled, downgrading Prometheus to a version below 2.11.0 will
require deleting the WAL.
docker-compose.yml