Files
H3ConuMS-v2/README.md
T
v6ole eaabebbceb feat: v0.8.x 功能更新与数据维护优化
- MAC地址格式统一为小写 xxxx-xxxx-xxxx,支持三种格式输入
- 更换设备MAC时自动清理OLT新发现列表中的冲突ONU记录
- 设备编辑新增场所类型字段(手动输入),区域改为下拉快速填充
- 编辑/更换设备时自动移除new_devices中同MAC的待入库记录
- 新增登录过期自动跳转(401拦截 + 过期提示)
- 新增关于页面(/about),支持Markdown渲染,管理员可在设置中编辑内容
- 新增device_status_history每日自动清理任务(保留30天)
- 更新README.md和about.md
2026-04-24 08:53:28 +08:00

149 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 |
| 认证 | CasdoorOIDC |
| 部署 | Docker Compose · Nginx |
## 快速开始
### 环境要求
- Docker 20.10+
- Docker Compose 2.0+
- 外部 PostgreSQL 数据库
- 外部 Redis 服务
- Casdoor 认证服务器
### 启动步骤
1. 克隆项目
```bash
git clone <repository-url>
cd H3ConuMS2
```
2. 配置环境变量
```bash
cp deploy/.env.example deploy/.env
# 编辑 deploy/.env,填写数据库、Redis、Casdoor 等配置
```
3. 启动服务
```bash
docker compose up -d
```
4. 运行数据库迁移
```bash
docker compose exec backend alembic upgrade head
```
5. 访问系统
- 前端界面: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
1. 在 Casdoor 中创建应用
2. 配置回调地址:`http://your-domain/api/auth/callback`
3. 在 `.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 导入、库存管理等核心功能
---
**注意**:生产环境部署前请修改默认密码和密钥,并配置适当的防火墙规则。