ConsulManager是一个使用Flask+Vue开发的Consul WEB管理工具

Overview

概述

  • ConsulManager是一个使用Flask+Vue开发的Consul WEB管理工具,比官方自带的WEB UI实现了更多的功能,可以方便的对Consul Services进行增删改查,支持批量操作;并优化了对Tags、Meta、健康检查的配置管理与查询展示。
  • 本工具还针对使用Consul+Prometheus+Blackbox_Exporter实现站点与接口监控的应用场景,制作了一个单独的管理页面,并提供了站点与接口监控的完整方案。
  • 本工具支持使用docker-compose快速部署,并提供批量导入服务到Consul的脚本。

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

实现功能

Consul Manager

  • 更名Consul Manager
  • 增加Consul Web管理功能
  • 增加Consul服务器的状态查看
  • 支持Consul Services的增删改查
  • 支持批量删除Service功能
  • 优化了对Tags、Meta、健康检查的配置管理

Blackbox Manager

  • 基于Prometheus + Blackbox_Exporter实现站点与接口监控。
  • 基于Consul实现Prometheus监控目标的自动发现。
  • Blackbox Manager:基于Flask + Vue实现的Web管理平台,可以简单的对监控目标增删改查,便于分类维护管理。
  • 实现了一个脚本可批量导入监控目标到Consul。
  • 更新了一个Blackbox Exporter的Grafana展示看板。
  • 提供了Prometheus站点监控的参考告警规则。

更新记录

截图

Consul Manager 界面

c1c2c3 c4

Blackbox Manager 界面

0

Blackbox Exporter Dashboard 截图

12

部署说明

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.1-1.x86_64.rpm
rpm -ivh ./consul-1.11.1-1.x86_64.rpm
配置
vi /etc/consul.d/consul.hcl
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来部署

编辑docker-compose.yaml文件,修改传入的3个环境变量:

  • consul的token,consul的URL(/v1要保留),登录Consul Manager的密码

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

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


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

Consul字段设计说明
  • 所有数据存在一个名为blackbox_exporter的Services项中,每个监控目标为一个子Service。
  • 每个Service包含一个Tag,会自动配置为meta中的module的值,作为Prometheus自动发现的tags。
  • 每个Service使用Meta的kv保存监控目标的明细:modulecompanyprojectenvnameinstance,分别表示:监控类型,公司部门,项目,环境,名称,实例url
  • 前5个字段合并即为consul的serviceID,作为唯一监控项标识
  • 建议监控类型字段:meta内的moduleblackbox-exporter配置中的modulePrometheus的job名使用同一命名。

配置Prometheus

基于Consul实现Prometheus的自动发现功能配置
  • 根据Consul每个service的tag来把监控目标关联到Prometheus的JOB。
  • 把Consul每个service的Meta的KV关联到Prometheus每个指标的标签。
  • 根据每个指标的标签来对监控目标分类,分组,方便管理维护。

以下配置的同一个job的job_namemoduletags使用同一命名,关联job,module与consul的tags

参考配置:2XX,4XX,TCP类型的监控,注意JOB名称不要与已有的重复。

