5 Commits

Author SHA1 Message Date
dedb7bfc57 refactor: foms 改为纯业务模块,应用层迁至纯伞仓 foms_app
foms 只保留业务逻辑:
  · foms/ 包(init.py + failover.py 切换编排器)
  · models/(5 张表)、json/(CRUD 定义)、wwwroot/api/(端点)
  · scripts/(foms-agent 及部署脚本)
  · docs/deploy-operations.md

应用层迁出至 foms_app 纯伞仓:
  · app/(入口)、build.sh、start/stop.sh、conf/、init/data.yaml
  · scripts/init_rbac.py / load_path.py(重写为新 URL 布局)
  · wwwroot/index.ui(重写,指向各模块前缀路径)

同时修复 foms/__init__.py:移除对拆分时已删除函数的导出。
2026-08-27 11:07:37 +08:00
e1be45e940 refactor: FOMS 单体拆分为核心 + 三独立模块
按产线规范将 FOMS 单体拆分为 4 部分:

【foms 核心(保留在本仓库)】主备切换本身
  表:clusters、nodes、switchover_logs、node_commands(新增)
  功能:集群/节点 CRUD、Agent 心跳、故障切换/切回、仪表盘、远程命令
  远程命令改用专用 node_commands 表(原借用 node_logs 的 MVP 方案,顺手修 P1 隐患)
  仪表盘跨模块只读聚合(同库松耦合 SQL)

【dbbackup 模块(独立仓库)】数据库全量备份 + 日志同步(binlog复制)管理
  表 dbbackup_replications(原 sync_databases)/jobs(备份任务)/records(备份记录)
  新建备份执行/记录/清理逻辑

【filesync 模块(独立仓库)】运行文件同步(rsync)
  表 filesync_directories(原 sync_directories)

【hostwatch 模块(独立仓库)】日志监控+日志分析+主机指标
  表 hostwatch_logs(原 node_logs)/metrics(原 node_metrics)/rules/events
  新建日志归类、规则匹配告警、聚合分析逻辑

设计(松耦合方案 A):
  · 拆出模块表加模块名前缀,cluster_id/node_id 仅存字符串不建外键
  · 拆出模块不 import foms 核心代码,可独立部署测试
  · 单 Agent 多端点:心跳→foms、指标日志→hostwatch、复制→dbbackup、rsync→filesync
  · 模块 wwwroot 软链到主 wwwroot/<模块名>(URL 前缀隔离)

Agent 端点拆分:report_health 拆为 report_db_health/report_dir_health,
metrics 上报改 /hostwatch/api/,_api_post/_api_get 支持完整路径。
2026-08-26 15:29:45 +08:00
1c4943bc42 feat: node metrics + log collection + remote command execution (C→A/B O&M) 2026-07-04 12:41:13 +08:00
9f3a1731bc fix: remove redundant imports from dspy files 2026-07-04 11:05:51 +08:00
ff7f03e7ff feat: FOMS v1.0 - Failover Management System (MySQL主从复制+文件同步+故障切换) 2026-07-04 11:04:22 +08:00