将 Grafana 指标与不匹配的标签相结合

Posted

技术标签:

【中文标题】将 Grafana 指标与不匹配的标签相结合【英文标题】:Combine Grafana metrics with mismatched labels 【发布时间】:2019-04-27 22:46:57 【问题描述】:

我有两个指标(与我的 Kubernetes pod 中的内存使用相关)定义如下:

    kube_pod_container_resource_limits_memory_bytesapp="kube-state-metrics",container="foo",instance="10.244.0.7:8080",job="kubernetes-endpoints",kubernetes_name="kube -state-metrics",kubernetes_namespace="monitoring",namespace="test",node="aks-nodepool1-25518080-0",pod="foo-cb9bc5fb5-2bghz" container_memory_working_set_bytesagentpool="nodepool1",beta_kubernetes_io_arch="amd64",beta_kubernetes_io_instance_type="Standard_A2",beta_kubernetes_io_os="linux",container_name="foo",failure_domain_beta_kubernetes_io_region="beta_kubernetes_io_region="westeurope_"_io_ubernetes “1”,ID = “/ kubepods /爆裂/ pod5b0099a9-连翘醇提物-11e8-884b-ca2011a99774 / eeb183b21e2b3226a32de41dd85d7a2e9fc8715cf31ea7109bfbb2cae7c00c44”,图像= “@ SHA256:6d6003ba86a0b7f74f512b08768093b4c098e825bd7850db66d11f66bc384870”,例如= “AKS-nodepool1-25518080-0”,作业=“kubernetes -cadvisor",kubernetes_azure_com_cluster="MC_test.planned.bthbygg.se_bthbygg-test_westeurope",kubernetes_io_hostname="aks-nodepool1-25518080-0",kubernetes_io_role="agent",name="k8s_foo_foo-cb9bc5fb5-2bghz_test_5b0099a9-eeff-18-84 -ca2011a99774_0",namespace="test",pod_name="foo-cb9bc5fb5-2bghz",storageprofile="managed",storagetier="Standard_LRS"

我想将这两个组合成一个百分比,通过做类似的事情

container_memory_working_set_bytesnamespace="test"
  / kube_pod_container_resource_limits_memory_bytesnamespace="test"

但这没有给我任何数据,大概是因为没有匹配的标签来加入数据集。如您所见,我确实有匹配的标签 values,但标签 names 不匹配。

我是否可以通过某种方式制定我的查询以加入这些查询,例如pod == pod_name,无需更改另一端的指标(导出的位置)?

【问题讨论】:

【参考方案1】:

您可以使用 PromQL label_replace 函数从原始标签创建新的匹配标签。

例如,您可以使用以下表达式将container_name="foo" 标签添加到可用于连接的第一个指标:

label_replace(
 kube_pod_container_resource_limits_memory_bytes,
 "container_name", "$1", "container", "(.*)")

您可以使用上述模式创建可用于匹配的新标签。

【讨论】:

以上是关于将 Grafana 指标与不匹配的标签相结合的主要内容,如果未能解决你的问题,请参考以下文章

如何在 grafana 上显示指标时用标签替换目标

指标包含 grafana 中的标签时的百分比图

如何在 Prometheus/Grafana 中不指定标签的情况下通过唯一标签计算指标数量?

如何在基于 sysdig 指标标签的 grafana 仪表板中创建下拉菜单

Grafana仪表板变量:当指标等于一个值时如何提取标签值

Grafana 配置变量