Prometheus 黑盒探测有用的指标

Posted

技术标签:

【中文标题】Prometheus 黑盒探测有用的指标【英文标题】:Prometheus blackbox probe helpful metrics 【发布时间】:2021-07-02 08:45:24 【问题描述】:

我有大约 1000 个使用 HTTP 探测的目标。

job="http_2xx", env="prod", instance="x.x.x.x"
job="http_2xx", env="test", instance="y.y.y.y"
job="http_2xx", env="dev", instance="z.z.z.z"

我想知道目标:

    过去 10 分钟内 env 的故障率。 过去 10 分钟内 env 的失败率增加。 很好奇以下内容的作用:
sum(increase(probe_successjob="http_2xx"[10m]))

rate(probe_successjob="http_2xx", env="prod"[5m]) * 100

我所达到的最接近的是在 10 分钟内通过 env 找到操作:

avg(avg_over_time(probe_successjob="http_2xx", env="prod"[10m]) * 100)

【问题讨论】:

【参考方案1】:

    在过去 10 分钟内按环境划分的失败率。最简单的方法是:

    sum(rate(probe_successjob="http_2xx"[10m]) * 100) by (env)

    这将返回成功探测的百分比,您可以反向添加*(-1) +100

    计算超过 10m 的速率和增加超过 10m 的速率似乎是多余的,在上述查询中添加 increase 函数对我来说不起作用。您可以根据需要将 rate 函数替换为 increase

    第一个查询非常接近,它将计算 10m 周期内成功探测的增加。您可以通过添加== 0 并通过“env”变量求和来显示失败探测的增加

    sum(increase(probe_successjob="http_2xx" == 0 [10m])) by (env)

    您的第二个查询将返回 prod 环境超过 5m 的成功请求的百分比

【讨论】:

以上是关于Prometheus 黑盒探测有用的指标的主要内容,如果未能解决你的问题,请参考以下文章

prometheus使用三(自定义监控指标实现)

GKE 和 prometheus 监控

Prometheus 的黑盒导出器中的 3 个 ICMP 阶段是啥意思?

监控(Prometheus)的使用

性能监控之 blackbox_exporter+Prometheus+Grafana 实现网络探测

Prometheus 查询语言