Go to file
StarsL.cn 798b345c33 add bug notify 2022-06-11 19:26:35 +08:00
docs Update FAQ.md 2022-05-19 03:13:02 +08:00
flask-consul add bug notify 2022-06-11 19:26:35 +08:00
screenshot mod png 2022-04-12 19:41:08 +08:00
units add selfnode 2022-05-08 20:37:24 +08:00
vue-consul add bug notify 2022-06-11 19:26:35 +08:00
LICENSE Create LICENSE 2022-04-09 19:40:26 +08:00
Makefile add ecs sync consul 2022-04-09 09:35:50 +08:00
README.md Update README.md 2022-06-04 18:02:07 +08:00
Roadmap.png Add files via upload 2022-04-20 04:59:57 +08:00
docker-compose.yml v0.1.2 2022-01-28 12:10:09 +08:00
thanks.png Add files via upload 2022-04-09 19:09:15 +08:00

README.md

🚀概述

  • ConsulManager是一个使用Flask+Vue开发的Consul WEB管理工具弥补了官方UI对Services管理的不足可以方便的对Consul Services进行增删改查支持批量操作并优化了对Tags、Meta、健康检查的配置管理与查询展示。
  • 本工具基于Prometheus自动发现Consul实现了两个监控管理维护的应用
    1. 基于云厂商ECS的自动同步到Consul并接入Prometheus监控。设计了一个关联的Grafana看板
    2. 基于Blackbox实现站点与接口监控接入Consul通过Web界面方便管理。设计了一个关联的Grafana看板
  • 本工具支持使用docker-compose快速部署。

💎实现功能

🏆Consul 管理

  • 比官方自带的WEB UI实现了更多的功能。
  • 包含Consul服务器的状态信息。
  • 支持Consul Services的增删改查可以批量删除Service。
  • 直观的查看每个Services实例的信息及整体Services的健康状态。
  • 可以方便的对每个Services实例的Tags、Meta、健康检查进行配置。

🏆Node 主机监控

  • 基于Consul实现Prometheus监控目标的自动发现。
  • 支持同步阿里云腾讯云华为云的ECS主机信息到Consul。
  • 支持同步各云厂商的分组信息到Consul用于关联ECS分组。
  • 支持自建主机接入监控管理并提供脚本批量导入主机到Consul。
  • 提供了可查询分组与ECS信息的页面指标中加入了ECS到期日等信息可直接监控。
  • 提供了按需的Prometheus配置生成功能。
  • 提供了一个匹配ECS Manager各字段的node_exporter Grafana展示看板。

🏆Blackbox 站点监控

  • 基于Prometheus + Blackbox_Exporter实现站点与接口监控。
  • 基于Consul实现Prometheus监控目标的自动发现。
  • 使用Web操作即可简单的对监控目标增删改查支持批量删除以及方便的分类维护管理。
  • 提供了Blackbox的配置Prometheus的配置以及Prometheus站点监控的告警规则。
  • 提供了一个匹配Blackbox Manager各字段的Blackbox Exporter Grafana展示看板。
  • 提供脚本可批量导入监控目标到Consul。

更新记录

🎨部分截图 点击查看完整截图

Consul Web Manager 界面

ECS Manager 界面

Blackbox Manager 界面

Node Exporter Dashboard 截图

Blackbox Exporter Dashboard 截图

💾部署说明

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" #可以先不加这行如果启动有问题再加上一般有多网卡需要配置这行填写你的网卡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
}
启动与鉴权配置
chown -R consul:consul /opt/consul  #注意下数据目录的权限。
systemctl enable consul.service
systemctl start consul.service
# 获取登录密码
consul acl bootstrap
# 记录 SecretID

2. 部署Consul Manager

使用docker-compose来部署
  • 下载:https://raw.githubusercontent.com/starsliao/ConsulManager/main/docker-compose.yml
  • 编辑:docker-compose.yml修改3个环境变量
    • consul的tokenconsul_token
    • consul的URL(/v1要保留)consul_url
    • 登录Consul Manager的密码admin_passwd
  • 启动:docker-compose pull && docker-compose up -d
  • 访问:http://{IP}:1026

项目GitHub仓库

应用场景1如何优雅的基于Consul自动同步ECS主机监控

应用场景2如何优雅的使用Consul管理Blackbox站点监控

💯开发线路

图片

💖特别鸣谢

赞赏与关注公众号【云原生DevOps】加入交流群注明consul获取更多...


💰赞赏

@南城阿宇

@mac🐬 🌈

@Stephen

@蔡志昆


提交代码

暂无


🎃提交bug

@会飞的鱼

@奈

@Swancavalier


📢提供建议

@dong9205

@dissipator