1

我有一个etcd_network_client_grpc_received_bytes_total带有标签 ( ) 的 Prometheus 向量度量 ( instance)。对于一组标签值中的每一个,该度量都有不同的值(即每个值一个值instance)。我想找到instance值小于所有实例平均值的 70% 的所有 s。

例如,如果向量具有以下值:

etcd_network_client_grpc_received_bytes_total{instance="192.168.0.18:2399"} 19021275139
etcd_network_client_grpc_received_bytes_total{instance="192.168.0.22:2399"} 390020
etcd_network_client_grpc_received_bytes_total{instance="192.168.0.30:2399"} 19021275254
etcd_network_client_grpc_received_bytes_total{instance="192.168.0.48:2399"} 38992
etcd_network_client_grpc_received_bytes_total{instance="192.168.0.49:2399"} 1992

...那么查询应该返回第 2、第 4 和第 5 个元素。

什么不起作用:

etcd_network_client_grpc_received_bytes_total < (0.7 * avg (etcd_network_client_grpc_received_bytes_total))

(我猜是因为对每个标签值都进行了评估)

这可能吗?

(我实际上应该比较费率,而不是总数,但现在让我们保持简单)

4

1 回答 1

2
etcd_network_client_grpc_received_bytes_total
< ignoring(instance) group_left
0.7 * avg without(instance)(etcd_network_client_grpc_received_bytes_total)

请参阅如何比较选择大于平均值的所有值?

于 2019-10-15T09:28:07.330 回答