Kubernetes 将Grafana度量与不匹配的标签相结合

Kubernetes 将Grafana度量与不匹配的标签相结合,kubernetes,grafana,prometheus,Kubernetes,Grafana,Prometheus,我有两个指标(与Kubernetes吊舱中的内存使用有关)定义如下: kube_pod_container_resource_limits_memory_bytes{app=“kube state metrics”、container=“foo”、instance=“10.244.0.7:8080”、job=“kubernetes endpoints”、kubernetes_name=“kube state metrics”、kubernetes_namespace=“monitoring”、n

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

  • kube_pod_container_resource_limits_memory_bytes{app=“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”
  • 容器内存工作集字节数{agentpool=“nodepool1”,beta\u kubernetes\u io arch=“amd64”,beta\u kubernetes\u io\u实例类型=“Standard\u A2”,beta\u kubernetes\u io os=“linux”,容器名称=“foo”,故障域\u beta\u kubernetes\u io\u region=“西欧”,故障域\u kubernetes\u io=“1”,id=“/kubepods/burstable/Pod5B009A9-eeff-11e8-884b-ca2011a99774/EEB183B21E2B326A32DE41DD85D7A2E9FC8715CF31EA7109BFBB2CAE7C00C44”,image=“@sha256:6D6003B86A0B7F7452B08768093B4C098E825BD7850DB66D11F384870”,instance=“aks-nodepool1-25518080-0”,job=“kubernetes Caddvisor”,kubernetesòòòòòòMC_test.planned.bthbygg.se_bthbygg-test_westeurope”,kubernetes_io_hostname=“aks-nodepool1-25518080-0”,kubernetes_io_role=“agent”,name=“k8s_-foo-cb9bc5fb5-2bghz_test_5b0099;-eeff-11e8-884;-ca2011a99774_0”,namespace=“test”,pod=“name=”foo-cbbc5fbc5-2bfb5-2bghz>,storages=“标准存储层
  • 我想把这两者结合成一个百分比

    container_memory_working_set_bytes{namespace="test"}
      / kube_pod_container_resource_limits_memory_bytes{namespace="test"}
    
    但这并没有返回任何数据,可能是因为没有匹配的标签来加入数据集。正如您所看到的,我有匹配的标签值,但标签名称不匹配

    我是否可以通过某种方式制定我的查询,以便在例如
    pod==pod\u name
    上加入这些查询,而不必更改另一端(它们导出的地方)的度量?

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

    例如,您可以使用以下表达式将
    容器\u name=“foo”
    标签添加到可用于执行联接的第一个度量:

    label_replace(
     kube_pod_container_resource_limits_memory_bytes,
     "container_name", "$1", "container", "(.*)")
    
    您可以使用上述模式创建可用于匹配的新标签