找回密码
 立即注册
搜索
查看: 119|回复: 5

Meerkat服务器集群实时监控平台-基于go/telegram/influxdb的服务器监控系统

[复制链接]

主题

0

回帖

0

积分

积分
0
发表于 2026-10-9 10:30:08 | 显示全部楼层 |阅读模式


“meerkat”在中文中通常翻译为猫鼬或狐獴,属于獴科的一种小型食肉哺乳动物,原产于非洲南部,它们喜欢群居生活,跟小伙伴在一起的时候,总有一个专职“站岗放哨”的哨兵,发现危险后,通过不同频率组合的叫声传递超过20种信息,精准指示天敌类型(如鹰隼、狐狸)和方位,让其它小伙伴及时警觉危险。Meerkat服务器集群实时监控平台的寓意也是像狐獴一样,及早发现服务器的状态异常,及时预警。


背景痛点:如果你是公司的运维人员,要管理几十上百台裸金属服务器,虚拟机,Docker容器,K8s节点,你必须时刻紧盯上面的服务状态,负载性能等各项指标,时刻24小时stand By。

meerkat-admin就是为解决这个痛点而来的,现在有个狐獴帮你主动报警,及时介入。

meerkat-admin是一款基于go原生开发的服务器集群实时监控平台,采用了go gin, gorm,telegraf 采集器,influxDB时序数据库,postgreSQL等技术栈,分为agent端,server端,webserver端,web平台四个模块。Agent端一旦部署在客户机上,主动采集指标,向中心机汇聚、存储与展示,几分钟后就可以在web dashboard看到各项指标。 指标不经 Telegraf 直写 InfluxDB,经 monitor-agent 用 mTLS gRPC 上报到 Collector。


演示网址:https://monitor.phpframe.org/ 商业部署联系作者微信:xdbyvibm6 (注明来意)

已完成的功能:

• [x]内置ssh控制台,可以用户名连接,密钥连接;
• [x]sftp模块,管理服务器文件上传,下载,删除,重命名;
• [x]高危命令过滤,防止出现服务器崩盘;
• [x]SSH命令会话审计,录像回放;
• [x]计划任务,计划任务日志;
• [x]还内置了一套完整的后台管理系统,基于Gin Gorm, Sqlite,(包括完整的用户、部门、角色、岗位、菜单、字典、系统设置、缓存、系统日志、附件等)可以单独独立出来;


下一步计划:

• [ ]完成RDP远程连接,操作
• [ ]告警参数设置
• [ ]告警日志留存
• [ ]告警通知,短信、飞书、邮件等
• [ ]接入大模型对告警进行分析处理,形成报告
• [ ]命令编排等


本仓库是源码 + 本机开发运行包的合集(多个 Go module),未使用 Docker。第三方组件用系统安装包或工作区已解压的二进制;Windows / Linux 均提供一键脚本(见 §8)。
1. 项目概况


概念         说明

用途         多机 CPU / 内存 / 磁盘 / 网络 / 进程等指标采集;中心控制台查看列表、详情、趋势与告警状态

规划网段         被监控机可以内网机房、混合云、信创环境 可以部署内网、可跨网段、跨云、例如192.168.1~99,中心机 192.168.1.100(本机开发可全部 localhost)

被监控机         Telegraf 采集 → monitor-agent 接收、缓存、上报

中心机         Collector 接入 Agent;PostgreSQL 存资产/心跳/告警;InfluxDB 存时序;webserver + Vue 提供登录与 API



角色         源码目录         典型产物 / 运行目录

采集器         Telegraf/         Telegraf/telegraf.exe 或系统 telegraf

Agent         client/         client/monitor-agent.exe 或 dist/linux-*/monitor-agent

Collector         server/         server/collector.exe 或 dist/linux-*/collector

Web API         webserver/         webserver/webserver.exe 或 dist/linux-*/webserver

控制台         web/         开发 pnpm dev(:3000);生产 web/dist + Nginx

2. 架构与数据流
2.1 部署视图


  1.                          中心机
  2. ┌────────────────────────────────────────────────────────────┐
  3. │  浏览器 :3000 ──► Vue(/dev-api 代理到 webserver :8090)    │
  4. │  webserver :8090 ──读──► PostgreSQL :5432、InfluxDB :8086   │
  5. │  Collector :9500 (mTLS gRPC) ──写──► PG + InfluxDB         │
  6. │  Collector 管理 HTTPS :8080(自签 CA)                        │
  7. └────────────────────────────┬───────────────────────────────┘
  8.                              │ gRPC + mTLS
  9.         ┌────────────────────┼────────────────────┐
  10.         ▼                    ▼                    ▼
  11.    被监控机 A            被监控机 B            被监控机 N
  12.    Telegraf → :9510      同左                  同左
  13.    monitor-agent         monitor-agent         monitor-agent
  14.    health :9511           health :9511          health :9511
复制代码

2.2 关键访问关系


从         到         地址 / 说明

Telegraf         本机 Agent         http://127.0.0.1:9510/v1/telegraf/metrics(仅回环,成功 204)

Agent         Collector         server_address,如 192.168.1.100:9500,mTLS

Collector / webserver         PostgreSQL         默认 localhost:5432

Collector / webserver         InfluxDB         默认 http://localhost:8086,org hkc,bucket bucket

Vue 开发         webserver         web/.env.development → VITE_APP_API_URL=http://localhost:8090

3. 技术栈(按端)
3.1 自研程序(Go / 前端)


组件         技术         说明

monitor-agent         Go 1.27+,CGO_ENABLED=0         gRPC 客户端、SQLite 积压、HTTP 收 Telegraf

collector         Go 1.27+         gRPC 服务端、GORM、Influx 写入、Outbox

webserver         Go 1.27+,Gin、JWT         登录/菜单/监控 API;会话 SQLite

控制台         Vue 3、Vite、TypeScript、Element Plus、ECharts、pnpm         仅中心机需要(开发或构建静态资源)

RPC         gRPC + Protobuf         protoc 31+ 推荐;插件 protoc-gen-go / protoc-gen-go-grpc

传输安全         mTLS         测试证书:client/cmd/certgen 或 scripts/cert/Generate-mTLSCerts.ps1

更多介绍请访问: https://gitee.com/fsscms/Meerkat

欢迎star & follow

原文链接

打赏作者

当前余额:0 Token,打赏后立即到账

主题

0

回帖

0

积分

积分
0
发表于 2026-10-9 10:45:01 | 显示全部楼层
前排学习,感谢楼主整理telegram相关的内容。

主题

0

回帖

0

积分

积分
0
发表于 2026-10-9 11:15:01 | 显示全部楼层
第三方组件用系统安装包或工作区已解压的二进制;Windows / Linux 均提供一键脚本(见 §8)。
讲得挺透,influxdb的服务器监控系统这块就该这么理解。

主题

0

回帖

0

积分

积分
0
发表于 2026-10-9 11:45:01 | 显示全部楼层
先马后看,基于go的资料太散了,这篇梳理得挺清楚。

主题

0

回帖

0

积分

积分
0
发表于 2026-10-9 12:15:01 | 显示全部楼层
坐等更新,influxdb的服务器监控系统系列要是能写下去就更好了。

主题

0

回帖

0

积分

积分
0
发表于 2026-10-9 12:45:01 | 显示全部楼层
前排学习,感谢楼主整理telegram相关的内容。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

{ template common/footer}