Consul简介
◼ 一款基于golang开发的开源工具,主要面向分布式,服务化的系统提供服务注册、服务发现和配置管理
的功能
◼ 提供服务注册/发现、健康检查、Key/Value存储、多数据中心和分布式一致性保证等功能
部署
bash
curl -LO https://releases.hashicorp.com/consul/1.16.2/consul_1.16.2_linux_amd64.zip
unzip consul_1.16.2_linux_amd64.zip
mv consul /usr/local/bin
consul agent -dev -ui -data-dir=/consul/data/ \
-config-dir=/etc/consul/ -client=0.0.0.0
访问
bash
root@server01:/consul/data# vi /etc/consul/nodes.json
{
"service": {
"id": "node_exporter",
"name": "node01",
"address": "172.29.21.67",
"port": 9100,
"tags": ["nodes"],
"checks": [{
"http": "http://172.29.21.67:9100/metrics",
"interval": "5s"
}]
}
}
基于consnl的服务发现
修改prometheus配置文件
注释file_sd_configs段
添加consul_sd_configs段
查看prometheus
之前labels的os标签没有了,这个是基于consnl发现的