ConsulManagerConsul WEB 管理工具
ConsulManager 是一個(gè)使用 Flask+Vue 開(kāi)發(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)增刪改查,支持批量刪除,以及方便的分類(lèi)維護(hù)管理。
- 提供了Blackbox的配置,Prometheus的配置以及Prometheus站點(diǎn)監(jiān)控的告警規(guī)則。
- 提供了一個(gè)匹配Blackbox Manager各字段的Blackbox Exporter Grafana展示看板。
- 提供腳本可批量導(dǎo)入監(jiān)控目標(biāo)到Consul。
更新記錄
部分截圖 (點(diǎn)擊查看完整截圖)
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èn)題再加上,一般有多網(wǎng)卡需要配置這行,填寫(xiě)你的網(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 - 訪問(wèn):
http://{IP}:1026
應(yīng)用場(chǎng)景1:如何優(yōu)雅的基于Consul自動(dòng)同步ECS主機(jī)監(jiān)控
應(yīng)用場(chǎng)景2:如何優(yōu)雅的使用Consul管理Blackbox站點(diǎn)監(jiān)控
開(kāi)發(fā)線路
評(píng)論
圖片
表情
