[Prometheus][Grafana]使用label在它们之间映射metrics
[Prometheus][Grafana] Use label to map metrics between them
我正在尝试根据 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 和集群的区域标签得到同一区域中所有集群的总和值 vmware_host_num_cpu。
在我的例子中,结果应该是:
Total num_cpu for region1 = 14.0
Total num_cpu for region2 = 2.0
你知道怎么做吗?
谢谢
sum by (region) (
vmware_host_num_cpu
+ on(cluster_name) group_left(region)
vmware_cluster_currentFailoverLevel * 0
)
如果有一个信息指标来进行连接,那就更干净了。
我正在尝试根据 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 和集群的区域标签得到同一区域中所有集群的总和值 vmware_host_num_cpu。
在我的例子中,结果应该是:
Total num_cpu for region1 = 14.0
Total num_cpu for region2 = 2.0
你知道怎么做吗? 谢谢
sum by (region) (
vmware_host_num_cpu
+ on(cluster_name) group_left(region)
vmware_cluster_currentFailoverLevel * 0
)
如果有一个信息指标来进行连接,那就更干净了。