我想尝试一下Prometheus2.12中storage.tsdb.retention.size的特性。
我的普罗米修斯保留配置是90天或2 2GiB。我的期望是,当prometheus数据目录的大小跨越2 2GiB时,它将开始删除数据。然而,它现在是9GB,我可以恢复最古老的数据。
PS:读过https://www.robustperception.io/configuring-prometheus-storage-retention和https://prometheus.io/docs/prometheus/latest/storage/
在我的理解中,我是不是遗漏了什么?
同样,在将storage.tsdb.retention.size设置为2GB时,运行时信任显示保留大小为2GiB,为什么单位不同?
发布于 2020-01-03 13:31:59
来自https://prometheus.io/docs/prometheus/latest/storage/
-storage.tsdb.retention.size:实验性的,这决定了存储块可以使用的最大字节数(注意,这不包括WAL大小,它可以是很大的)。将首先删除最古老的数据。默认为0或禁用。此标志是实验性的,可以在以后的版本中更改。支持的单元: KB,MB,GB,PB。例:“512 Ex”
如果我正确地阅读了存储块的定义:它是度量集合(块)的最大大小,不包括WAL和压缩文件。可能是有多个块。
另外,这可能取决于使用过的磁盘空间的很大一部分是否被WAL文件所使用,因为所提到的文档还没有压缩,而且相对较大。
您可能需要检查wal目录的大小。另外:如果有多个块,这些块是否仅限于2GB?如果我的理解是正确的,它们可以更小,因为每2小时创建一个新块。
https://stackoverflow.com/questions/59533167
复制相似问题