fastbee/运维管理功能说明.md
2025-12-30 08:02:52 +08:00

426 lines
9.6 KiB
Markdown
Raw Permalink 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.

# FastBee IoT平台 - 运维管理功能说明
## 一、运维管理概述
**运维管理**是FastBee IoT平台中用于系统运维、监控和管理的功能模块集合。它提供了协议管理、日志查看、客户端监控、固件管理、通知管理等核心运维功能,帮助管理员更好地维护和管理IoT平台。
## 二、运维管理功能模块
### 2.1 协议管理
**功能位置**: 运维管理 → 协议管理
**路径**: `/iot/protocol/index`
**权限**: `iot:protocol:list`
#### 作用
- 管理IoT设备通信协议
- 支持多种协议类型(JAR、JS、C程序)
- 配置协议解析规则
- 管理协议文件上传和版本控制
#### 主要功能
1. **协议列表查询**
- 查看所有已配置的协议
- 支持按协议名称、协议编码搜索
2. **协议详情查看**
- 查看协议详细信息
- 查看协议数据格式配置(Groovy脚本)
3. **协议配置**
- 编辑协议数据格式
- 支持Groovy脚本编写
- 配置协议显示状态
4. **协议类型**
- `0`: 未知类型
- `1`: JAR包协议
- `2`: JS脚本协议
- `3`: C程序协议
#### 使用场景
- 新增设备协议支持
- 修改协议解析规则
- 查看协议配置信息
- 管理协议版本
---
### 2.2 设备服务下发日志
**功能位置**: 运维管理 → 设备服务下发日志
**路径**: `/iot/log/index`
**权限**: `iot:log:list`
#### 作用
- 记录所有设备服务下发操作的详细日志
- 追踪设备控制指令的执行情况
- 排查设备控制问题
- 审计设备操作记录
#### 主要功能
1. **日志查询**
- 按日志名称、类型、设备ID等条件查询
- 支持多条件组合查询
- 分页显示日志列表
2. **日志信息**
- 日志名称
- 日志值
- 日志类型(属性上报、事件上报、调用功能等)
- 日志级别
- 设备信息(设备ID、设备名称)
- 用户信息(用户ID、用户昵称)
- 租户信息
- 触发源
- 告警信息(是否生成告警、告警处理状态)
- 创建时间
3. **日志管理**
- 新增日志(手动记录)
- 修改日志
- 删除日志
- 导出日志
#### 日志类型
- `1`: 属性上报
- `2`: 事件上报
- `3`: 调用功能
- `4`: 设备升级
- `5`: 设备上线
- `6`: 设备离线
- `7`: 运算数据上报
#### 使用场景
- 查看设备控制指令是否成功下发
- 排查设备响应异常问题
- 审计设备操作历史
- 分析设备使用情况
---
### 2.3 产品固件管理
**功能位置**: 运维管理 → 产品固件
**路径**: `/iot/firmware/index`
**权限**: `iot:firmware:list`
#### 作用
- 管理产品固件版本
- 固件升级任务管理
- 固件详情查看
- 设备固件升级
#### 主要功能
1. **固件管理**
- 上传固件文件
- 管理固件版本
- 查看固件详情
2. **固件任务**
- 创建固件升级任务
- 管理升级任务状态
- 查看升级进度
3. **固件详情**
- 查看固件版本信息
- 查看固件文件信息
- 查看升级记录
#### 使用场景
- 设备固件版本管理
- 批量设备固件升级
- 固件升级任务监控
---
### 2.4 设备模拟
**功能位置**: 运维管理 → 设备模拟
**路径**: `/iot/simulate/index`
**权限**: `iot:simulate:list`
#### 作用
- 模拟设备数据上报
- 测试设备功能
- 调试设备协议
- 开发测试支持
#### 主要功能
1. **设备模拟**
- 创建模拟设备
- 模拟设备数据上报
- 模拟设备响应
2. **模拟日志**
- 查看模拟设备日志
- 追踪模拟数据
#### 使用场景
- 开发阶段测试
- 协议调试
- 功能验证
- 系统演示
---
### 2.5 通知管理
#### 2.5.1 通知渠道
**功能位置**: 运维管理 → 通知渠道
**路径**: `/notify/channel/index`
**权限**: `notify:channel:list`
#### 作用
- 配置通知发送渠道
- 管理短信、邮件、微信等通知方式
- 配置渠道参数
#### 主要功能
- 添加通知渠道(短信、邮件、微信、钉钉等)
- 配置渠道参数
- 测试渠道连接
- 启用/禁用渠道
---
#### 2.5.2 通知模板
**功能位置**: 运维管理 → 通知模板
**路径**: `/notify/template/index`
**权限**: `notify:template:list`
#### 作用
- 管理通知消息模板
- 配置告警通知模板
- 自定义通知内容格式
#### 主要功能
- 创建通知模板
- 编辑模板内容
- 配置模板变量
- 预览模板效果
---
#### 2.5.3 通知日志
**功能位置**: 运维管理 → 通知日志
**路径**: `/notify/log/index`
**权限**: `notify:log:list`
#### 作用
- 查看所有通知发送记录
- 追踪通知发送状态
- 排查通知发送问题
#### 主要功能
- 查询通知日志
- 查看通知详情
- 查看发送状态(成功/失败)
- 查看发送时间
---
### 2.6 指令权限
**功能位置**: 运维管理 → 指令权限
**路径**: `/iot/order/index`
**权限**: `order:control:list`
#### 作用
- 控制设备指令下发权限
- 管理用户对设备的控制权限
- 防止未授权操作
#### 主要功能
- 配置设备控制权限
- 管理用户指令权限
- 查看权限配置
- 权限审计
---
## 三、Netty管理(独立模块)
**功能位置**: Netty管理(独立主菜单)
**路径**: `/iot/netty/clients`
**权限**: `monitor:server:list`
### 3.1 客户端管理
#### 作用
- 监控MQTT/TCP客户端连接
- 查看在线客户端信息
- 管理客户端连接
- 排查连接问题
#### 主要功能
1. **客户端列表**
- 查看所有连接的客户端
- 显示客户端ID、类型、连接状态
- 查看客户端订阅的主题
- 查看连接时间、心跳间隔
2. **客户端类型**
- `server`: 服务器端(红色标签)
- `web`: Web客户端(绿色标签)
- `phone`: 手机客户端(黄色标签)
- `test`: 测试客户端(灰色标签)
- 其他: 设备客户端(蓝色标签)
3. **客户端操作**
- 查看客户端详情
- 查看订阅主题列表
- 强制断开客户端连接
4. **连接状态**
- 已连接(绿色标签)
- 未连接(灰色标签)
5. **客户端信息**
- 客户端ID
- 客户端类型
- 连接状态
- 心跳间隔(KeepAlive)
- 用户名
- 订阅主题数量
- 连接时间
#### 使用场景
- 监控设备连接状态
- 查看在线设备数量
- 排查设备连接问题
- 强制断开异常连接
- 查看设备订阅的主题
---
### 3.2 事件日志
**功能位置**: IoT管理 → 事件日志
**路径**: `/iot/log/index`
**权限**: `iot:event:list`
#### 作用
- 记录系统事件日志
- 追踪系统运行状态
- 排查系统问题
#### 主要功能
- 查询事件日志
- 查看事件详情
- 导出事件日志
- 事件统计分析
---
## 四、运维管理使用场景
### 4.1 日常运维场景
1. **协议问题排查**
- 设备数据解析异常 → 查看协议管理,检查协议配置
- 新增设备协议支持 → 在协议管理中配置新协议
2. **设备控制问题排查**
- 设备控制失败 → 查看设备服务下发日志,检查下发记录
- 设备无响应 → 查看Netty客户端管理,检查设备连接状态
3. **系统监控**
- 查看在线设备数量 → Netty管理 → 客户端
- 查看系统事件 → 事件日志
- 查看通知发送情况 → 通知日志
4. **固件升级管理**
- 批量升级设备固件 → 产品固件 → 固件任务
- 查看升级进度 → 固件详情
### 4.2 故障排查流程
```
设备异常
↓
1. 检查设备连接状态(Netty管理 → 客户端)
↓
2. 查看设备服务下发日志(设备服务下发日志)
↓
3. 检查协议配置(协议管理)
↓
4. 查看事件日志(事件日志)
↓
5. 查看通知日志(通知日志)
```
### 4.3 系统维护场景
1. **协议升级**
- 在协议管理中更新协议配置
- 测试协议解析是否正确
2. **通知配置**
- 配置通知渠道(短信、邮件等)
- 创建通知模板
- 测试通知发送
3. **权限管理**
- 配置设备控制权限
- 管理用户指令权限
## 五、核心代码位置
### 5.1 协议管理
- **控制器**: `fastbee-open-api/src/main/java/com/fastbee/controller/protocol/ProtocolController.java`
- **服务**: `fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/IProtocolService.java`
- **前端**: `vue/src/views/iot/protocol/index.vue`
### 5.2 设备服务下发日志
- **前端**: `vue/src/views/iot/log/index.vue`
- **实体**: `fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/FunctionLog.java`
### 5.3 Netty客户端管理
- **前端**: `vue/src/views/iot/netty/clients.vue`
- **后端**: MQTT Broker相关代码在 `fastbee-server/mqtt-broker/`
### 5.4 通知管理
- **通知渠道**: `vue/src/views/notify/channel/index.vue`
- **通知模板**: `vue/src/views/notify/template/index.vue`
- **通知日志**: `vue/src/views/notify/log/index.vue`
## 六、注意事项
1. **协议管理**
- 修改协议配置需要谨慎,可能影响设备数据解析
- 协议文件需要正确上传和配置
2. **日志管理**
- 日志数据量可能很大,建议定期清理
- 重要日志建议导出备份
3. **客户端管理**
- 强制断开客户端连接会影响设备通信
- 建议在确认异常后再断开连接
4. **通知管理**
- 通知渠道需要正确配置参数
- 通知模板变量需要正确配置
5. **权限管理**
- 指令权限配置会影响设备控制功能
- 建议根据实际需求合理配置权限
---
**文档版本**: v1.0
**最后更新**: 2024-12-20
**维护者**: FastBee开发团队