我的目标是在服务器及其运行的 docker 容器上使用 Prometheus 观察指标(如 CPU、内存使用情况等)。在发送警报之前,我想将这些指标的某些值与例如 0.95 分位数进行比较。然而,经过数周的互联网搜索,我仍然难以为某些分位数创建指标。因此,我在此线程中向您寻求帮助/建议,如何为某些指标创建分位数。
背景
代码库是docprom存储库的一个分支。此代码依赖 Prometheus 进行监控。cAdvisor
Prometheus 从正在运行的容器中检索其数据。提供的 cAdvisor for Prometheus 指标可以在下一页看到。但是,它仅提供Gauge
和Counter
度量类型。在我的研究过程中,我无法找到可以修改/扩展那些提供的指标的参数。
问题
根据我目前的理解,度量类型应该是aHistogram
或Summary
为了观察分位数。histogram_quantile
对 cAdvisor 提供的指标使用查询的最佳方法是什么?
我目前的想法是
- 创建自定义服务器
- 从 Prometheus 获取所需的数据
- 计算所需数据
- 将其作为服务器的指标提供,以便 Prometheus 可以抓取它
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
创建所需分位数的最佳方法是什么?我是在正确的道路上还是我在这里错过了一些简单的东西?因为它看起来对我来说太难了,无法获得一个带有分位数的简单查询。
我感谢所有帮助和信息。