尝试在两个查询之间使用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”及其节点名称的指标。
答案 0 :(得分:0)
RHS没有instance
标签,因此它试图将所有这些系列与LHS上的一个匹配。尝试max by (node, instance) (kube_node_labels{label_grid="true"})