Prometheus的存储

Prometheus存储

存储

Prometheus可以处理数百万个时间序列。更多的时间序列需要更多内存,需要配置Prometheus的storage.local.target-heap-size

每个chunks包含单个时间序列样本,时间序列被表示为一系列chunks,最终形成磁盘上的序列文件

chunk生命周期
由出生至死亡

最新样本序列会具有开放头部的chunk,一旦chunk被填满或序列一段时间内未收到新样本,chunks头部关闭,并成为等待追加到时间序列文件的chunks(正在等待持久化),chunks被持久化后若当前仍未被查询使用,则可从内存中移除
从内存中移除chunk的操作用于满足目标heap-size,有开放头部块的序列被称为active series。(内存序列除了active series外还有等待持久化的chunks,查询序列调用的chunks,可驱逐的chunks)。一个时间序列如果在内存中没有任何chunks,可以把这个时间序列持久化,不必占用内存。

死不了怎么办?

Prometheus在内存里的chunks数量取决于启动参数设置的堆大小和其他进程在内存中所占用的量,如果chunks都不能被移除,满足不了heap-size的要求的话,Prometheus会限制样本摄取(通过跳过scrape和rule评估),直到heap-size满足要求。

官方承认,Prometheus的节流功能做的确实比较一般。

内存中开放头部chunks,等待持久化的chunks,和正在查询的chunks
这三种chunks无法被移除
只有chunks头部关闭,等待持久化满足持久化时间的时候,才会从内存中移除并序列化

所以为什么会OOM?

因此,从ch

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值