You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ConsulManager/README.md

11 KiB

StarsL.cn Commits open issues Python Node.js GitHub license OSCS Status

tensuns-arch

🏷目录

🦄概述

后羿 - TenSunS(原ConsulManager)是一个使用Flask+Vue开发基于Consul的WEB运维平台弥补了Consul官方UI对Services管理的不足并且基于Consul的服务发现与键值存储实现了Prometheus自动发现多云厂商各资源信息基于Blackbox对站点监控的可视化维护以及对自建与云上资源的优雅管理与展示。

🌈功能描述

🎡1. Consul管理(比官方更优雅的Consul Web UI)

  • 支持Consul Services的增删改查可以批量删除Service。
  • 直观的查看每个Services实例的信息及整体Services的健康状态。
  • 可以便捷的对Services实例的Tags、Meta、健康检查配置管理与查询。

💎2. 自建与云资源监控管理(ECS/RDS/Redis)

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

  • 当前已支持对接阿里云、腾讯云、华为云、AWS。

    • 支持多云ECS/RDS/Redis的资源、分组、标签自动同步到Consul并接入到Prometheus自动发现(并提供云资源信息查询与自定义页面)
    • 支持多云ECS信息自动同步到JumpServer
    • 支持多云账户余额与云资源到期日设置阈值告警通知。
    • 支持作为Exporter接入PrometheusPrometheus增加TenSunS的JOB后可抓取云厂商的部分MySQL/Redis指标。(弥补原生Exporter无法获取部分云MySQL/Redis指标的问题)
  • 支持自建主机/MySQL/Redis接入WEB管理支持增删改查、批量导入导出自动同步到Consul并接入到Prometheus监控

  • ✔提供了按需生成Prometheus配置与ECS/MySQL/Redis告警规则的功能。

  • ✔设计了多个支持同步的各字段展示的Node_Exporter、Mysqld_Exporter、Redis_Exporter Grafana看板。

🚀3. 站点与接口监控管理

基于Consul + Prometheus + Blackbox_Exporter实现站点的自动发现与监控。

  • 使用Web页面即可对监控目标增删改查支持站点的分级分组查询管理。
  • 支持对监控目标的批量删除与批量导入数据实时同步到Consul。
  • 提供了Blackbox的配置、Prometheus的配置以及Prometheus站点监控的告警规则。
  • 设计了一个支持各分级分组字段展示的Blackbox_Exporter Grafana看板。

💫4. 高危漏洞采集与实时告警

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

💾部署说明

♨TenSunS 版本更新只需在docker-compose.yaml所在目录执行docker-compose pull && docker-compose up -d即可完成更新。

💥新增基于docker/K8S的一键部署脚本,Consul独立部署脚本,安装脚本统一放置install目录

基于docker-compose安装
  • install/docker-compose/all_install.sh推荐:

    1. 前提服务器需要先安装好docker和docker-compose (新版docker自带compose指令可以提供docker-compose的功能)
    2. 一键安装curl -s https://starsl.cn/static/img/all_install.sh|sudo bash
    3. 执行完成后注意检查输出是否有异常信息,如果有iptables相关的异常可能是docker引起的,可以重启docker(systemctl restart docker)后重试。
    4. 运行该脚本后会使用docker-compose启动TenSunS和Consul,安装路径是:/opt/tensuns
    5. 脚本运行完成后会有使用提示及自动生成登录密码,打开浏览器立刻登录TenSunS,开始体验吧!
    6. 编辑docker-compose.yaml的变量admin_passwd的值可以修改登录的密码,修改完成后必须执行docker-compose up -d使修改密码生效。
  • install/docker-compose/consul_install_only.sh 独立的Consul安装脚本

  • install/docker-compose/tensuns_install_only.sh 独立的TenSunS安装脚本已经有Consul的用户可以使用这个脚本

基于K8S安装
  • install/k8s/install.sh
    1. 运行后需要设置admin用户的密码。
    2. 脚本执行完成后只会生成TenSunS的安装yaml文件和Consul的安装yaml文件,不会做其它操作,需要执行kubectl apply命令来完成安装。

      TenSunS是无状态的有一个初始化容器检查consul连接是否成功所以建议先安装Consul。Consul是StatefulSet需要先配置好存储volumeClaimTemplates默认是华为云自动创建存储的配置例子请自行参考修改。

    3. 完成安装后即可使用任意K8S节点IP+31026端口访问调用的service是tensuns。
注意
  • 所有安装方式Consul的管理token会自动生成可以在Consul的配置文件或TenSunS的docker-compose.yaml中查看。
  • 已经部署Consul的用户可以在TenSunS的docker-compose.yaml或者K8S yaml文件的环境变量部分找到:consul_token,consul_url,并配置上你的Consul信息;环境变量admin_passwd是TenSunS登录admin账号的密码。
  • 安装使用中遇到问题,以及问题排查,请参考:FAQ
🎉活动

📌更新记录

🎨截图预览(点击查看完整截图

💥点击展开

Consul Web Manager 界面

多云ECS同步Consul界面

多云ECS同步JumpServer界面

图片

Node Exporter Dashboard 截图

Blackbox Manager 界面

Blackbox Exporter Dashboard 截图

高危漏洞采集与通知 界面

钉钉告警通知

图片


🥇最佳实践

💖特别鸣谢

赞赏与关注公众号【云原生DevOps】加入交流群(请备注:后羿),获取更多...

如果看不到图片请点击该链接:https://starsl.cn/static/img/thanks.png


💰赞赏

🥇榜一大哥:@浩哥
🥈榜二大哥:@南城阿宇 @weibw @星星
🥉榜三大哥:@新的奇迹 @李宫俊 @锋 @小明SQLBOY @Swancavalier @烂泥

提交代码

@Yvan @dbdocker @anatsking @ylighgh


🎃提交bug与建议

@会飞的鱼 @奈 @Swancavalier @Show_Lo @郑不错 @init @weibw @Martin @dong9205 @MiracleWong @dissipator @烂泥 @SkipperSky


🏆开源推荐

🌉Go-Ldap-Admin: 基于Go+Vue实现的openLDAP后台管理项目


💖感谢伟大的FlaskVUEvue-admin-template