prometheus federation 的内存问题

2019-12-18 23:01:25 +08:00
 plko345

遇到一个问题, 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 时做些秘密的工作...

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

3077 次点击
所在节点    Linux
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/630341

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX