Ошибка при использовании group_left в Prometheus - PullRequest
0 голосов
/ 16 мая 2019

Получение ошибки при попытке использовать 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"}]; сопоставление «многие ко многим» не разрешено: сопоставление меток должен быть уникальным с одной стороны

Запрос одного выхода этаж (avg_over_time (dcgm_gpu_utilization {cluster_name = "исследователи"} [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"}

Запрос двух выходных данных max by (узел) (kube_node_labels {label_grid = "true"}) :

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

Я просто хочу увидеть метку узла в проблемных выходных данных запроса.

Кстати, это работает (без label_grid = true label):

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

Добавляет имя узла в список меток вывода запроса.

Основная цель - просто посмотреть метрики с меткой label_grid = "true" и именем их узла.

1 Ответ

0 голосов
/ 16 мая 2019

RHS не имеет метки instance, поэтому он пытается сопоставить все эти серии с одной на LHS.Попробуйте max by (node, instance) (kube_node_labels{label_grid="true"})

...