Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 如何计算K8S集群中prometheus服务器pod所需的持久卷大小?_Kubernetes_Prometheus_Persistent Storage - Fatal编程技术网

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

Kubernetes 如何计算K8S集群中prometheus服务器pod所需的持久卷大小?,kubernetes,prometheus,persistent-storage,Kubernetes,Prometheus,Persistent Storage,我将普罗米修斯头盔图安装到库伯内特斯星系团进行监测。 默认情况下 prometheus服务器的持久卷大小定义为8Gi Prometheus服务器将在该卷中存储度量数据15天(保留期) 部署图表几天后,普罗米修斯服务器吊舱进入了崩溃状态。 从pod日志中找到的原因是: level=error ts=2019-10-09T11:03:10.802847347Z caller=main.go:625 err="opening storage failed: zero-pad torn page:

我将普罗米修斯头盔图安装到库伯内特斯星系团进行监测。 默认情况下

  • prometheus服务器的持久卷大小定义为8Gi
  • Prometheus服务器将在该卷中存储度量数据15天(保留期)
部署图表几天后,普罗米修斯服务器吊舱进入了崩溃状态。 从pod日志中找到的原因是:

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"
这意味着磁盘(永久卷)中没有可用空间来保存数据。 因此,我清除了卷的现有数据并暂时修复了该问题

对此,什么是正确的解决方案

报告说:

要规划普罗米修斯服务器的容量,可以使用大致公式:

needed_disk_space = retention_time_seconds * ingested_samples_per_second * bytes_per_sample
有人能解释一下如何故意使用这个公式吗

为什么8Gi尺寸不够,保留期为15天

编辑:

needed_disk_space = retention_time_seconds * ingested_samples_per_second * bytes_per_sample

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

15天约为130万秒。让我们高估每个样本8个字节。因此,每个指标大约需要10mb。所以8gb可以让您存储800个指标。你可能还有更多。将要存储的序列数乘以10,这就是所需的兆字节数。大致上,这至少会使您获得正确的数量级。

从普罗米修斯2.7开始,他们已经引入了一个新的标志来管理保留。从文档:

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

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


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

谢谢。需要存储的序列数是什么意思?每个样本2个字节通常是保守估计,通常引用1.6ish。此外,您通常不会在1秒的时间间隔内获取所有数据,因此可能会将所有数据都高估10倍。但距离足够近,有一些安全空间:)