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