Prometheus 普罗米修斯:普罗米修斯减法,相同的标签,不同的值

Prometheus 普罗米修斯:普罗米修斯减法,相同的标签,不同的值,prometheus,grafana,hystrix,Prometheus,Grafana,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 基本上,抛出的异常是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
基本上,抛出的异常是Hystrix发出的一个事件,但Hystrix也发出另一个表示客户端错误的度量值
bad_请求
。为了获得上游服务器错误的准确度量,我需要减去两个指标,它们具有相同的标签,但值不同,然后得到每分钟的警报率

hystrix_execution_total{job="auth",key="authenticate",event="exception_thrown"} - hystrix_execution_total{job="auth",key="authenticate",event="bad_request"}
如果有可能做到这一点,有什么想法吗?
一旦有人指出标签值之间的差异超过1,忽略就起作用了

不仅事件标签值不同,而且终端标签值也存在相应的差异。对于抛出的异常,terminal=true;对于错误的请求,terminal=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