概述

  • 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。

更新记录

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

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的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站点监控

加入ConsulManager交流群

开发线路

特别鸣谢

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


赞赏

@南城阿宇

@mac

@Stephen

@蔡志昆


提交代码

暂无


提交bug

@会飞的鱼

@奈


提供建议

@dong9205

@dissipator


如何使用ConsulManager来优雅的管理主机监控与站点监控的更多相关文章

  1. 【干货】解密监控宝Docker监控实现原理

    分享人高驰涛(Neeke),云智慧高级架构师,PHP 开发组成员,同时也是 PECL/SeasLog 的作者.8 年研发管理经验,早期从事大规模企业信息化研发架构,09 年涉足互联网数字营销领域并深入 ...

  2. nagios监控linux主机监控内存脚本

    说明 工作包括两部分监控端(一二三)和被监控端(四) 一.nrpe.cfg中添加脚本 nrpe.cfg中添加命令索引 command[check_used_mem]=/usr/local/nagios ...

  3. 探索Windows Azure 监控和自动伸缩系列2 - 获取虚拟机的监控定义和监控数据

    上一篇博文介绍了如何连接Windows Azure: http://www.cnblogs.com/teld/p/5113063.html 本篇我们继续上次的示例代码,获取虚拟机的监控定义和监控数据. ...

  4. [博客迁移]探索Windows Azure 监控和自动伸缩系列2 - 获取虚拟机的监控定义和监控数据

    上一篇博文介绍了如何连接Windows Azure: http://www.cnblogs.com/teld/p/5113063.html 本篇我们继续上次的示例代码,获取虚拟机的监控定义和监控数据. ...

  5. Spring Boot 揭秘与实战(九) 应用监控篇 - 自定义监控端点

    文章目录 1. 继承 AbstractEndpoint 抽象类 2. 创建端点配置类 3. 运行 4. 源代码 Spring Boot 提供的端点不能满足我们的业务需求时,我们可以自定义一个端点. 本 ...

  6. MySql 缓存查询原理与缓存监控 和 索引监控

    MySql缓存查询原理与缓存监控 And 索引监控 by:授客 QQ:1033553122 查询缓存 1.查询缓存操作原理 mysql执行查询语句之前,把查询语句同查询缓存中的语句进行比较,且是按字节 ...

  7. inux监控平台搭建-监控项

    linux监控平台搭建-监控项 本人运维某生态互联网监控平台服务.过程中遇见了很多问题.目前互联网有很多的开源监控工具:nagios.zabbix.falcon.cacti...各有优点.这里不讲解监 ...

  8. Knockout v3.4.0 中文版教程-5-计算监控-使用计算监控

    3. 计算监控 1.使用计算监控 如果你有一个监控的属性firstName和另一个lastName,但你想显示全名怎么办? 这就是引入计算监控的原因-这是依赖于一个或多个其他的observables函 ...

  9. Hadoop YARN学习之监控集群监控Nagios(4)

    doop YARN学习之监控集群监控Nagios(4) 1. Nagios是一个流行的开源监控工具,可以用来监控Hadoop集群. 2. 监控基本的Hadoop服务 调试好脚本后命名为chek_res ...

  10. Prometheus 监控K8S Node监控

    Prometheus 监控K8S Node监控 Prometheus社区提供的NodeExporter项目可以对主机的关键度量指标进行监控,通过Kubernetes的DeamonSet可以在各个主机节 ...

随机推荐

  1. CH01_初识C++

    CH01_初识C++ 第一个C++程序 新建项目 新建文件 编写代码 #include <iostream> using namespace std; int main() { cout ...

  2. 汇编跳转指令B、BL、BX、BLX 和 BXJ的区别

    跳转指令用于实现程序流程的跳转,在 ARM 程序中有两种方法可以实现程序流程的跳转: (1) 使用专门的跳转指令. (2) 直接向程序计数器 PC 写入跳转地址值. 通过向程序计数器 PC 写入跳转地 ...

  3. fs4412 I2C驱动基于Cortex-A9,mpu6050裸机程序,驱动,I2C架构,有这一篇够了

    本文基于三星Cortex-A9架构,Exynos4412讲解I2C原理.以及基于I2C的mpu6050陀螺仪的数据读取实例(包括在裸机模式下数据的读取以及基于Linux驱动的读取).还会分析Linux ...

  4. C#模拟键盘输入、键状态和监听键盘消息

    模拟键盘输入 模拟键盘输入的功能需要依赖Windows函数实现,这个函数是SendInput,它是专门用来模拟键盘.鼠标等设备输入的函数. 另外和键盘输入相关的函数还有SendKeys,它是Syste ...

  5. Blazor开发框架Known-V2.0.8

    V2.0.8 Known是基于Blazor的企业级快速开发框架,低代码,跨平台,开箱即用,一处代码,多处运行.目前已有部分客户在使用,最近客户的项目和产品,有的在Docker中运行,有的在重新升级改造 ...

  6. RabbitMQ 基础概念与架构设计及工作机制学习总结

    什么是RabbitMQ MQ全称为Message Queue,即消息队列. 它也是一个队列,遵循FIFO原则 .RabbitMQ则是一个开源的消息中间件,由erlang语言开发,基于AMQP协议实现的 ...

  7. 12米空间分辨率DEM数据申请下载:TanDEM-X数据集

      本文介绍全球12米与30米高空间分辨率的数字高程模型(DEM)数据--TanDEM-X数据的下载申请方法.   Tandem-X卫星项目于2010年6月启动,并于2010年6月21日和2010年1 ...

  8. WIN32下的模拟时钟

    #include <Windows.h> #include <math.h> #include <tchar.h> #include "resource. ...

  9. luoguP3330 [ZJOI2011] 看电影--组合数学--高精度

    \(luoguP3330\) [ZJOI2011] 看电影 废了老命想题解 $$luogu$$ $$HZOI$$ 题意 到了难得的假期,小白班上组织大家去看电影.但由于假期里看电影的人太多,很难做到让 ...

  10. 在 macOS 上安装 fish

    安装 fish brew install zsh 将默认 shell 切换为 fish 由于 Homebrew 安装的 fish 不在标准 shell 列表 /etc/shell 里,因此要先将 fi ...