跳到主要内容

网关日志

一、日志系统概述

ThingsGateway 网关内置了完善的日志系统,用于记录系统运行状态、操作事件、错误信息等,是系统监控、故障排查和性能优化的重要工具。

1.1 日志系统的作用

  • 故障排查:通过日志可以快速定位系统故障和错误原因
  • 系统监控:记录系统运行状态和关键指标,便于监控系统健康状况
  • 性能分析:通过日志分析系统性能瓶颈和优化机会
  • 业务分析:记录业务操作和数据处理,用于业务分析和优化

1.2 日志系统架构

ThingsGateway 的日志系统采用分层设计,主要包括以下组件:

  • 日志记录器:负责生成和记录日志信息
  • 日志处理器:处理日志信息,如格式化、过滤等
  • 日志输出:将日志输出到不同目标,如文件、控制台、数据库等
  • 日志管理:管理日志文件,如轮转、清理等

二、日志类型

ThingsGateway 系统包含两种主要类型的日志:数据库日志和文本日志。

2.1 数据库日志

数据库日志存储在系统数据库中,主要用于系统级别的监控和审计。

2.1.1 后台日志

后台日志记录系统核心组件的运行状态、错误信息和操作事件,是系统级别的日志。

主要内容

  • 系统启动和关闭事件
  • 插件加载和初始化状态
  • 系统配置变更
  • 核心服务运行状态
  • 系统错误和异常信息

使用场景

  • 系统故障排查
  • 系统健康状态监控
  • 系统配置变更审计

2.1.2 RPC日志

RPC日志记录设备通信和数据采集过程中的详细信息,是设备级别的日志。

主要内容

  • 设备连接和断开事件
  • 数据采集请求和响应
  • 通信协议解析过程
  • 设备命令执行结果
  • 通信错误和异常信息

使用场景

  • 设备通信故障排查
  • 数据采集过程分析
  • 通信性能优化
  • 协议调试

2.2 文本日志

文本日志存储在系统的 Logs 目录中,以文本文件形式保存,主要用于详细的技术分析和调试。

2.2.1 规则引擎日志

规则引擎日志记录规则引擎执行过程中的详细信息,包括规则触发、执行和结果等。

主要内容

  • 规则触发事件
  • 节点执行过程
  • 执行结果和输出
  • 规则执行错误和异常信息
  • 规则引擎状态变更

使用场景

  • 规则执行故障排查
  • 规则逻辑分析
  • 规则性能优化
  • 规则调试

存储位置Logs/RulesEngineLog/

2.2.2 双机冗余日志

双机冗余日志记录双机冗余系统的运行状态和同步过程中的详细信息。

主要内容

  • 主备切换事件
  • 数据同步过程
  • 心跳检测结果
  • 冗余状态变更
  • 冗余系统错误和异常信息

使用场景

  • 冗余系统故障排查
  • 主备切换分析
  • 同步性能优化
  • 冗余系统调试

存储位置Logs/RedundancyLog/

2.2.3 通道日志

通道日志记录通道级别的运行状态和数据处理过程中的详细信息。

主要内容

  • 通道启动和停止事件
  • 通道配置变更
  • 数据处理过程
  • 通道级别的错误和异常信息
  • 通道性能指标

使用场景

  • 通道故障排查
  • 数据处理分析
  • 通道性能优化
  • 通道配置调试

存储位置Logs/ChannelLog/

2.2.4 设备日志

设备日志记录设备级别的运行状态和数据采集过程中的详细信息,是对RPC日志的补充和扩展。

主要内容

  • 设备状态变更
  • 数据采集结果
  • 设备命令执行状态
  • 设备级别的错误和异常信息
  • 设备性能指标

使用场景

  • 设备故障排查
  • 数据采集分析
  • 设备性能优化
  • 设备配置调试

存储位置Logs/DeviceLog/

三、日志级别

ThingsGateway 支持多种日志级别,用于控制日志的详细程度:

日志级别描述使用场景
Trace最详细的日志,包括所有调试信息开发和调试阶段
Debug调试信息,包括详细的执行流程开发和故障排查
Information一般信息,记录正常的系统运行状态日常系统监控
Warning警告信息,表示可能存在的问题潜在问题预警
Error错误信息,表示发生了错误但系统仍能运行错误排查
Critical严重错误信息,表示系统可能无法正常运行严重故障排查

3.1 日志级别的选择

  • 生产环境:建议使用 Information 或 Warning 级别,减少日志量
  • 测试环境:建议使用 Trace 级别,便于问题排查

四、日志存储管理

4.1 日志文件配置

RPC日志文件配置

后台日志文件配置

文本日志文件配置

4.2 日志存储位置

4.2.1 数据库日志存储

数据库日志存储在系统数据库中,ID标识为DB_Log,具体存储位置取决于系统配置的数据库类型:

  • SQLite:存储在 DB 目录下的 SQLite 文件中

4.2.2 文本日志存储

文本日志默认存储在系统的 Logs 目录中,以文本文件形式保存

5.2 日志清理

配置日志保留天数

六、日志查看和分析

6.1 日志查看界面

6.1.1 数据库日志查看

ThingsGateway 提供了内置的Web界面查看数据库日志(后台日志、RPC日志):

后台日志查看

  • 路径:系统管理 → 日志管理 → 后台日志
  • 功能:查看系统级别的运行状态和错误信息

RPC日志查看

  • 路径:系统管理 → 日志管理 → RPC日志
  • 功能:查看设备通信和数据采集过程中的详细信息

6.1.2 文本日志查看

文本日志(规则引擎日志、双机冗余日志、通道日志、设备日志)可以通过以下方式查看:

Web界面查看

  • 规则引擎日志:规则设计器 → 日志标签页
  • 通道日志:网关监控 → 选择通道 → 日志页面
  • 设备日志:网关监控 → 选择设备 → 日志页面

文件查看

  • 直接查看 Logs 目录下的文本日志文件
  • 使用文本编辑器或日志分析工具打开查看

6.2 日志搜索和过滤

6.2.1 数据库日志搜索

搜索功能

  • 按关键词搜索日志内容
  • 按时间范围过滤日志
  • 按日志级别过滤日志
  • 按来源过滤日志

过滤示例

  • 搜索包含"error"的所有错误日志
  • 查看特定设备的通信日志
  • 分析特定时间段的系统性能
  • 排查特定插件的错误信息

6.2.2 文本日志搜索

搜索功能

  • 使用文本编辑器的搜索功能
  • 使用专业的日志分析工具
  • 通过文件系统搜索特定内容

过滤示例

  • 搜索规则引擎日志中包含"execute"的记录
  • 查看双机冗余日志中的主备切换事件
  • 分析通道日志中的通信错误
  • 排查设备日志中的采集失败记录

七、总结

日志系统是ThingsGateway的重要组成部分,对于系统的稳定运行、故障排查和性能优化具有关键作用。通过合理配置和管理日志系统,可以提高系统的可靠性和可维护性,减少故障排查时间,优化系统性能。

作为系统管理员,应该:

  • 了解日志系统的基本原理和配置方法
  • 根据系统需求和环境调整日志配置
  • 定期审查和分析日志,发现潜在问题
  • 建立完善的日志管理和备份策略
  • 遵循日志管理的最佳实践

通过有效的日志管理,可以使ThingsGateway系统更加稳定、可靠和高效,为工业物联网应用提供更好的支持。