PromQL multi join - PullRequest
       88

PromQL multi join

0 голосов
/ 28 апреля 2020

хорошо, это не простой запрос PromQL, который я хочу выполнить. это мои входные данные:

accessPoint_numClients{mac="00:11:22:33:44:55"} 11
accessPoint_numClients{mac="00:11:22:33:44:AA"} 12
accessPoint_numClients{mac="00:11:22:33:44:BB"} 5

accessPoints{mac="00:11:22:33:44:55", groupId="1"} 1
accessPoints{mac="00:11:22:33:44:AA", groupId="1"} 1
accessPoints{mac="00:11:22:33:44:BB", groupId="2"} 1

controller_zone_groups{groupId="1", groupName="Foo"} 1
controller_zone_groups{groupId="2", groupName="Bar"} 1
controller_zone_groups{groupId="3", groupName="Baz"} 1

Итак, я хочу сгенерировать граф графы, который группирует количество клиентов по группам, а также распечатать связанные имена групп.

, так что это моя текущая попытка , но это далеко от рабочего запроса:

sum by (groupId) (accessPoint_numClients * on (mac) group_left(groupId) accessPoints * on (groupId) group_left(groupName) controller_zone_groups)

есть ли шанс получить это рабочее?

thx, volker ...

=== ============= ОБНОВЛЕНИЕ ===============

хорошо, возможно, некоторые примеры запросов с ответом:

sum by (apGroupId) ((smartzone_accessPoint_numClients * on (mac) group_left(apGroupId) smartzone_accessPoints) or (groupId) group_left(groupName) smartzone_controller_zone_groups)

==> "ошибка синтаксического анализа на символе 125: неожиданное в агрегации, ожидаемое \") \ ""

sum by (apGroupId) (smartzone_accessPoint_numClients * on (mac) group_left(apGroupId) smartzone_accessPoints) * on (apGroupId) group_left(groupName) smartzone_controller_zone_groups

==> "сопоставление« многие ко многим »не разрешено: соответствующие метки должны быть уникальное с одной стороны "

sum by (groupName) (smartzone_accessPoint_numClients * on (mac) group_left(apGroupId) smartzone_accessPoints) * on (apGroupId) group_left(groupName) smartzone_controller_zone_groups

==>" сопоставление многих со многими недопустимо: совпадающие метки должны быть уникальными с одной стороны "

1 Ответ

0 голосов
/ 29 апреля 2020

Ваш вопрос немного неясен, но я думаю, что вы спрашиваете, почему groupName нет в выводе. Ответ в том, что sum агрегирует его, что добавит groupName к by.

...