本页目录
故障排查
先找到失败的环节,再检查该环节的对象与日志。记录发生时间、对象名称和最近一次修改,每次只调整一个条件。
页面访问异常
- 在部署主机访问
http://localhost:6200。能打开 Watchdog 时,先看仪表盘中的 TGateway 运行状态和最近错误;未运行则转到服务启动异常。 - 在同一主机访问
http://localhost:6100。本机可访问、远程不可访问时,核对远程浏览器使用的主机 IP、实际端口、监听地址、防火墙及反向代理。容器部署还需核对端口映射。 - 页面打开但登录失败时,确认登录的是 TGateway、Watchdog 还是 Studio,再核对该组件的账号。三者的凭据独立管理,修改一处不会同步其他组件。
端口已修改时使用实际地址。恢复后,在本机和需要访问的远程浏览器分别登录,确认进入的是预期工程。账号与工作区检查见启动与首次登录。
服务启动异常
先查看 Watchdog“日志查看”、Logs/Watchdog/ 和系统服务日志。网关已启动后又退出时,同时查看 GatewayApp/Logs/XTrace/;路径以现场日志配置为准。容器使用 docker logs。
| 错误或现象 | 检查与处理 |
|---|---|
提示缺少 .NET 或要求安装运行时 | 用 dotnet --list-runtimes 核对 .NET 10 Runtime,并确认运行包与运行时架构一致。 |
Exec format error | 运行包架构与主机不匹配,重新选择 x64 或 ARM64 等对应包。 |
Access is denied / Permission denied | 按错误中指出的文件或设备检查权限;以实际服务账号为准。Linux 同时检查可执行文件的执行位。 |
| 端口已占用 | 核对是否同时运行前台实例和系统服务,以及是否与其他程序共用端口。确认进程归属后再处理。 |
| Watchdog 正常,TGateway 反复退出 | 核对完整 GatewayApp、当前工程、Web 端口及网关启动错误,优先处理第一条错误。 |
系统服务仍无法定位原因时,先停止该服务并确认进程退出,再用同一运行账号前台启动。具体命令见 Windows 部署、Linux 部署或 Docker 运行检查。
恢复后确认系统服务或容器保持运行、Watchdog 不再连续增加启动失败次数,且 TGateway 可登录。重启只用于验证修正结果,不代替定位错误。
通信故障
在“开发配置 → 采集配置”选择故障设备,检查“详细信息”、通道日志和设备日志。
| 现象 | 判断与下一步 |
|---|---|
| 同一通道下多个设备同时异常 | 先检查共同的连接、串口占用、源端服务和网络。 |
| 无响应或读取超时 | 核对 IP、端口或串口参数,再检查站号、协议及源端是否接收请求。 |
| 连接成功,但单个地址报错 | 用同设备一个已知可读地址比较,核对功能区、偏移、类型、长度和协议异常码。 |
| TLS 握手失败 | 核对证书信任、主机名、有效期及设备的 TLS 配置。 |
按分层诊断继续定位;连接方向、串口与超时参数见通道传输。恢复后观察原设备的新请求、响应、变量质量和采集时间,不能只看 TCP 已连接。
采集异常
- 清除列表筛选,确认正在查看正确的设备和变量,且通道、设备、变量均已启用。
- 显示原始值、当前值、采集时间、变化时间、质量及错误列,对照变量状态说明。
- 原始值也错误时,回到协议调试,核对地址、数据类型、长度和字节序。原始值正确、当前值错误时,检查读取表达式、比例换算和小数位。
- 值长期不变时,先检查采集时间是否推进。恒定源值的变化时间不变属于正常情况;采集时间也停止时,再查设备执行周期和最近错误。
用一个已知值核对,恢复原配置后至少观察两个连续采样窗口。首次配置可参考采集第一个点,完整参数见通道、设备与变量。
数据转发异常
在“开发配置 → 数据转发”选择目标,按以下顺序检查:
- 转发组和目标均已启用,源变量属于组范围;手动范围已保存成员。
- 触发条件能够产生数据。变化模式下,恒定值不会因等待而产生新的变化记录;同时核对在线过滤和成员覆盖配置。
- 查看目标调试、目标日志与最近错误,核对连接、认证、Topic、目标变量属性和消息模板。
- 目标已连接但接收端无消息时,在独立接收端检查完整主题或物理表,而不是只看目标在线状态。
范围、触发和调试见转发运行与恢复。缓存持续积压时,查看缓存出站状态,区分待发送、重试和容量不足。
恢复后主动改变一个测试值,在接收端核对新值、变量身份和时间;启用补传时,按完整补传验证检查旧记录与新记录。
历史数据异常
| 现象 | 判断与下一步 |
|---|---|
| 只能看到最新值,没有历史过程 | 检查是否使用实时数据目标;实时表覆盖更新,需要连续记录时使用历史数据目标。 |
| 数据库已有记录,页面查不到 | 核对选择的目标、变量、数值/字符串分类及时间范围,再检查查询错误。 |
| 数据库也没有记录 | 从转发组范围、触发和目标日志排查写入,再检查数据库权限、表名和剩余空间。 |
| 时间相差八小时 | 核对目标时区、UTC 标记及数据库模型,不要重复叠加偏移。 |
| 曲线有断点或没有曲线 | 对照采集质量与周期;自定义 SQL 目标不提供普通历史目标的同样趋势图。 |
存储目标选择见数据模型对照,页面查询与导出见数据查询。恢复后让测试变量产生新值,同时核对物理存储记录与页面查询结果。
资源与容量
进入系统监控,记录同一观察时段的设备数、变量数、采集周期、脚本、转发和存储负载。
- CPU 持续偏高:先定位高频设备、脚本或转发任务,再按容量规划一次调整一个因素。
- 内存增长:区分进程、托管内存与容器口径,并同时查看缓存积压;一次 GC 后下降不能证明问题已经解决。
- 磁盘增长:核对日志保留、历史保留和离线缓存,按对应功能清理策略处理。保留正在使用的数据库、WAL 文件及待补发记录。
修正后用相同负载和观察窗口比较趋势,确认新采样正常、接收端持续收到数据、积压按预期减少。不要把一次低负载快照当成现场容量结论。
寻求支持前
整理版本、操作系统与架构、复现步骤、发生时间及相关日志;隐藏密码、Token 和完整连接凭据。通过联系与支持提供必要信息。