[Прометей] [Графана] Используйте метку для отображения метрик между ними - PullRequest
0 голосов
/ 14 октября 2019

Я пытаюсь объединить некоторые метрики на основе значения родительской метки в графане.

Я экспортирую некоторые метрики для гипервизора, как показано ниже:


vmware_host_num_cpu{cluster_name="cluster1",dc_name="datacenter1",host_name="node1"} 4.0

vmware_host_num_cpu{cluster_name="cluster1",dc_name="datacenter1",host_name="node2"} 2.0

vmware_host_num_cpu{cluster_name="cluster2",dc_name="datacenter1",host_name="node3"} 8.0

vmware_host_num_cpu{cluster_name="cluster3",dc_name="datacenter2",host_name="node4"} 2.0

В моем примере node1и узел 2 находится в кластере 1, узел 3 в кластере 2 и узел 4 в кластере 3. У меня также есть некоторые специфические метрики для кластера:

vmware_cluster_currentFailoverLevel{cluster_name="cluster1",dc_name="datacenter1",region="region1"} 1.0

vmware_cluster_currentFailoverLevel{cluster_name="cluster2",dc_name="datacenter1",region="region1"} 0.0

vmware_cluster_currentFailoverLevel{cluster_name="cluster3",dc_name="datacenter2",region="region2"} 0.0

В моем примере cluster1 и cluster2 находятся в region1, а cluster3 в region2. Каждый гипервизор имеет значение метки cluster_name. Каждый кластер имеет значение метки региона.

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

В моем примере результат должен быть:

Total num_cpu for region1 = 14.0
Total num_cpu for region2 = 2.0

У вас есть идея, как это сделать? Спасибо

1 Ответ

1 голос
/ 15 октября 2019
sum by (region) (
     vmware_host_num_cpu 
  + on(cluster_name) group_left(region) 
    vmware_cluster_currentFailoverLevel * 0
)

Было бы чище, если бы существовал информационный показатель для объединения.

...