Prometheus PromQL:查找低于平均值的向量元素

Prometheus PromQL:查找低于平均值的向量元素,prometheus,promql,Prometheus,Promql,我有一个带有标签(实例)的普罗米修斯向量度量(etcd\u网络\u客户端\u grpc\u接收的字节数\u总计)。度量对于一组标签值中的每一个都有不同的值(即每个实例一个值)。我想找到所有实例s,其值小于所有实例平均值的70% 例如,如果向量具有以下值: etcd_network_client_grpc_received_bytes_total{instance="192.168.0.18:2399"} 19021275139 etcd_network_client_grpc_received_

我有一个带有标签(
实例
)的普罗米修斯向量度量(
etcd\u网络\u客户端\u grpc\u接收的字节数\u总计
)。度量对于一组标签值中的每一个都有不同的值(即每个
实例一个值)。我想找到所有
实例
s,其值小于所有实例平均值的70%

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

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))
etcd\网络\客户端\ grpc\接收字节总数<(平均值0.7*etcd\网络\客户端\ grpc\接收字节总数))
(我猜是因为对每个标签值都进行了评估)

这可能吗

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

etcd\u网络\u客户端\u grpc\u接收的字节数\u总数
<忽略(实例)组\u左
0.7*无(实例)的平均值(etcd\网络\客户端\ grpc\接收字节\总计)

请看

顺便说一句。我认为可能有效的一件事是为平均值制定一个记录规则,但这似乎太过分了。
etcd_network_client_grpc_received_bytes_total
< ignoring(instance) group_left
0.7 * avg without(instance)(etcd_network_client_grpc_received_bytes_total)