Если вы можете изменить код, было бы лучше иметь метрику c, посвященную владельцу:
# all metrics are identified a usual
cpu_count{machine="srv1", department="ops"} 8
# use an info metrics to give details about owner
machine_info{machine="srv1", owner="Alice", department="ops"} 1
Вы все равно можете агрегировать нужный вам идентификатор информации:
cpu_count * ON(machine,department) machine_info
Таким образом, owner
не загрязняет все ваши метрики. Тем не менее, у вас будут проблемы при смене владельца машины в ожидании исчезновения старого метри c (за 5 минут до устаревания).
Я не пробовал, но можно было бы использовать время, в которое владелец изменился (если вы можете предоставить его) как значение метри c - время эпохи в секундах.
# owner changed at Sun, 08 Mar 2020 22:05:53 GMT
machine_info{machine="srv1", owner="Alice", department="ops"} 1583705153
# Previous owner Sat, 01 Feb 2020 00:00:00 GMT
machine_info{machine="srv1", owner="Alice", department="ops"} 1580515200
А затем используйте следующее выражение, чтобы получить последнего владельца, когда вам нужно текущий владелец - полезно только в том случае, если владелец сменил его в течение последних 5 минут:
machine_info == ON(machine,department) BOOL (max(machine_info) BY(machine,department) )
Довольно глоток, но он подходит к тому, что вы хотите.