4

我的目标是在服务器及其运行的 docker 容器上使用 Prometheus 观察指标(如 CPU、内存使用情况等)。在发送警报之前,我想将这些指标的某些值与例如 0.95 分位数进行比较。然而,经过数周的互联网搜索,我仍然难以为某些分位数创建指标。因此,我在此线程中向您寻求帮助/建议,如何为某些指标创建分位数。

背景

代码库是docprom存储库的一个分支。此代码依赖 Prometheus 进行监控。cAdvisorPrometheus 从正在运行的容器中检索其数据。提供的 cAdvisor for Prometheus 指标可以在下一页看到。但是,它仅提供GaugeCounter度量类型。在我的研究过程中,我无法找到可以修改/扩展那些提供的指标的参数。

问题

根据我目前的理解,度量类型应该是aHistogramSummary为了观察分位数。histogram_quantile对 cAdvisor 提供的指标使用查询的最佳方法是什么?

我目前的想法是

  1. 创建自定义服务器
  2. 从 Prometheus 获取所需的数据
  3. 计算所需数据
  4. 将其作为服务器的指标提供,以便 Prometheus 可以抓取它
  5. histogram_quantile在自定义指标上运行

为了创建可与分位数一起使用的指标,这是正确的方法吗?

例如,如果某个容器的 CPU 使用率超过 0,95 分位数,我想发出警报。CPU 使用率的代码示例如下:

sum(rate(container_cpu_usage_seconds_total{name="CONTAINER_NAME"}[10m]))) / count(node_cpu_seconds_total{mode="system"}) * 100

创建所需分位数的最佳方法是什么?我是在正确的道路上还是我在这里错过了一些简单的东西?因为它看起来对我来说太难了,无法获得一个带有分位数的简单查询。

我感谢所有帮助和信息。

4

0 回答 0