vi prometheus.yml
#####blackbox_exporter#####
  - job_name: 'http_2xx'
    metrics_path: /probe
    params:
      module: [http_2xx]
    consul_sd_configs:
      - server: 'x.x.x.x:8500'
        token: 'xxx-xxx-xxx-xxx'
        services: ['blackbox_exporter']
        tags: ['http_2xx']
    relabel_configs:
      - source_labels: ["__meta_consul_service_metadata_instance"]
        target_label: __param_target
      - source_labels: ["__meta_consul_service_metadata_company"]
        target_label: company
      - source_labels: ["__meta_consul_service_metadata_env"]
        target_label: env
      - source_labels: ["__meta_consul_service_metadata_name"]
        target_label: name
      - source_labels: ["__meta_consul_service_metadata_project"]
        target_label: project
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 127.0.0.1:9115
  - job_name: 'http_4xx'
    metrics_path: /probe
    params:
      module: [http_4xx]
    consul_sd_configs:
      - server: 'x.x.x.x:8500'
        token: 'xxx-xxx-xxx-xxx'
        services: ['blackbox_exporter']
        tags: ['http_4xx']
    relabel_configs:
      - source_labels: ["__meta_consul_service_metadata_instance"]
        target_label: __param_target
      - source_labels: ["__meta_consul_service_metadata_company"]
        target_label: company
      - source_labels: ["__meta_consul_service_metadata_env"]
        target_label: env
      - source_labels: ["__meta_consul_service_metadata_name"]
        target_label: name
      - source_labels: ["__meta_consul_service_metadata_project"]
        target_label: project
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 127.0.0.1:9115
  - job_name: 'tcp_connect'
    metrics_path: /probe
    params:
      module: [tcp_connect]
    consul_sd_configs:
      - server: 'x.x.x.x:8500'
        token: 'xxx-xxx-xxx-xxx'
        services: ['blackbox_exporter']
        tags: ['tcp_connect']
    relabel_configs:
      - source_labels: ["__meta_consul_service_metadata_instance"]
        target_label: __param_target
      - source_labels: ["__meta_consul_service_metadata_company"]
        target_label: company
      - source_labels: ["__meta_consul_service_metadata_env"]
        target_label: env
      - source_labels: ["__meta_consul_service_metadata_name"]
        target_label: name
      - source_labels: ["__meta_consul_service_metadata_project"]
        target_label: project
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 127.0.0.1:9115

配置Blackbox_Exporter

参考配置:2XX,4XX,TCP类型的监控,注意模块名称不要与已有的重复。

cat blackbox.yml
modules:
  http_2xx:
    prober: http
    http:
      valid_status_codes:
      - 200
      - 301
      - 302
      - 303
      no_follow_redirects: true
      preferred_ip_protocol: ip4
      ip_protocol_fallback: false

  http_4xx:
    prober: http
    http:
      valid_status_codes:
      - 401
      - 403
      - 404
      preferred_ip_protocol: ip4
      ip_protocol_fallback: false

  tcp_connect:
    prober: tcp

批量导入脚本

在units目录下instance.list中写入监控目标的信息:JOB名称,公司/部门,项目,环境,名称,实例url,每行一个,空格分隔。 注意:前5个字段组合起来必须唯一,作为一个监控项的ID。 修改units目录下导入脚本中的consul_token和consul_url,保存后执行input.py,即可导入所有监控目标到Consul,并符合Prometheus的自动发现配置。

导入Blackbox Exporter Dashboard

  • 支持Grafana 8,基于blackbox_exporter 0.19.0设计
  • 采用图表+曲线图方式展示TCP,ICMP,HTTPS的服务状态,各阶段请求延时,HTTPS证书信息等
  • 优化展示效果,支持监控目标的分组、分类级联展示,多服务同时对比展示。
导入ID:9965
详细URL:https://grafana.com/grafana/dashboards/9965

Prometheus 站点监控告警规则

