prometheus - Prometheus:PromQL 减法,相同的标签,不同的值
问题描述
我正在使用 Hystrix、千分尺、普罗米修斯。
以下查询有效,但我需要修改它,我不知道如何:
sum by(group, key) (increase(hystrix_execution_total{event="exception_thrown"}[1m])) / sum by(group, key) (increase(hystrix_execution_terminal_total[1m])) * 100 >= 5
基本上exception_thrown
是由 Hystrix 发出的一个事件,但 Hystrix 也发出另一个bad_request
表示客户端错误 (400) 的指标。为了准确衡量上游服务器错误,我需要减去两个具有相同标签但值不同的指标,然后获得每分钟的警报率
hystrix_execution_total{job="auth",key="authenticate",event="exception_thrown"} - hystrix_execution_total{job="auth",key="authenticate",event="bad_request"}
解决方案
一旦有人指出标签值之间存在超过 1 个差异,忽略就起作用了。
不仅事件标签值不同,终端标签值也有相应的差异。对于exception_throw,终端=true,对于bad_request,终端=false[!
sum by(group, key) (increase(hystrix_execution_total{job="auth",key="authenticate",event="exception_thrown"}[10m]) - ignoring(event, terminal) increase(hystrix_execution_total{job="auth",key="authenticate",event="bad_request"}[10m])) / sum by(group, key) (increase(hystrix_execution_terminal_total[10m])) * 100 >= 5
推荐阅读
- wolfram-mathematica - Mathematica 的 NDSolve 正在快速找到一个刚性系统,试图求解大量微分方程
- android - 如何使用线程Android顺序更新视图
- php - 使用 PHP、mod rewrite 和 x-sendfile 保护登录后的所有 apache 文件
- php - PHP 表单确认
- azure - 在 Azure 中移动云控制台的位置
- c# - 来自连接不同设备的一个程序实例的多个客户端套接字 - 工作速度非常慢
- android - 通过 Android Studio 手动将文件附加到内部存储
- swift - 使用 Swift 从闭包中捕获一个值(不正常)
- javascript - 为什么我的 JavaScript 第二个计数器不起作用?
- tampermonkey - 有没有办法在 Tampermonkey 上加载所需资源时捕获错误?