具有动态规则的 Prometheus 服务器

时间:2021-01-31 17:09:58

标签: kubernetes monitoring prometheus configmap

我目前正在开发一个使用 Prometheus Server(不是 Prometheus Operator)的项目。 我们希望引入一种无需重新部署即可修改 PrometheusRules 的方法。

我对容器和 Kubernetes 完全陌生,而且有点不知所措,所以我希望有人可以让我知道我是否在浪费时间试图完成这项工作。

我目前想到的做法是:

  1. 将 PrometheusRules 存储在配置映射中。
  2. 将规则的配置映射应用于 Prometheus 服务器配置。
  3. 为 Prometheus 服务器创建一个可以修改此 configMap 的 sidecar。
  4. sidecar 将公开一个 API,因此用户将拥有规则的 CRUD 功能。
  5. 成功修改规则后,sidecar 将触发 Prometheus 服务器上的重新加载端点,使其重新加载其配置文件,而无需重新启动容器。

谢谢

1 个答案:

答案 0 :(得分:1)

您最初的用例似乎是有效的,但我想说有更好的方法来实现这一点。

对于第 1,2 点,我建议您使用 Prometheus Helm Chart 以方便使用、更好的配置管理和部署。这会将 Prometheus 配置作为一个单元进行跟踪,而不是单独维护规则文件。

对于第 3,4 点:- 对实时配置进行未经跟踪的直接更改似乎并不安全。使用上面提到的舵图,我建议您在部署到集群之前进行更改(使用像 Git 一样的 VCS 来跟踪更改)

最佳情况:- 还设置 CI/CD 管道以立即部署更改。

使用前面提到的重新加载 API 重新加载新发布的配置。

探索更多关于Helm