Prometheus 如何重新标记concur sd config以基于concur元数据获取服务发现统计信息?

Prometheus 如何重新标记concur sd config以基于concur元数据获取服务发现统计信息?,prometheus,consul,service-discovery,promql,Prometheus,Consul,Service Discovery,Promql,这就是领事馆众多服务中的两项服务: "1": { "ID": "1", "Service": "Service X", "Meta": { "country": "USA" }, "Port": 0, "Address": "1.1.1.1", "Weights": { "Passing": 1, "W

这就是领事馆众多服务中的两项服务:

    "1": {
        "ID": "1",
        "Service": "Service X",
        "Meta": {
              "country": "USA"
        },
        "Port": 0,
        "Address": "1.1.1.1",
        "Weights": {
            "Passing": 1,
            "Warning": 1
        },
        "EnableTagOverride": false
    }

    "2": {
        "ID": "2",
        "Service": "Service Y",
        "Meta": {
              "country": "CANADA"
        },
        "Port": 0,
        "Address": "2.2.2.2",
        "Weights": {
            "Passing": 1,
            "Warning": 1
        },
        "EnableTagOverride": false
    }
每项服务都有健康检查

我的目标是找到所有基于Concur KV的健康服务。例如,在“美国”中查找所有“通过”的服务,或在“加拿大”中查找所有“关键”服务

我尝试了几个选项,但遇到的问题是,所有指标都有config.yaml中提到的每个relabel

查询1

领事健康服务状态{status=“passing”,instance=“USA”}

输出

领事健康服务状态{check=“service:1”,instance=“USA”,job=“consor”,node=“machine”,service\u id=“1”,service\u name=“service X“,status=“passing”}1

领事健康服务状态{check=“service:2”,instance=“USA”,job=“consor”,node=“machine”,service\u id=“2”,service\u name=“service Y“,status=“passing”}1

查询2

领事健康服务状态{status=“passing”,instance=“CANADA”}

输出

领事健康服务状态{check=“service:1”,instance=“CANADA”,job=“concur”,node=“machine”,service\u id=“1”,service\u name=“service X“,status=“passing”}1

领事健康服务状态{check=“service:2”,instance=“CANADA”,job=“concur”,node=“machine”,service\u id=“2”,service\u name=“service” Y“,status=“passing”}1

配置

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']

  - job_name: 'consul'
    consul_sd_configs:
      - server: 'localhost:8500'
        services: []
    relabel_configs:
      - source_labels: [__meta_consul_service_metadata_country]
        target_label: instance
      - source_labels: ['__meta_consul_address']
        separator: ';'
        target_label:  '__address__'
        replacement: 'localhost:9107'
        action: 'replace'
我希望看到这样的输出:

查询1

领事健康服务状态{status=“passing”,instance=“USA”}

输出

领事健康服务状态{check=“service:1”,instance=“USA”,job=“consor”,node=“machine”,service\u id=“1”,service\u name=“service X“,status=“passing”}1

查询2

领事健康服务状态{status=“passing”,instance=“CANADA”}

输出

领事健康服务状态{check=“service:2”,instance=“CANADA”,job=“concur”,node=“machine”,service\u id=“2”,service\u name=“service” Y“,status=“passing”}1