vlambda博客
学习文章列表

ConsulManager重要更新:你的云主机可以自动同步到Prometheus监控啦

v0.5.0更新说明

  • [重要]增加ECS云主机监控:支持自动同步阿里、腾讯、华为云的ECS、分组信息到Consul并接入到Prometheus监控!并更新了对应的Grafana看板。

  • 增加了从Consul同步ECS,站点信息到Prometheus的配置生成界面,可生成Prometheus的配置。

  • 增加了Blackbox的配置信息与Prometheus告警规则信息生成页面。

  • 优化了Blackbox接入Prometheus的配置,只需配置1个job即可接入所有类型的站点监控,并更新了对应的Grafana看板。(使用旧版本配置的请参考新文档配置)

  • ★★更新了站点监控的grafana看板,增加了URL筛选,查询关联所有图表,并支持展示单job的配置方式。

  • ★★更新了主机监控的grafana看板,可匹配自动同步方式采集ECS信息字段的展示, 优化了大量图表,使用新版表格重建,新增健康评分概念,并新增了整体资源消耗信息的一些图表。

  • 修正了一个修改Consul实例健康检查不能生效的bug。

  • 优化了多个展示信息的说明,与帮助文档的描述,以及增加了鸣谢信息。

  • 更新了登录界面。

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

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

概述

  • ConsulManager是一个使用Flask+Vue开发的Consul WEB管理工具,比官方自带的WEB UI实现了更多的功能。

  • 可以方便的对Consul Services进行增删改查,支持批量操作;并优化了对Tags、Meta、健康检查的配置管理与查询展示。

  • 本工具基于Prometheus自动发现Consul,实现了两个监控管理维护的应用:

  1. 基于云厂商ECS的自动同步到Consul,并接入Prometheus监控。(设计了一个关联的Grafana看板)

  2. 基于Blackbox实现站点与接口监控接入Consul,通过Web界面方便管理。(设计了一个关联的Grafana看板)

  • 本工具支持使用docker-compose快速部署。

实现功能

Consul Web Manager

  • 比官方自带的WEB UI实现了更多的功能。

  • 包含Consul服务器的状态信息。

  • 支持Consul Services的增删改查,可以批量删除Service。

  • 直观的查看每个Services实例的信息,及整体Services的健康状态。

  • 可以方便的对每个Services实例的Tags、Meta、健康检查进行配置。

ECS Manager

  • 支持同步阿里云,腾讯云,华为云的ECS主机信息到Consul。

  • 基于Consul实现Prometheus监控目标的自动发现。

  • 支持同步各云厂商的分组信息到Consul,用于关联ECS分组。

  • 提供了可查询分组与ECS信息的页面,指标中加入了ECS到期日等信息,可直接监控。

  • 可调整同步的时间间隔。

  • 提供了按需的Prometheus配置生成功能。

  • 提供了一个匹配ECS Manager各字段的node_exporter Grafana展示看板。

Blackbox Manager

  • 基于Prometheus + Blackbox_Exporter实现站点与接口监控。

  • 基于Consul实现Prometheus监控目标的自动发现。

  • 使用Web操作即可简单的对监控目标增删改查,支持批量删除,以及方便的分类维护管理。

  • 提供了Blackbox的配置,Prometheus的配置以及Prometheus站点监控的告警规则。

  • 提供了一个匹配Blackbox Manager各字段的Blackbox Exporter Grafana展示看板。

  • 提供脚本可批量导入监控目标到Consul。

部分截图  (点击阅读原文进入github查看完整截图)

Consul Web Manager 界面

ConsulManager重要更新:你的云主机可以自动同步到Prometheus监控啦

ECS Manager 界面

ConsulManager重要更新:你的云主机可以自动同步到Prometheus监控啦

Blackbox Manager 界面

ConsulManager重要更新:你的云主机可以自动同步到Prometheus监控啦

Node Exporter Dashboard 截图

ConsulManager重要更新:你的云主机可以自动同步到Prometheus监控啦

ConsulManager重要更新:你的云主机可以自动同步到Prometheus监控啦


Blackbox Exporter Dashboard 截图

ConsulManager重要更新:你的云主机可以自动同步到Prometheus监控啦

部署说明

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 = "10.5.148.67" #如果有多网卡需要配置这行,填写你的网卡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
}
启动与鉴权配置
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的token:`consul_token`

  • consul的URL(/v1要保留):`consul_url`

  • 登录Consul Manager的密码:`admin_passwd`

  • 启动:docker-compose pull && docker-compose up -d

  • 访问:http://{IP}:1026


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

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

请点击【阅读原文】进入github页面阅读。


了解更多:https://github.com/starsliao/ConsulManager




特别鸣谢


赞助

暂无


提交代码

暂无


提交bug

@会飞的鱼


提供建议

@dong9205

@dissipator