docker run --restart=always --name consul -p 8500:8500 -v /home/consul/conf/:/consul/conf/ -v /home/consul/data/:/consul/data/ -d consul agent -server -ui -bind=0.0.0.0 -client=0.0.0.0 -bootstrap-expect=1
[root@prometheus_sh_01_10_23_1x_174 ~]# curl -X PUT -d '{"id":"node-exporter11-10.31.140.24","name":"node-exporter11-10.31.140.24","address":"10.31.1x.24","port": 9100,"Meta": {"service":"test_consule","instance_host":"10.31.1x.24"},"tags": ["test"],"checks": [{"http":"http://10.31.1x.24:9100/metrics","interval":"15s"}]}' http://10.100.1x.55:8500/v1/agent/service/register
[root@prometheus_sh_01_10_23_1x_174 ~]# curl http://10.100.140.55:8500/v1/agent/services
{"node-exporter":{"ID":"node-exporter","Service":"node-exporter11-10.23.140.174","Tags":["test"],"Meta":{"instance_host":"10.23.140.174","service":"test_consule"},"Port":9100,"Address":"10.23.140.174","TaggedAddresses":{"lan_ipv4":{"Address":"10.23.140.174","Port":9100},"wan_ipv4":{"Address":"10.23.140.174","Port":9100}},"Weights":{"Passing":1,"Warning":1},"EnableTagOverride":false,"Datacenter":"dc1"},"node-exporter11-10.31.1x.24":{"ID":"node-exporter11-10.31.140.24","Service":"node-exporter11-10.31.1x.24","Tags":["test"],"Meta":{"instance_host":"10.31.1x.24","service":"test_consule"},"Port":9100,"Address":"10.31.140.24","TaggedAddresses":{"lan_ipv4":{"Address":"10.31.1x.24","Port":9100},"wan_ipv4":{"Address":"10.31.1x.24","Port":9100}},"Weights":{"Passing":1,"Warning":1},"EnableTagOverride":false,"Datacenter":"dc1"}}[root@prometheus_sh_01_10_23_1x_174 ~]#
[root@prometheus_sh_01_10_23_x40_174 ~]#
curl -X PUT http://10.100.1x.55:8500/v1/agent/service/deregister/node-exporter11-10.23.1x.174
- job_name: 'consul-prometheus'
consul_sd_configs:
- server: '10.100.1x.55:8500'
services: []
relabel_configs:
- source_labels: ['__meta_consul_tags']
target_label: 'product'
- source_labels: ['__meta_consul_dc']
target_label: 'idc'
- source_labels: ['__meta_consul_service']
regex: "consul" #匹配为 "consul" 的 service
action: drop # 执行的动作
- source_labels: ['job']
target_label: 'environment'
regex: '(.*)job'
replacement: '${1}'