feat(monitor): M15 中间件监控 — Redis/MySQL 后端直连采集引擎
后端: - 新增 controller/middleware_monitor.go (500+ 行) — CRUD + 测试连接 + 采集引擎 - 后台 goroutine 每 30s 自动连接 Redis/MySQL 采集指标 - Redis: go-redis v9 INFO+DBSIZE 命令采集 12 项指标 - MySQL: database/sql SHOW GLOBAL STATUS 采集 12 项指标 - 指标写入 MetricHistory 表,7 天自动清理 - 8 个 RESTful 路由注册到 routes.go 前端: - MiddlewareMonitor.tsx 从只读卡片升级为完整管理页面 - 添加监控弹框(Redis/MySQL 类型选择+连接配置表单) - 实例卡片操作栏(测试/编辑/删除) + 工具栏(立即采集/刷新) - middlewareMonitorApi 8 个方法 验证: go build✅ npm build✅ 17/17 回归通过 Redis 12 指标✅ MySQL 12 指标✅
This commit is contained in:
1 parent
186ece6495
commit
ed7a5c07a7
8 files changed
+1211
-132
No files matched your search
@@ -911,6 +911,21 @@ func Register(r *gin.Engine, db *gorm.DB, log *zap.Logger, cfg *config.Config, c
|
||||
metricsGroup.GET("/top", metricsHandler.TopHosts)
|
||||
}
|
||||
|
||||
// 中间件监控 — Redis/MySQL 后端直连采集 // Logan.Li
|
||||
mwHandler := controller.NewMiddlewareMonitorHandler(db)
|
||||
mwGroup := authorized.Group("/middleware-monitors")
|
||||
{
|
||||
mwGroup.GET("", mwHandler.ListMiddlewareTargets)
|
||||
mwGroup.POST("", mwHandler.CreateMiddlewareTarget)
|
||||
mwGroup.GET("/:id", mwHandler.GetMiddlewareTarget)
|
||||
mwGroup.PUT("/:id", mwHandler.UpdateMiddlewareTarget)
|
||||
mwGroup.DELETE("/:id", mwHandler.DeleteMiddlewareTarget)
|
||||
mwGroup.POST("/:id/test", mwHandler.TestMiddlewareConnection)
|
||||
mwGroup.POST("/collect", mwHandler.CollectNow)
|
||||
mwGroup.GET("/:id/metrics", mwHandler.GetMiddlewareMetrics)
|
||||
}
|
||||
mwHandler.StartCollector(30) // 每 30s 采集一次
|
||||
|
||||
// SNMP 设备管理 — 网络设备/服务器硬件 // Logan.Li
|
||||
snmpHandler := controller.NewSNMPHandler(db)
|
||||
snmpGroup := authorized.Group("/snmp")
|
||||
|
||||
Reference in new issue
Block a user