# 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开发团队