首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算K8S集群中prometheus服务器pod所需的持久卷大小?

如何计算K8S集群中prometheus服务器pod所需的持久卷大小?
EN

Stack Overflow用户
提问于 2019-10-11 06:45:09
回答 2查看 4.7K关注 0票数 1

我将Prometheus舵机图表安装到kubernetes集群中进行监视。默认情况下,

  • prometheus服务器的持久卷大小定义为8Gi。
  • Prometheus服务器将此卷中的度量存储15天(保留期)。

在部署图表的几天后,prometheus服务器舱进入了崩溃回退状态。从荚原木中发现的原因是:

代码语言:javascript
复制
level=error ts=2019-10-09T11:03:10.802847347Z caller=main.go:625 err="opening storage failed: zero-pad torn page: write /data/wal/00000429: no space left on device"

这意味着磁盘中没有可用的空间(持久卷)来保存数据。因此,我清理了现有的数据卷,并暂时解决了问题。

解决这个问题的正确方法是什么?

Prometheus文档说:

要规划Prometheus服务器的容量,可以使用粗略的公式:

代码语言:javascript
复制
needed_disk_space = retention_time_seconds * ingested_samples_per_second * bytes_per_sample

有人能解释一下如何故意使用这个公式吗?

为什么8Gi的尺寸不能满足15天的保留期?

编辑:

默认的8Gi空间为6天后100%使用。

EN

回答 2

Stack Overflow用户

发布于 2019-10-11 06:56:02

15天大约是130万秒。让我们高估每个样本的8个字节。所以每一公制的花费大约是10毫巴。因此,8gb将允许您存储800个度量。你可能有更多。将您想要存储的系列数量乘以10,这就是您需要的兆字节数。粗略地说,这至少会让你达到正确的数量级。

票数 1
EN

Stack Overflow用户

发布于 2019-10-11 13:50:45

从普罗米修斯2.7开始,你们就引入了一个新的旗帜来管理保留。从医生那里:

--storage.tsdb.retention.size:试验性的,这决定了存储块可以使用的最大字节数(请注意,这不包括WAL大小,它可以是很大的)。将首先删除最古老的数据。默认为0或禁用。此标志是实验性的,可以在以后的版本中更改。支持的单元: KB,MB,GB,PB。例:“512 Ex”

您可以在部署配置中设置此参数选项,以根据大小而不是时间限制保留。

根据的消息来源,由于它是实验性质的,所以给WAL和一个最大尺寸块留出空间是安全的(这是10%的保留时间和一个月的较小空间)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58335626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档