{{ $labels.instance }}" - alert: 站点1h可用性低于80% expr: sum_over_time(probe_success[1h])/count_over_time(probe_success[1h]) * 100 < 80 for: 3m labels: alertype: domain severity: warning annotations: description: "{{$labels.env}}_{{ $labels.name }}({{ $labels.project }}):站点1h可用性:{{ $value | humanize }}%\n> {{ $labels.instance }}" - alert: 站点状态异常 expr: (probe_success == 0 and probe_http_status_code > 499) or probe_http_status_code == 0 for: 1m labels: alertype: domain severity: warning annotations: description: "{{$labels.env}}_{{ $labels.name }}({{ $labels.project }}):站点状态异常:{{$value}}\n> {{ $labels.instance }}" - alert: 站点耗时过高 expr: probe_duration_seconds > 0.5 for: 2m labels: alertype: domain severity: warning annotations: description: "{{$labels.env}}_{{ $labels.name }}({{ $labels.project }}):当前站点耗时:{{$value | humanize}}s\n> {{ $labels.instance }}" - alert: SSL证书有效期 expr: (probe_ssl_earliest_cert_expiry-time()) / 3600 / 24 < 15 for: 2m labels: alertype: domain severity: warning annotations: description: "{{$labels.env}}_{{ $labels.name }}({{ $labels.project }}):证书有效期剩余{{ $value | humanize }}天\n> {{ $labels.instance }}"">
- name: Domain
  rules:
  - alert: 站点可用性
    expr: probe_success == 0
    for: 1m
    labels:
      alertype: domain
      severity: critical
    annotations:
      description: "{{$labels.env}}_{{ $labels.name }}({{ $labels.project }}):站点无法访问\n> {{ $labels.instance }}"

  - alert: 站点1h可用性低于80%
    expr: sum_over_time(probe_success[1h])/count_over_time(probe_success[1h]) * 100 < 80
    for: 3m
    labels:
      alertype: domain
      severity: warning
    annotations:
      description: "{{$labels.env}}_{{ $labels.name }}({{ $labels.project }}):站点1h可用性:{{ $value | humanize }}%\n> {{ $labels.instance }}"

  - alert: 站点状态异常
    expr: (probe_success == 0 and probe_http_status_code > 499) or probe_http_status_code == 0
    for: 1m
    labels:
      alertype: domain
      severity: warning
    annotations:
      description: "{{$labels.env}}_{{ $labels.name }}({{ $labels.project }}):站点状态异常:{{$value}}\n> {{ $labels.instance }}"

  - alert: 站点耗时过高
    expr: probe_duration_seconds > 0.5
    for: 2m
    labels:
      alertype: domain
      severity: warning
    annotations:
      description: "{{$labels.env}}_{{ $labels.name }}({{ $labels.project }}):当前站点耗时:{{$value | humanize}}s\n> {{ $labels.instance }}"

  - alert: SSL证书有效期
    expr: (probe_ssl_earliest_cert_expiry-time()) / 3600 / 24 < 15
    for: 2m
    labels:
      alertype: domain
      severity: warning
    annotations:
      description: "{{$labels.env}}_{{ $labels.name }}({{ $labels.project }}):证书有效期剩余{{ $value | humanize }}天\n> {{ $labels.instance }}"

GitHub

所有代码都在里面,抛砖引玉。

