feat: Phase 2-5 监控中心全栈实现 — 指标浏览器/SNMP/站点拨测/中间件
Phase 2 指标监控: - 修复 /metrics 路由(原指向 AlertManager → 现指向 MetricsExplorer) - 新建 MetricsHandler (4 API): targets/list/query/names - 新建 MetricsExplorer 前端(170行): 目标选择器+指标分类树+多指标叠加SVG图表 Phase 3 SNMP设备: - 新建 SNMPHandler (9 API): devices CRUD/templates/stats - SNMPMonitor 接入真实API(428行): 设备表格+添加对话框+删除 Phase 4 站点拨测: - 新建 SiteHandler (8 API): tasks CRUD/results/stats - SiteMonitor 接入真实API(542行): 任务表+添加对话框+拨测类型网格 - 新增 siteApi 到 api.ts Phase 5 中间件采集: - Agent 新增 collector/middleware.go: Redis INFO + MySQL handshake 采集 - Agent CLI 新增 -redis/-redis-auth/-mysql/-mysql-user/-mysql-pass - MiddlewareMonitor 接入真实API(301行): 实例卡片+指标面板 基础设施: - AutoMigrate 新增 23 张监控表 - 前后端容器构建部署验证通过
This commit is contained in:
1 parent
94dbc89b9b
commit
2e71371257
15 files changed
+2616
-137
No files matched your search
@@ -465,6 +465,43 @@ func Register(r *gin.Engine, db *gorm.DB, log *zap.Logger, cfg *config.Config, c
|
||||
aiopsGroup.DELETE("/chat-history", llmHandler.ClearChatHistory)
|
||||
}
|
||||
|
||||
// 指标浏览器 — 监控指标元数据 + 时序查询 // Logan.Li
|
||||
metricsHandler := handlers.NewMetricsHandler(db)
|
||||
metricsGroup := authorized.Group("/metrics")
|
||||
{
|
||||
metricsGroup.GET("/targets", metricsHandler.ListTargets)
|
||||
metricsGroup.GET("/list", metricsHandler.ListMetrics)
|
||||
metricsGroup.GET("/query", metricsHandler.QueryValues)
|
||||
metricsGroup.GET("/names", metricsHandler.ListMetricNames)
|
||||
}
|
||||
|
||||
// SNMP 设备管理 — 网络设备/服务器硬件 // Logan.Li
|
||||
snmpHandler := handlers.NewSNMPHandler(db)
|
||||
snmpGroup := authorized.Group("/snmp")
|
||||
{
|
||||
snmpGroup.GET("/devices", snmpHandler.ListDevices)
|
||||
snmpGroup.POST("/devices", snmpHandler.CreateDevice)
|
||||
snmpGroup.PUT("/devices/:id", snmpHandler.UpdateDevice)
|
||||
snmpGroup.DELETE("/devices/:id", snmpHandler.DeleteDevice)
|
||||
snmpGroup.DELETE("/devices/batch-delete", snmpHandler.BatchDeleteDevices)
|
||||
snmpGroup.GET("/templates", snmpHandler.ListTemplates)
|
||||
snmpGroup.POST("/templates", snmpHandler.CreateTemplate)
|
||||
snmpGroup.GET("/stats", snmpHandler.GetSNMPStats)
|
||||
}
|
||||
|
||||
// 站点拨测 — HTTP/TCP/DNS/PING 主动监控 // Logan.Li
|
||||
siteHandler := handlers.NewSiteHandler(db)
|
||||
siteGroup := authorized.Group("/site")
|
||||
{
|
||||
siteGroup.GET("/tasks", siteHandler.ListTasks)
|
||||
siteGroup.POST("/tasks", siteHandler.CreateTask)
|
||||
siteGroup.PUT("/tasks/:id", siteHandler.UpdateTask)
|
||||
siteGroup.DELETE("/tasks/:id", siteHandler.DeleteTask)
|
||||
siteGroup.DELETE("/tasks/batch-delete", siteHandler.BatchDeleteTasks)
|
||||
siteGroup.GET("/results", siteHandler.ListResults)
|
||||
siteGroup.GET("/stats", siteHandler.GetSiteStats)
|
||||
}
|
||||
|
||||
// 启动告警引擎(每 30 秒检查一次)
|
||||
alertEngine := handlers.NewAlertEngine(db)
|
||||
go func() {
|
||||
|
||||
Reference in new issue
Block a user