系统全量审计报告
系统全量审计报告
> 审计日期: 2026-06-08
> 审计范围: 全部 11 个 systemd 服务 + 数据库 + ETL + 前端
---
一、执行总结
过去 2 天完成的工作:
| 阶段 | 内容 | 耗时 |
|------|------|------|
| Phase 1 | 备份脚本、Holographic 记忆、Web UI 升级、知识库 | ✅ 完成 |
| Phase 2A | 数据仓库(PG 建库 + 同步脚本 + 12个物化视图) | ✅ 完成 |
| Phase 2B | 展示层(Dify 知识库 + Metabase BI + 推送机器人) | ✅ 完成 |
| Phase 2C | 基础设施(Nginx SSL + 域名 + 防火墙 + 优化) | ✅ 完成 |
---
二、架构现状
2.1 服务运行状态
| 服务 | 状态 | 端口 | 内存 | 说明 |
|------|------|------|------|------|
| ✅ nginx | active | 80/443 | — | Dify + Metabase 反代 + SSL |
| ✅ MySQL | active | 3306 | 462MB | ruimeiyun 原始数据 |
| ✅ PostgreSQL | active | 5432 | ~100MB | Dify + ruimeiyun_dw 数仓 |
| ✅ Redis | active | 6379 | — | Dify 缓存/队列 |
| ✅ dify-api | active | 5001 | ~400MB | Dify 后端 API |
| ✅ dify-web | active | 3000 | ~200MB | Dify 前端 |
| ✅ dify-celery | active | — | ~100MB | 文档索-引队列 |
| ✅ metabase | active | 3001 | ~1GB | BI 看板(已限制 512MB) |
| ✅ hermes-gateway | active | 8642 | ~100MB | Hermes API |
| ✅ hermes-web-ui | active | 8888 | ~200MB | Hermes Web |
2.2 数据架构
`
睿美云远程DB (123.56.250.44:29613)
│ 每日9:00 crontab
▼
MySQL ruimeiyun — 8张基表(纯原始数据,无视图)
│ 每日10:00 sync_ruimeiyun_dw.py
▼
PostgreSQL ruimeiyun_dw
├── 7张 stg_* 表(原始数据镜像,697K行)
└── 12个物化视图(DWD x2 + DWS x7 + ADS x3)
│
├── Metabase BI 看板 ← 你在这里
├── Dify 知识库查文档 ← 已可用
└── push_bot.py 推微信 ← 差 Webhook URL
`
2.3 12个物化视图状态
| 层 | 视图 | 行数 | 状态 |
|----|------|------|------|
| DWD | m_dwd_customer_visit | 76,126 | ✅ |
| DWD | m_dwd_customer_consultant | 44,531 | ✅ |
| DWS | m_dws_daily_kpi | 4,100 | ✅ |
| DWS | m_dws_consultant_monthly | 450 | ✅ |
| DWS | m_dws_doctor_monthly | 2,117 | ✅ |
| DWS | m_dws_nurse_monthly | 430 | ✅ |
| DWS | m_dws_craftsman_monthly | 502 | ✅ |
| DWS | m_dws_project_analysis | 15,734 | ✅ |
| DWS | m_dws_recall_performance | 508 | ✅ |
| ADS | m_ads_customer_rfm | 13,863 | ✅ |
| ADS | m_ads_churn_warning | 17,635 | ✅ |
| ADS | m_ads_executive_dashboard | 154 | ✅ |
---
三、已发现并修复的问题
| 问题 | 发现时间 | 修复 |
|------|---------|------|
| MySQL 24个标准视图损坏 | Phase 2A | ✅ 全部删除,MySQL 改为纯数据存储 |
| 24个 MySQL 标准视图实际已损坏(列不存在) | Phase 2A | ✅ PostgreSQL 物化视图替代 |
| Dify SSL 证书不存在 | Phase 2C | ✅ Let's Encrypt 签发 |
| Dify 443 端口云防火墙未开 | Phase 2C | ✅ 用户开通安全组 |
| Dify Cookie 域名未配置导致登录循环 | Phase 2C | ✅ 添加 COOKIE_DOMAIN |
| Mock Plugin Daemon 不能装插件 | Phase 2C | ✅ 禁用插件系统,改用 push_bot.py |
| Dify 前端 JS 加载慢 (59MB) | Phase 2C | ✅ Nginx 直接提供静态文件 + gzip + 1年缓存 |
| Dify 前端 API 前缀不匹配 | Phase 2C | ✅ 重建前端 HTTPS 配置 |
| Metabase /bi 子路径配置错误 | Phase 2C | ✅ MB_SITE_URL + Nginx 路径修复 |
| Metabase 内存无限制 (1.3GB) | 本次审计 | ✅ 限制为 512MB |
| crontab 同步脚本丢失 | 本次审计 | ✅ 已加回 |
| Nginx SSL 证书配置路径验证 | 本次审计 | ✅ 确认有效 |
---
四、对标行业最佳实践
4.1 已达标 ✅
| 实践 | 现状 |
|------|------|
| 服务自动重启 | ✅ 全部 systemd,failure 自动重启 |
| 数据备份 | ✅ 每日全量备份,保留 30 天 |
| 数据库读写分离 | ✅ MySQL(写) → PostgreSQL(读) |
| 数据分层 | ✅ ODS → DWD/DWS → ADS |
| API 认证 | ✅ Dify API Key |
| SSL/TLS | ✅ Let's Encrypt |
| 静态缓存 | ✅ 1 年缓存 + gzip |
| HTTP/2 | ✅ Nginx http2 |
4.2 待改进 🔴
| 编号 | 差距 | 风险 | 建议 |
|------|------|------|------|
| G-01 | 单点故障 | VM 宕机 → 全部停止 | PostgreSQL 异地备份到对象存储;关键配置版本管理 |
| G-02 | 无监控告警 | 服务挂了无人知 | push_bot.py --health 已写好,需配 Webhook URL |
| G-03 | Metabase 内存仍偏高 | 限制 512MB 后重启,实际可能回到 1GB | 观察重启后实际内存 |
| G-04 | 无 CI/CD | 修改物化视图 DDL 需手动执行 | 同步脚本已在版本管理中(sync_ruimeiyun_dw.py) |
| G-05 | 无负载测试 | 多用户并发时性能未知 | 当前 1 人使用,暂不需要 |
4.3 企业级增强 🟡
| 编号 | 建议 | 优先级 | 说明 |
|------|------|--------|------|
| E-01 | PostgreSQL 异地备份到 COS | 高 | 每天备份完自动上传到腾讯云对象存储 |
| E-02 | 统一监控(node_exporter + Prometheus) | 中 | 系统资源 + 服务可用性监控 |
| E-03 | Dify 员工账号配置 | 中 | 登录 Dify → 设置 → 成员管理 |
| E-04 | Hermes 多用户隔离 | 低 | 已有 3 个 profile,需创建用户绑定 |
---
五、下一步建议
本周可做(你独立完成)
`
- 企业微信群获取 Webhook URL → 给我
- Metabase 看板编排:编辑 → 添加卡片 → 拖拽布局
- Dify 创建员工账号:设置 → 成员管理 → 添加用户
`
本周可做(我完成)
`
- 配好 push_bot.py → 日报/告警推送到你微信
- Metabase 内存观察 → 确认限制生效
`
后续规划
`
- PostgreSQL 异地备份 → 腾讯云 COS
- 系统监控 → node_exporter + 告警
`