8、consul_exporter-0.7.1 安装部署
官方下载地址:
https://github.com/prometheus/consul_exporter/releases/download/v0.7.1/consul_exporter-0.7.1.linux-amd64.tar.gz
Consul 是基于 GO 语言开发的开源工具,主要面向分布式,服务化的系统提供服务注册、服务发现和配置管理的功能。Consul 提供服务注册/发现、健康检查、Key/Value存储、多数据中心和分布式一致性保证等功能。之前我们通过 Prometheus 实现监控,当新增一个 Target 时,需要变更服务器上的配置文件,即使使用 file_sd_configs 配置,也需要登录服务器修改对应 Json 文件,会非常麻烦。不过 Prometheus 官方支持多种自动服务发现的类型,其中就支持 Consul。
1、consul_exporter 安装
https://github.com/prometheus/consul_exporter/releases/tag/v0.5.0
# 解压文件
tar xf consul_exporter-0.7.1.linux-amd64.tar.gz
cd consul_exporter-0.7.1.linux-amd64/
# 配置启动文件
vim /usr/lib/systemd/system/consul_exporter.service
[Unit]
Description=blackbox_exporter
After=network.target
[Service]
User=root
Group=root
WorkingDirectory=/montion/consul_exporter-0.7.1.linux-amd64
ExecStart=/montion/consul_exporter-0.7.1.linux-amd64/consul_exporter
[Install]
WantedBy=multi-user.target
# 启动
systemctl restart consul_exporter.service
# 开机自启
systemctl enable consul_exporter.service
# 访问地址
浏览器访问 http://ip:9107
################# prometheus 配置###############
- job_name: 'consul-export'
metrics_path: "/v1/agent/metrics"
scheme: 'http'
param:
format: ['prometheus']
consul_sd_configs:
- targets:
- 'x.x.x.x:8500'
######################### 配置中心方法++++++++++++++
cat consul.json
{
"ID": "consul-instance-x.x.x.x",
"Name": "consul-instance-x.x.x.x",
"Tags": [
"consul_instance"
],
"Address": "x.x.x.x",
"Port": 9107,
"Meta": {
"instance": "consul-instance-x.x.x.x",
"role": "test-it-consul-cluster-prod"
},
"EnableTagOverride": false,
"Check": {
"HTTP": "http://x.x.x.x:9107/metrics",
"Interval": "10s"
},
"Weights": {
"Passing": 10,
"Warning": 1
}
}
# 注册服务
curl -X PUT --data @consul.json http://x.x.x.x:8500/v1/agent/service/register
# 注销服务
curl --request PUT http://x.x.x.x:8500/v1/agent/service/deregister/consul-instance-x.x.x.x
# grafana 模板
https://grafana.com/grafana/dashboards/12049