https://github.com/starsliao/ConsulManager
Comments
  • 自建主机管理里如果字段里有控制字符,无法删除

    自建主机管理里如果字段里有控制字符,无法删除

    如果字段里有控制字符,如/ \t 之类的,无法在后台删除,会报400错误;

    通过curl调consul的url方式也无法删除,也返回400错误。 只能通过json的方式删除: curl -s -X PUT -d '{"Node": "your_node", "ServiceID": "/service_with_slash"}' http://consul.service.consul:8500/v1/catalog/deregister

    所以建议ConsulManager删除consul的服务的时候,也使用json的方式删除,兼容字符里有控制字符的情况。

    我现在有办法删除consul里的服务实例,但是删除之后马上就恢复了,不知是不是ConsulManager有定时任务会把自己的数据再同步到consul里?

    bug question 
    opened by warsk29 5
  • 可否支持自定义端口的选项?

    可否支持自定义端口的选项?

    非常感谢,你的产品在工作中用到了,非常实用美观。我所负责支持的公司,不支持实用默认端口。比如node-expoter的9100,我发现从阿里云导入后,exporter默认使用的是9100,我试着从实例管理->剪辑->手动改成19100(端口和meta上下两个位置),过一会就又变回9100了。

    enhancement 
    opened by Shane-Meng 4
  • grafana 8919中使用instance似乎不太合理

    grafana 8919中使用instance似乎不太合理

    grafana 8919中存储类监控(网络等其它监控也有类似问题)使用instance作为条件获取数据,如果几台服务器在内网没有公网地址,通过同一外网转发http请求获取metrics,那么使用instance去获取metrics会导致很多条不相关的记录,因为这几台内网服务器的instance的ip都是一样的,虽然你在查询条件里写了"$instance:.+",但是似乎端口没有带入进去匹配,因为你的查询条件IP下拉选项过滤了端口?建议使用name来获取或者添加新的条件,或者修复下查询条件IP的内容,使其不过滤端口?

    opened by warsk29 2
  • 能否在获取云主机的时候支持切换到公网ip,以及资源告警时加上公网ip

    能否在获取云主机的时候支持切换到公网ip,以及资源告警时加上公网ip

    1.现在获取到的只能是内网IP,虽然功能上支持自定义IP,但问题是当有大批量的云主机的时这个步骤就会极为头疼,如果能在获取的时候支持切换到公网ip 那这样的话就方便很大

    2.前段时间云主机到期告警的功能终于上线了。但是一直有一个问题,通过钉钉告警的资源内容里没有IP这个参数 这样的话就单看告警没法第一时间知道是哪个机器的IP,因为能看到这个告警的人不一定能登录阿里云,所以他们这种时候只知道有机器到期了,却不知道是哪一台

    enhancement 
    opened by eavin7456 1
  • 关于站点1h可用性告警,恢复时间获取到的数据类型为null,有大佬遇到同样的问题吗。其他告警项则正常

    关于站点1h可用性告警,恢复时间获取到的数据类型为null,有大佬遇到同样的问题吗。其他告警项则正常

    告警规则:

    • alert: 站点1h可用性低于80% expr: sum_over_time(probe_success[1h])/count_over_time(probe_success[1h]) * 100 < 80 for: 3m labels: alertype: domain severity: warning annotations: description: "{{ $labels.env }}_{{ $labels.name }}({{ $labels.project }}):站点1h可用性:{{ $value | humanize }}%\n

    {{ $labels.instance }}"

    为null时,消息推送后拿到的时间为:0001-01-01 08:00:00

    告警模板如下 恢复时间: {{ ($alert.EndsAt.Add 28800e9).Format "2006-01-02 15:04:05" }}

    opened by cdy668 1
  • 优化prometheus.yaml提议

    优化prometheus.yaml提议

    源内容

        params:
          module: [http_2xx]
    

    目标内容

     relabel_configs:
          - source_labels: [__meta_consul_service_metadata_module]
            target_label: __param_module
    

    这样就可以省略写多个promteheus的job了,将需要用的blackbox module作为tag注册进consul, 然后prometheus进行label 替换为param参数.

    opened by dong9205 1
