技术解析

prometheus federation 的内存问题
0
2021-06-18 18:11:41
idczone

遇到一个问题, prometheus-1 通过 federate 去 pull 另一个 prometheus-2 上的数据时, 大多成功, 但是当在一段时间内出现多次 timeout 的情况, 这时 prometheus-1 的内存会暴涨好几个 GB, 想知道这时 prometheus-1 上的工作机制是什么, 是什么原因导致它需要这部分内存

强调下, 是在一段时间内出现多次 pull 失败才暴涨

我的猜测

  1. prometheus pull 这部分数据失败, 因为数据不完整, 需要将已经获得的部分数据清理掉, 可是这时一个 HTTP 请求并没有完成, 这"部分数据"存在吗?
  2. pull timeout 后, 因为到了下一次的 pull, 开始新的 pull 的同时, 需要处理掉前一个未完成请求, 将其加载到内存中处理, 似乎还是 1 的样子
  3. prometheus 内部的某种机制需要它在 pull timeout 时做些秘密的工作...

如果可以提供下相关的博客文档也可以, 搜索了好些信息, 发现都没有解释这一现象的, 先谢谢大家




数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服