减去 Micrometer/Prometheus 相同标签的不同指标

问题描述 投票:0回答:1

我有2微米

# HELP jms_payment_queue_in_total Current size of messages in JMS queue
# TYPE jms_payment_queue_in_total counter
jms_payment_queue_in_total{service_id="1056",} 2.0
jms_payment_queue_in_total{service_id="1050",} 4.0
jms_payment_queue_in_total{service_id="792",} 1.0
jms_payment_queue_in_total{service_id="584",} 1.0

# HELP jms_payment_queue_out_total Current size of messages in JMS queue
# TYPE jms_payment_queue_out_total counter
jms_payment_queue_out_total{success="success",service_id="1050",} 5.0
jms_payment_queue_out_total{success="success",service_id="977",} 22.0
jms_payment_queue_out_total{success="success",service_id="955",} 8.0

我喜欢绘制一个普罗米修斯查询来构建

jms_payment_queue_in_total{service_id="584",} - jms_payment_queue_out_total{success="success",service_id="584",}
(对于所有可能的相同成功和service_id字段)。如何做到这一点?

我厌倦了情节

abs_payment_total{service_id="1050"} - ignoring(success) jms_payment_queue_out_total{service_id="1050"}

在 Grafana 中,我肯定对这两个值都有点,但它没有绘制任何内容。这里出了什么问题?

prometheus grafana micrometer victoriametrics
1个回答
0
投票

您可以使用 promQL 函数

max_over_time(range-vector)

max_over_time(jms_payment_queue_in_total{service_id="584"}[1s])) by (service_id)
- max_over_time(jms_payment_queue_out_total{success="success",service_id="584"}[1s])) by (service_id) 
© www.soinside.com 2019 - 2024. All rights reserved.