[Prometheus] [Grafana]使用标签在它们之间映射指标

问题描述 投票:0回答:1

我正在尝试基于grafana中的父标签值来连接一些指标。

我正在为虚拟机监控程序导出一些指标,如下所示:


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和node2在cluster1中,node3在cluster2中,而node4在cluster3中。我也有一些关于集群的具体指标:

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标签值。每个群集都有一个区域标签值。

我想根据每个系统管理程序的cluster_name和cluster的区域标签来获取同一区域中所有集群的vmware_host_num_cpu的总和。

在我的示例中,结果应为:

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

您对此有想法吗?谢谢

label grafana prometheus exporter
1个回答
0
投票
sum by (region) (
     vmware_host_num_cpu 
  + on(cluster_name) group_left(region) 
    vmware_cluster_currentFailoverLevel * 0
)

如果有一个进行连接的信息度量,这会更干净。

© www.soinside.com 2019 - 2024. All rights reserved.