monitoring - Prometheus 黑盒探测有用的指标
问题描述
我有大约 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 的失败率。
- env 在过去 10 分钟内的失败率增加。
- 好奇以下是做什么的:
sum(increase(probe_success{job="http_2xx"}[10m]))
rate(probe_success{job="http_2xx", env="prod"}[5m]) * 100
我已经达到的最接近的是在 10 分钟内通过 env 找到操作:
avg(avg_over_time(probe_success{job="http_2xx", env="prod"}[10m]) * 100)
解决方案
过去 10 分钟内 env 的失败率。最简单的方法是:
sum(rate(probe_success{job="http_2xx"}[10m]) * 100) by (env)
这将返回您成功探测的百分比,您可以反向添加
*(-1) +100
计算超过 10m 的速率和超过 10m 的速率增加似乎是多余的
increase
,向上述查询添加函数对我不起作用。increase
如果愿意,您可以将 rate 函数替换为。第一个查询非常接近,它将计算 10m 周期内成功探测的增加。
== 0
您可以通过“env”变量相加和求和来显示失败探测的增加sum(increase(probe_success{job="http_2xx"} == 0 [10m])) by (env)
您的第二个查询将为 prod 环境返回超过 5m 的成功请求百分比
推荐阅读
- javascript - 通过滚动另一个和周围的方式滚动 DIV
- flutter - 未找到模块“firebase_admob”
- javascript - Fetch API PUT 方法不更新数据库
- mongoose - 猫鼬填充文档
- python - Selenium 找不到 css 类
- hive - 从配置单元中的 JSON 数组获取 JSON 密钥时面临的问题
- r - 如何获得矩阵中每一列的随机数?
- django - Djnago 中的双重身份验证
- postgresql - 带有 4 个参数的 Oracle regexp_substr 到 Postgres
- javascript - Electron 构建在本地工作,但在代码提交到 Github 后它会中断