概述
- ConsulManager是一個(gè)使用Flask+Vue開發(fā)的Consul WEB管理工具坛掠,比官方自帶的WEB UI實(shí)現(xiàn)了更多的功能。
- 可以方便的對(duì)Consul Services進(jìn)行增刪改查舷蒲,支持批量操作友多;并優(yōu)化了對(duì)Tags、Meta夷陋、健康檢查的配置管理與查詢展示。
- 本工具基于Prometheus自動(dòng)發(fā)現(xiàn)Consul骗绕,實(shí)現(xiàn)了兩個(gè)監(jiān)控管理維護(hù)的應(yīng)用:
- 基于云廠商ECS的自動(dòng)同步到Consul,并接入Prometheus監(jiān)控荆忍。(設(shè)計(jì)了一個(gè)關(guān)聯(lián)的Grafana看板)
- 基于Blackbox實(shí)現(xiàn)站點(diǎn)與接口監(jiān)控接入Consul,通過(guò)Web界面方便管理刹枉。(設(shè)計(jì)了一個(gè)關(guān)聯(lián)的Grafana看板)
- 本工具支持使用docker-compose快速部署。
實(shí)現(xiàn)功能
Consul Web Manager
- 比官方自帶的WEB UI實(shí)現(xiàn)了更多的功能棺亭。
- 包含Consul服務(wù)器的狀態(tài)信息蟋软。
- 支持Consul Services的增刪改查,可以批量刪除Service岳守。
- 直觀的查看每個(gè)Services實(shí)例的信息,及整體Services的健康狀態(tài)湿痢。
- 可以方便的對(duì)每個(gè)Services實(shí)例的Tags、Meta拒逮、健康檢查進(jìn)行配置害幅。
ECS Manager
- 支持同步阿里云,騰訊云以现,華為云的ECS主機(jī)信息到Consul。
- 基于Consul實(shí)現(xiàn)Prometheus監(jiān)控目標(biāo)的自動(dòng)發(fā)現(xiàn)邑遏。
- 支持同步各云廠商的分組信息到Consul,用于關(guān)聯(lián)ECS分組憎蛤。
- 提供了可查詢分組與ECS信息的頁(yè)面纪吮,指標(biāo)中加入了ECS到期日等信息,可直接監(jiān)控碾盟。
- 可調(diào)整同步的時(shí)間間隔。
- 提供了按需的Prometheus配置生成功能冰肴。
- 提供了一個(gè)匹配ECS Manager各字段的node_exporter Grafana展示看板榔组。
Blackbox Manager
- 基于Prometheus + Blackbox_Exporter實(shí)現(xiàn)站點(diǎn)與接口監(jiān)控搓扯。
- 基于Consul實(shí)現(xiàn)Prometheus監(jiān)控目標(biāo)的自動(dòng)發(fā)現(xiàn)。
- 使用Web操作即可簡(jiǎn)單的對(duì)監(jiān)控目標(biāo)增刪改查锨推,支持批量刪除箫踩,以及方便的分類維護(hù)管理谭贪。
- 提供了Blackbox的配置,Prometheus的配置以及Prometheus站點(diǎn)監(jiān)控的告警規(guī)則俭识。
- 提供了一個(gè)匹配Blackbox Manager各字段的Blackbox Exporter Grafana展示看板。
- 提供腳本可批量導(dǎo)入監(jiān)控目標(biāo)到Consul套媚。
交流與了解更多,請(qǐng)查看項(xiàng)目GitHub:https://github.com/starsliao/ConsulManager
部分截圖
Consul Web Manager 界面
ECS Manager 界面
Blackbox Manager 界面
Node Exporter Dashboard 截圖
Blackbox Exporter Dashboard 截圖
部署說(shuō)明
1. 部署Consul
安裝
# 使用yum部署consul
yum install -y yum-utils
yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
yum -y install consul
# 或者直接下RPM包安裝
wget https://rpm.releases.hashicorp.com/RHEL/7/x86_64/stable/consul-1.11.4.x86_64.rpm
rpm -ivh ./consul-1.11.1-1.x86_64.rpm
配置
vi /etc/consul.d/consul.hcl
advertise_addr = "192.168.x.x" #可以先不加這行本辐,如果啟動(dòng)有問題再加上,一般有多網(wǎng)卡需要配置這行慎皱,填寫你的網(wǎng)卡IP
data_dir = "/opt/consul"
client_addr = "0.0.0.0"
ui_config{
enabled = true
}
server = true
bootstrap = true
acl = {
enabled = true
default_policy = "deny"
enable_token_persistence = true
}
啟動(dòng)與鑒權(quán)配置
chown -R consul:consul /opt/consul #注意下數(shù)據(jù)目錄的權(quán)限。
systemctl enable consul.service
systemctl start consul.service
# 獲取登錄密碼
consul acl bootstrap
# 記錄 SecretID
2. 部署Consul Manager
使用docker-compose來(lái)部署
- 下載:
https://raw.githubusercontent.com/starsliao/ConsulManager/main/docker-compose.yml
- 編輯:
docker-compose.yml
祈匙,修改3個(gè)環(huán)境變量:- consul的token:
consul_token
- consul的URL(/v1要保留):
consul_url
- 登錄Consul Manager的密碼:
admin_passwd
- consul的token:
- 啟動(dòng):
docker-compose pull && docker-compose up -d
- 訪問:
http://{IP}:1026
開發(fā)線路
圖片