5aadbc78c683deb220136195723855cb0a24bfb2
- 新增 RecordsLog.vue 操作记录日志页面 - 新增 ReplacementRecords.vue 设备更换记录页面 - 新增 imc_service.py IMC网管系统集成服务 - 新增 datetime.js 前端日期时间工具函数 - 新增 OLT时间同步.md 文档 - 扩展 devices.py API:设备更换记录、批量操作等 - 扩展 ssh_service.py:OLT时间同步功能 - 扩展 olt.py:新增时间同步相关接口 - 更新 DeviceList.vue:增强设备列表功能 - 更新路由和导航菜单 - 将 .claude/ 和 .mcp.json 加入 .gitignore Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
H3C ONU 设备管理系统
基于 Python FastAPI + Vue 3 的 H3C OLT 设备监控管理系统,用于监控和管理大规模 ONU 设备的在线状态。
功能特性
设备监控与管理
- H3C OLT 设备 SSH 连接和状态查询
- ONU 设备在线状态监控(支持 4000+ 设备)
- 定时自动状态检查(可配置间隔,最小 5 分钟)
- 手动刷新功能(5 分钟冷却限制)
- 设备信息编辑(区域、学校、楼宇、场所类型、备注)
- 设备 MAC 地址更换,保留完整变更历史
- OLT 扫描新发现设备自动入库流程
数据管理
- Excel 批量导入设备信息
- 设备状态历史记录(保留 30 天)
- 每日状态快照(用于趋势图)
- 重复 MAC 地址检测
统计分析
- 实时在线率统计
- 7 天趋势折线图
- 区域分布饼图
权限管理
- Casdoor 统一认证(OIDC)
- 基于 RBAC 的多级权限控制(管理员 / 区域管理员 / 学校管理员 / 普通用户)
- 区域 / 学校级别的数据隔离
- 角色权限精细配置
运维功能
- 用户操作审计日志(保留 90 天)
- 业务下发(ONU 服务配置)
- 库存序列号管理
- 关于页面(支持 Markdown,管理员可编辑)
- 登录过期自动跳转
技术栈
| 层级 | 技术 |
|---|---|
| 后端 | Python · FastAPI · SQLAlchemy · Celery · Redis · Paramiko · Pandas |
| 前端 | Vue 3 · Element Plus · ECharts · marked |
| 数据库 | PostgreSQL |
| 认证 | Casdoor(OIDC) |
| 部署 | Docker Compose · Nginx |
快速开始
环境要求
- Docker 20.10+
- Docker Compose 2.0+
- 外部 PostgreSQL 数据库
- 外部 Redis 服务
- Casdoor 认证服务器
启动步骤
-
克隆项目
git clone <repository-url> cd H3ConuMS2 -
配置环境变量
cp deploy/.env.example deploy/.env # 编辑 deploy/.env,填写数据库、Redis、Casdoor 等配置 -
启动服务
docker compose up -d -
运行数据库迁移
docker compose exec backend alembic upgrade head -
访问系统
- 前端界面:http://localhost:8080
- API 文档:http://localhost:8000/docs
项目结构
H3ConuMS2/
├── backend/
│ ├── app/
│ │ ├── api/ # API 路由
│ │ ├── core/ # 配置、数据库、Celery
│ │ ├── middleware/ # 权限、审计中间件
│ │ ├── models/ # 数据模型
│ │ ├── services/ # 业务逻辑
│ │ └── tasks/ # Celery 定时任务
│ ├── alembic/ # 数据库迁移
│ └── Dockerfile
├── frontend/
│ ├── src/
│ │ ├── api/ # API 调用
│ │ ├── components/ # 公共组件
│ │ ├── router/ # 路由配置
│ │ ├── views/ # 页面组件
│ │ └── utils/ # 工具函数
│ └── Dockerfile
├── deploy/ # 部署配置(docker-compose、nginx、.env)
└── about.md # 系统介绍(关于页面内容)
定时任务
| 任务 | 执行时间 | 说明 |
|---|---|---|
| 设备状态检查 | 每 5 分钟触发,内部节流 | 轮询所有 OLT 采集 ONU 状态 |
| 每日快照聚合 | 每天凌晨 1:00 | 生成趋势图数据 |
| 审计日志清理 | 每天凌晨 2:00 | 删除 90 天前的审计记录 |
| 状态历史清理 | 每天凌晨 3:00 | 删除 30 天前的状态历史 |
配置说明
Casdoor
- 在 Casdoor 中创建应用
- 配置回调地址:
http://your-domain/api/auth/callback - 在
.env中填写 Client ID、Client Secret 和 Certificate
OLT 设备
通过系统界面添加 OLT 设备,配置 SSH 连接信息(IP、用户名、密码)和插槽命令。
更新日志
v0.8.0
- 新增审计日志功能
- 新增关于页面(Markdown 编辑,管理员可配置)
- 新增登录过期自动跳转提示
- 设备编辑支持场所类型字段,区域改为下拉快速填充
- MAC 地址统一格式为
xxxx-xxxx-xxxx(小写) - 更换设备 MAC 时自动清理 OLT 新发现列表中的冲突记录
- 状态历史自动清理(保留 30 天)
v0.7.x 及以前
- 基础设备监控、OLT 管理、权限系统、Excel 导入、库存管理等核心功能
注意:生产环境部署前请修改默认密码和密钥,并配置适当的防火墙规则。
Description
Languages
Vue
46.4%
Python
42%
Shell
4.9%
CSS
3.9%
JavaScript
2.5%
Other
0.2%