Releases(0.12.0)
  • 0.12.0(Dec 11, 2022)

    • ♨修复:自建ECS/RDS/Redis:增加同SID(前5个字段相同)的实例导致,之前增加的同SID实例被替换掉的问题。

    • ♨修复:站点与接口监控、自建ECS/RDS/Redis:实例字段中有特殊字符会无法删除的问题。

    • 以上2个改动可能会引起上述菜单功能兼容性问题:如果出现更新或删除自定义实例失败,请执行以下操作:

      • 在相应的实例管理页面,使用导出功能导出实例列表。
      • 进入Consul管理-实例管理菜单,选择相应的服务组,全选删除所有的实例。
      • 再返回相应的实例管理页面,重新执行导入操作。
    • 💎优化:Mysqld Exporter Grafana Dashboard,兼容自建MySQL与云RDS,都能正常展示CPU、内存、磁盘等部分Mysqld_Exporter不提供的指标:

      • 自建Mysql:从node-exporter中获取以上信息,通过instance的IP部分进行关联。
      • 云DRS:从ConsulManager-MySQL中获取,会根据实例ID进行关联。(数据来自云监控,从ConsulManager的Prometheus配置生成菜单中可生成配置。)
    • 💥优化:开启前端资源gzip压缩!

    Source code(tar.gz)
    Source code(zip)
  • 0.11.1(Nov 25, 2022)

    • 🚀新增:Redis监控接入:支持同步华为/阿里/腾讯云的Redis信息到Consul并接入Prometheus监控!(支持自定义IP端口)(已有账户可在接入云厂商-编辑云资源窗口增加REDIS接入即可。)
    • 💎新增:自建Redis管理界面,支持增删改查、批量导入导出,自动同步到Consul并接入到Prometheus监控!
    • 🏆新增:由于Redis_Exporter无法监控到云REDIS的CPU、内存等信息的使用情况,所以ConsulManager开发了Exporter功能,配置到Prometheus即可直接从云厂商采集到这些指标!【直接在Prometheus配置菜单即可生成配置。】
    • 📊新增:Redis Exporter Grafana Dashboard,基于官方版本汉化,增加总览页,优化重要指标展示。
    • 新增:从Consul同步REDIS到Prometheus的配置生成界面,可生成Prometheus的配置。
    • 优化:ECS开关机写入consul的标签及Prometheus同步的逻辑,您需要重新生成ECS的Prometheus配置,获得更好的体验。
    • 修复:导入按钮上移的BUG。

    更新:

    docker-compose pull && docker-compose up -d
    

    注意:v0.9版本开始镜像更换到华为云,请修改docker-compose.yml内的镜像地址。

    • swr.cn-south-1.myhuaweicloud.com/starsl.cn/flask-consul:latest
    • swr.cn-south-1.myhuaweicloud.com/starsl.cn/nginx-consul:latest
    Source code(tar.gz)
    Source code(zip)
  • 0.10.0(Nov 16, 2022)

    注意:v0.9版本开始镜像更换到华为云,请修改docker-compose.yml内的镜像地址。

    • swr.cn-south-1.myhuaweicloud.com/starsl.cn/flask-consul:latest
    • swr.cn-south-1.myhuaweicloud.com/starsl.cn/nginx-consul:latest

    • 🌈新增LDAP登录支持,可设置用户白名单!感谢@dbdocker贡献代码!
    • ECS同步支持优先采集公网IP(阿里云)。
    • 自动同步的DRS也支持自定义IP和端口了。
    • 修复RDS资源使用率采集bug。
    • 修复新版JumpServer同步删除失败的bug。
    • 修复mysql告警规则bug。
    Source code(tar.gz)
    Source code(zip)
  • 0.9.6(Nov 13, 2022)

    注意:v0.9版本开始镜像更换到华为云,请修改docker-compose.yml内的镜像地址。

    • swr.cn-south-1.myhuaweicloud.com/starsl.cn/flask-consul:latest
    • swr.cn-south-1.myhuaweicloud.com/starsl.cn/nginx-consul:latest

    • 💎新增自建Mysql管理界面,支持增删改查、批量导入导出,自动同步到Consul,接入到Prometheus监控!
    • 💎增加RDS云数据库监控接入:支持同步华为云、阿里云、腾讯云的RDS信息到Consul并接入到Prometheus监控!
    • 💎由于Mysqld_Exporter无法监控到云数据库的CPU、内存、磁盘的使用情况,所以ConsulManager开发了Exporter功能,配置到Prometheus即可直接从云厂商采集到这些指标!【直接在Prometheus配置菜单即可生成配置。】
    • 优化了MySQL的Grafana监控看板,兼容云Mysql和自建MySQL。
    • 增加了ECS和RDS的Prometheus告警规则。
    Source code(tar.gz)
    Source code(zip)
  • 0.9.2(Nov 2, 2022)

    注意:v0.9版本开始镜像更换到华为云,请修改docker-compose.yml内的镜像地址。

    • swr.cn-south-1.myhuaweicloud.com/starsl.cn/flask-consul:latest
    • swr.cn-south-1.myhuaweicloud.com/starsl.cn/nginx-consul:latest

    • ❤增加RDS云数据库监控接入:支持同步华为云、阿里云、腾讯云的RDS信息到Consul并接入到Prometheus监控!

    • ❤提供了一个支持1对多目标的Mysqld_exporter(官方main分支编译):使用1个mysqld_exporter就可以监控所有的MySQL了!

    • ❤增加了MySQL的Grafana监控看板:基于官方版本汉化,增加总览页,增加表大小行数统计,优化重要指标展示!

    • 点击查看详细使用说明

    • 增加了从Consul同步MySQL到Prometheus的配置生成界面。

    • 增加了MySQL的Prometheus告警规则信息生成页面。

    • 新增云资源界面可以多选区域和同步的资源类型了。

    • 新增编辑云资源界面,可以对已添加的账号增删区域、资源类型等操作。

    • 更新了阿里云、华为云、腾讯云的SDK。

    • 优化了菜单展示,资源分类更加直观。

    Source code(tar.gz)
    Source code(zip)
  • 0.8.1(Jul 25, 2022)

    • ❤新增云资产自动同步到JumpServer的功能!
    • 当我们在云厂商界面新增、删除、修改ECS后,都会及时的自动同步到JumpServer中。
    • 并且在JumpServer各资产的备注中会记录丰富的资产信息,方便查询筛选登录。
    • 同步页面提供了云账号ECS资产整体的系统、资源、状态信息。
    • 优化了站点监控管理页面的用户操作体验,方便增加各类型的站点监控。
    • 关机的云主机也会同步到consul,并加上tag标识,默认不会接入Prometheus。
    • 优化后端镜像大小,更新大量前端依赖,修复漏洞。

    安装与更新

    安装Consul
    • Consul Manager需要依赖Consul,请先完成Consul的部署。(Consul部署文档
    安装ConsulManager
    • 下载:wget https://raw.githubusercontent.com/starsliao/ConsulManager/main/docker-compose.yml
    • 国内下载:wget https://starsl.cn/static/img/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
    Source code(tar.gz)
    Source code(zip)
  • 0.7.0(Jul 3, 2022)

    • ❤新增阿里云、华为云、腾讯云账户余额和资源到期前通知!
    • 可自定义到期前时长与通知余额。
    • 支持钉钉、企业微信、飞书通知。

    安装与更新

    安装Consul
    • Consul Manager需要依赖Consul,请先完成Consul的部署。(Consul部署文档
    安装ConsulManager
    • 下载:wget https://raw.githubusercontent.com/starsliao/ConsulManager/main/docker-compose.yml
    • 国内下载:wget https://starsl.cn/static/img/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
    Source code(tar.gz)
    Source code(zip)
  • 0.6.5(Jun 23, 2022)

    • 云主机同步支持自定义IP端口功能,可在【云主机列表】菜单操作。
    • 修复了WEB页面批量导入自建主机与站点功能的BUG。
    • 优化了实例管理、云主机列表页的展示效果和支持搜索。

    安装与更新

    安装Consul
    • Consul Manager需要依赖Consul,请先完成Consul的部署。(Consul部署文档
    安装ConsulManager
    • 下载:wget https://raw.githubusercontent.com/starsliao/ConsulManager/main/docker-compose.yml
    • 国内下载:wget https://starsl.cn/static/img/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
    Source code(tar.gz)
    Source code(zip)
  • 0.6.3(Jun 19, 2022)

    • ★支持在Web页面直接批量导入自建主机。
    • ★支持在Web页面直接批量导入站点监控。
    • 修复了部分页面前端展示的bug。

    安装与更新

    安装Consul
    • Consul Manager需要依赖Consul,请先完成Consul的部署。(Consul部署文档
    安装ConsulManager
    • 下载:wget https://raw.githubusercontent.com/starsliao/ConsulManager/main/docker-compose.yml
    • 国内下载:wget https://starsl.cn/static/img/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
    Source code(tar.gz)
    Source code(zip)
  • 0.6.2(Jun 15, 2022)

    • 已披露的漏洞有状态或类型更新,再次推送时候增加了提示。
    • 同步阿里云ECS支持同步ECS的标签到Consul的meta中,注意标签的key有中文或符号会忽略,因为meta的key不支持。
    • 自建主机的新增页面优化了描述和提交处理逻辑。

    安装与更新

    • 下载:wget https://raw.githubusercontent.com/starsliao/ConsulManager/main/docker-compose.yml
    • 国内下载:wget https://starsl.cn/static/img/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
    Source code(tar.gz)
    Source code(zip)
  • 0.6.1(Jun 14, 2022)

    • 漏洞通知增加了飞书的支持。
    • 优化了漏洞通知页面的描述信息。
    • 修复了一个启动漏洞通知的bug。

    安装与更新

    • 下载:wget https://raw.githubusercontent.com/starsliao/ConsulManager/main/docker-compose.yml
    • 国内下载:wget https://starsl.cn/static/img/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
    Source code(tar.gz)
    Source code(zip)
  • 0.6.0(Jun 12, 2022)

    • 增加了高危风险漏洞采集与告警通知功能。
    • 功能开启即可采集最新30个漏洞列表。
    • 每小时采集一次,发现新漏洞立即推送到群机器人。
    • 支持企业微信与钉钉群机器人通知。

    安装与更新

    • 下载:wget https://raw.githubusercontent.com/starsliao/ConsulManager/main/docker-compose.yml
    • 国内下载:wget https://starsl.cn/static/img/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
    Source code(tar.gz)
    Source code(zip)
  • 0.5.2(Jun 4, 2022)

    • 增加了node-exporter的告警规则。
    • 修正了一个新增自建主机监控项的bug。
    • 新增站点监控的描述做了优化。
    • 登录过期时间修改为8小时。

    安装与更新

    • 下载: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
    Source code(tar.gz)
    Source code(zip)
  • 0.5.1(May 8, 2022)

    支持自建主机接入监控管理与批量导入了!

    • Node 主机监控可以方便在页面上管理自建主机了,增加后记得重新生成Prometheus配置,复选上selfnode_exporter
    • 优化了导入脚本,并且支持了自建主机的批量导入。
    • 云主机同步增加了部分国外的区域。
    • web页面的描述做了优化,修复了一些bug。

    安装与更新

    • 下载: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
    Source code(tar.gz)
    Source code(zip)
  • 0.5.0(Apr 13, 2022)

    • 【重要】 增加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站点监控

    安装与更新

    • 下载: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
    Source code(tar.gz)
    Source code(zip)
  • 0.3.1(Feb 22, 2022)

    • 允许在实例ID字段使用/,(可以在Consul管理中对blackbox-exporter的监控实例做自定义编辑了,例如:增加标签,增加Meta)。
    • 优化了描述和引导使用Blackbox站点监控。
    • 增加了Makefile文件。

    更新:

    make update
    
    Source code(tar.gz)
    Source code(zip)
  • 0.3.0(Feb 10, 2022)

    更名Consul Manager

    增加Consul Web管理功能

    增加Consul服务器的状态查看

    支持Consul Services的增删改查

    支持批量删除Service功能

    优化了对Tags、Meta、健康检查的配置管理

    更新:docker-compose pull && docker-compose up -d
    
    Source code(tar.gz)
    Source code(zip)
  • 0.2.0(Jan 28, 2022)

    • 后端使用Flask Blueprint重构,版本号v0.2.0
    • 前端规范URI路径,匹配后端,版本号v0.1.3
    更新:docker-compose pull && docker-compose up -d
    
    Source code(tar.gz)
    Source code(zip)
  • 0.1.2(Jan 28, 2022)

    • 所有字段增加了排序功能
    • 新增筛选功能:可以根据名称或实例来进行关键字筛选
    • 新增清空查询条件按钮
    • 简化了web界面新增操作:
      • 选择选项查询后,点击新增或自动填写好选择的选项
      • 增加确认并新增按钮,可以自动填上之前填写的前4个字段
    • 新增批量删除功能
    • 新增分页功能
    更新:docker-compose pull && docker-compose up -d
    
    Source code(tar.gz)
    Source code(zip)
Owner
StarsL.cn
StarsL.cn
StarsL.cn