Go to file
dengqichen 1e93fffecc 【后端】
新增:服务器离线告警连续失败检测机制(避免临时网络波动误报)
    - 数据库:deploy_server_monitor 表增加 status 字段记录采集状态(SUCCESS/FAILURE)
    - 框架层:新增 StatusEnum 通用状态枚举类,MonitorMetricEnum 增加 SERVER_STATUS 监控类型
    - 实体层:ServerMonitor 实体增加 status 字段用于标识采集状态
    - Repository:IServerMonitorRepository 增加 findRecentMonitorRecords 方法查询最近N条监控记录
    - Service:IServerMonitorService 增加 saveMonitorRecord(保存单条记录)和 countConsecutiveFailures(统计连续失败次数)方法
    - 告警服务:IServerAlertService 增加 checkServerStatusAlert(检查状态告警)和 resolveServerStatusAlert(解除状态告警)方法
    - 告警实现:ServerAlertServiceImpl 实现服务器状态告警的创建、级别升级(WARNING→CRITICAL)、自动解除逻辑
    - 调度器:ServerMonitorScheduler 集成连续失败检测,连接成功时插入SUCCESS记录并解除告警,连接失败时插入FAILURE记录并触发告警检测
    - 数据初始化:增加全局服务器状态告警规则(连续3次失败触发警告,5次触发严重并标记离线)

优化:统一监控告警通知模板,简化配置参数
    - ServerMonitorNotificationConfig 删除 serverOfflineTemplateId 字段,所有监控告警(CPU/内存/磁盘/网络/服务器状态)统一使用 resourceAlertTemplateId
    - ServerMonitorScheduler.collectServerMetrics 方法删除 serverOfflineTemplateId 参数
    - ServerAlertServiceImpl.sendServerStatusNotification 改用统一的资源告警模板,模板参数与其他监控告警保持一致

修复:删除冗余代码和未使用的类
    - 删除 CollectionStatusEnum.java(已被 StatusEnum 取代)
    - 删除 ServerMonitorScheduler.sendServerOfflineNotification 方法(改由 ServerAlertService 统一处理)

优化:告警通知模板支持百分比和次数两种单位
    - 通知模板使用 FreeMarker 条件判断,根据 alertType 自动显示"连续失败X次"或"使用率X%"
    - 严重级别告警显示红色并提示"请立即处理",警告级别提示"请注意观察"

    【前端】
修复:告警规则表单规则范围下拉框无法滚动选择问题(移除嵌套滚动容器干扰)
优化:规则范围选择器升级为带搜索的Popover组件(支持按服务器名称/IP搜索,固定高度可滚动)
优化:规则范围数据加载从分页接口改为列表接口
2025-12-10 14:42:37 +08:00
.cursor/rules 重构前端逻辑 2025-11-06 10:56:17 +08:00
backend 【后端】 2025-12-10 14:42:37 +08:00
frontend 增加系统版本维护页面 2025-12-09 18:34:46 +08:00
.gitignore 提交忽略文件 2024-11-29 20:36:46 +08:00