TenSunS上手指南Consul多云监控管理【免费下载链接】TenSunS后羿 - TenSunS(原ConsulManager)基于Consul的运维平台更优雅的Consul管理UI多云与自建ECS/MySQL/Redis同步Prometheus/JumpServerECS/MySQL/Redis云监控指标采集Blackbox站点监控维护漏洞通知/资源到期余额告警各类资源Grafana看板展示项目地址: https://gitcode.com/GitHub_Trending/te/TenSunS当你同时有多云与自建IDC资源每新增一台ECS都要手动改prometheus.yml再到Consul官方界面逐个确认实例状态。TenSunS原ConsulManager代号后羿是一个基于Consul的Web运维平台把多云资源同步、监控自动发现与站点监控维护变成了页面上的点击操作。本文按部署步骤和功能模块讲一遍它的用法。 项目定位基于Consul的Web运维平台TenSunS采用Flask Vue开发以Consul的服务发现与KV存储作为数据中枢面向有多云厂商或自建资源、需要维护Prometheus监控的团队。Consul官方UI在Service管理上功能有限prometheus.yml又需要手工维护TenSunS补齐了这两块并在此之上做了云资源同步与告警通知。Consul服务管理Service增删改查、批量删除实例级Tags、Meta与健康检查项修改健康状态一览多云同步阿里云、腾讯云、华为云、AWS的ECS、RDS、Redis及其分组标签定时写入Consul由Prometheus自动发现自建资源自建主机、MySQL、Redis支持增删改查与批量导入导出自动同步为监控目标站点监控网页维护Blackbox_Exporter监控目标一键导出Blackbox、Prometheus配置与告警规则告警通知云账户余额、资源到期、高危漏洞每小时采集最新30条推送支持企微、钉钉、飞书群机器人整体数据流是云厂商API → TenSunS → Consul → Prometheus → Grafana另有一条支线把ECS推送给JumpServer 核心能力详解Consul管理、多云同步与站点监控Consul服务管理比官方UI更好用的管理界面。Service管理页可以做增删改查与批量删除还能修改每个实例的Tags、Meta和健康检查项实例表格直接铺开地址、端口、检查结果、账号、地域、CPU核数、内存等字段。使用场景集群里有几十个Service、官方界面只能看不能管时日常维护都在这一页完成。改动直接写入ConsulPrometheus自动发现随之生效不用手改KV。多云ECS/RDS/Redis同步在Node 云主机监控/接入数据源里登记云账号AKSK与区域后TenSunS会按设定间隔拉取该账号的ECS、RDS、Redis资源和分组信息写入Consul。AKSK经加密后存放在Consul KV中不落盘明文。两个细节值得注意。其一主动关机的ECS会在下次同步时被从Consul清除Prometheus随之停止抓取这能避免无效目标的误告警是设计行为而非bug。其二ECS可自动推送为JumpServer资产TenSunS自身也能作为Exporter Job接入Prometheus抓取云厂商部分MySQL/Redis原生Exporter拿不到的指标。站点与接口监控所有监控目标存放在Consul中名为blackbox_exporter的一个Service下每个站点是一个子Service监控类型、部门、项目、环境、名称前5个字段组合成唯一ServiceID。页面上可增删改查、批量导入、按分级分组筛选数据实时写入Consul。配置全部可复制blackbox.yml、prometheus.yml片段、告警规则都在页面上点一下复制粘贴后重启Status-Targets里出现新Job即生效。漏洞采集与通知开启漏洞通知功能后采集最新30条高危漏洞每小时采集一次发现新漏洞立即推送群机器人通知渠道支持企微、钉钉、飞书。 部署安装步骤Docker Compose一键与K8S前提服务器装好docker和docker compose新版docker自带compose指令若从源码构建注意Python ≤3.10、Node ≥v14。获取仓库并执行一键安装git clone https://gitcode.com/GitHub_Trending/te/TenSunS cd TenSunS/install/docker-compose sudo bash all_install.shall_install.sh 会自动生成Consul管理token与admin登录密码写入/opt/tensuns/docker-compose.yaml启动consul、flask-consul、nginx-consul三个容器。执行完按屏幕输出登录页面。验证登录后进入接入数据源添加一个同步源若后端报8500端口连接错误看下文避坑部分。已有Consul集群运行 tensuns_install_only.sh只部署TenSunS环境变量按下文场景部分填写。K8S运行 install/k8s/install.sh 生成TenSunS与Consul两套yaml再kubectl apply部署。Consul是StatefulSet需配置volumeClaimTemplates存储默认是华为云CFS示例要改成自己的建议先装Consul装完用任意节点IP 31026端口访问。后续版本更新在docker-compose.yaml目录执行docker-compose pull docker-compose up -d即可。 场景选型与集成建议监控目标怎么接入部署入口选择场景推荐方式关键点全新服务器、无Consulall_install.sh一键起3个容器token与密码自动生成已有Consultensuns_install_only.sh只需配置consul_token / consul_url / admin_passwd三个变量K8S集群install/k8s/install.sh kubectl apply只生成yaml先装Consul节点IP31026访问复用已有Consul时docker-compose.yaml environment部分的最小配置片段environment: consul_token: Consul管理token consul_url: http://consul地址:8500/v1 admin_passwd: admin登录密码 log_level: INFO注意修改admin_passwd后必须执行docker-compose up -d才生效。监控目标接入建议云资源接入数据源登记同步源。Linux的ECS默认抓取node_exporter的9100端口Windows用windows_exporter的9128端口登记后在页面生成Prometheus配置追加到prometheus.yml末尾即可。自建资源网页直接增删改查或用 tools/ 下的脚本批量导入selfnode-instance.list前5个字段组合必须唯一作为ServiceID。一个exporter覆盖多实例参考 使用一个mysqld_exporter监控所有MySQL实例 与 使用一个redis_exporter监控所有Redis实例。看板Node exporter看板Grafana导入ID8919Blackbox看板ID9965兼容Grafana 8基于blackbox_exporter 0.19.0设计。️ 配置避坑连接失败与数据同步问题坑1flask-consul连不上Consul。报错一般是requests.exceptions.ConnectionError指向8500端口多数是防火墙导致。一键安装脚本输出里有iptables相关报错时systemctl restart docker后重试长期环境放行端口firewall-cmd --zonepublic --add-port8500/tcp --permanent # 或 iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8500 -j ACCEPT也可以进容器用nc -vz consul_ip 8500验证连通性。排查时先看实时日志docker-compose logs --tail50 -f flask-consul。坑2改密码不生效。admin_passwd是环境变量容器不重建就不会生效修改docker-compose.yaml后要执行docker-compose up -d。坑3K8S部署Consul丢数据风险。默认yaml的存储配置是华为云示例不改的话数据不持久化。老版本脚本2023-10-8前部署升级前请按 install/k8s/readme.md 备份还原KV不要直接删除或重启consul的pod。坑4Prometheus告警规则报错。追加规则后用./promtool check rules ./rules.yml先校验通过再reload Prometheus。常见安装问题汇总在 docs/FAQ.md。TenSunS的价值是把资源变更 → 监控目标 → 告警 → 看板这条链路压缩成网页上的操作。如果你的环境里有几十台云主机或十几个监控站点值得一试。下一步clone仓库跑一遍all_install.sh登录后接入一个云账号作为同步源。【免费下载链接】TenSunS后羿 - TenSunS(原ConsulManager)基于Consul的运维平台更优雅的Consul管理UI多云与自建ECS/MySQL/Redis同步Prometheus/JumpServerECS/MySQL/Redis云监控指标采集Blackbox站点监控维护漏洞通知/资源到期余额告警各类资源Grafana看板展示项目地址: https://gitcode.com/GitHub_Trending/te/TenSunS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考