在Prometheus

时间:2019-05-16 06:54:52

标签: prometheus

尝试在两个查询之间使用group_left时出现错误

查询为:

floor(avg_over_time(dcgm_gpu_utilization{cluster_name="researchers"}[5m]) * on (instance) group_left(node) max by (node) (kube_node_labels{label_grid="true"}))

它显示此错误:

  

执行查询时出错:找到匹配组{}的重复序列   在操作的右侧:[{node =“ gpu-m-08”},   {node =“ gpu-l-03”}];不允许多对多匹配:匹配标签   一侧必须是唯一的

查询一个输出 floor(avg_over_time(dcgm_gpu_utilization {cluster_name =“ researchers”} [5m]))

{app="prometheus-node-exporter",chart="prometheus-node-exporter-1.3.0",cluster_name="researchers",gpu="0",heritage="Tiller",instance="172.21.4.101:9100",job="kubernetes-service-endpoints",kubernetes_name="prometheus-node-exporter",kubernetes_namespace="monitoring",release="prometheus-node-exporter",uuid="GPU-92e6ebf6-2b2d-c041-7f70-e16812c0ffa0"}

通过(节点)(kube_node_labels {label_grid =“ true”})查询两个输出 max

{node="gpu-m-08"}
{node="gpu-m-09"}
{node="gpu-m-12"}

我只想在有问题的查询输出中查看节点标签。

顺便说一句,这有效(没有label_grid = true标签):

floor(avg_over_time(dcgm_gpu_utilization{cluster_name="researchers"}[5m])  * on (instance) group_left(nodename) node_uname_info)

它将节点名添加到“查询输出标签”列表中。

主要目标是仅查看带有标签label_grid =“ true”及其节点名称的指标。

1 个答案:

答案 0 :(得分:0)

RHS没有instance标签,因此它试图将所有这些系列与LHS上的一个匹配。尝试max by (node, instance) (kube_node_labels{label_grid="true"})