gpt4 book ai didi

prometheus - 减去费率和费率总和

转载 作者:行者123 更新时间:2023-12-04 10:03:31 25 4
gpt4 key购买 nike

具有网络传输指标,例如node_network_transmit_bytes_total来自 nodeexporter我想得到一个接口(interface)的传输速率(在我的例子中是 enp3s0)和所有网桥接口(interface)传输速率的总和之间的差异。

我有这样的事情:

irate(node_network_transmit_bytes_total{device="enp3s0"}[1m]) -  irate(node_network_transmit_bytes_total{device=~"br.*"}[1m])

但这没有给我任何数据点。

编辑

我试过了 Prometheus/PromQL subtract two gauge metrics建议但我的情况有点不同,因为在右侧我有多个系列。

所以这:
node_network_transmit_bytes_total{device="enp3s0"} - ignoring(device) node_network_transmit_bytes_total{device=~"br.*"}

产量:

Error executing query: found duplicate series for the match group {instance="192.168.X.Z:9100", job="nodeexporter"} on the right hand-side of the operation: [{name="node_network_transmit_bytes_total", device="br-XXXX", instance="192.168.X.Z:9100", job="nodeexporter"}, {name="node_network_transmit_bytes_total", device="br-5d6dce95c2b0", instance="192.168.X.Z:9100", job="nodeexporter"}];many-to-many matching not allowed: matching labels must be unique on one side



我试过使用 sum() :
node_network_transmit_bytes_total{device="enp3s0"} - ignoring(device) sum(node_network_transmit_bytes_total{device=~"br.*"})

但这又没有结果。

编辑2

我已经设法弄清楚如何通过
sum(node_network_transmit_bytes_total{device="enp3s0"}) by (instance) - sum (node_network_transmit_bytes_total{device=~"br.*"}) by (instance)

但我不能使用 irate在上面:
irate(sum(node_network_transmit_bytes_total{device="enp3s0"}) by (instance) - sum (node_network_transmit_bytes_total{device=~"br.*"}) by (instance))[5m]

Error executing query: 1:149: parse error: ranges only allowed for vector selectors

最佳答案

好的,这似乎是解决方案:

(sum(irate(node_network_receive_bytes_total{device="enp3s0"}[1m])) by (instance))
-
(sum(irate(node_network_receive_bytes_total{device=~"br.*"}[1m])) by (instance))

关于prometheus - 减去费率和费率总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61711079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com