ThingsBoard远程OPC-UA集成连接失败:UNAVAILABLE: io exception
远程OPC-UA集成连接ThingsBoard失败的排查方案
针对你遇到的io.grpc.StatusRuntimeException: UNAVAILABLE: io exception连接错误,按以下步骤逐一排查:
1. 测试网络连通性
远程集成通过gRPC与ThingsBoard通信,先确认端口可达:
- 执行命令测试TB服务器的gRPC端口(默认9090)连通性:
nc -zv <TB服务器IP/域名> 9090 # Windows环境可使用 telnet <TB服务器IP/域名> 9090
如果连接失败,说明网络层面存在阻断,优先解决端口开放问题。
2. 核对启动参数准确性
- 确认
TB_HOST参数:如果集成与TB不在同一机器/容器,不能填localhost,需使用TB服务器的公网IP、局域网IP或可解析的域名。 - 检查
INTEGRATION_ROUTING_KEY和INTEGRATION_SECRET:必须与TB控制台中创建远程集成时生成的密钥完全一致,注意大小写、特殊字符,避免复制时多带空格。
3. 检查ThingsBoard端配置
- 登录TB控制台,进入远程集成页面,确认对应集成的状态为「等待连接」,未被禁用。
- 若TB是容器部署,确保容器的9090端口已映射到主机端口;若为裸机部署,检查TB配置文件中
grpc.bind_address是否设为0.0.0.0(允许外部访问),而非127.0.0.1(仅限本地)。
4. 排查防火墙与网络策略
- 服务器端:检查系统防火墙(iptables/ufw)、云服务商安全组是否允许9090端口的入站流量。
- 本地桌面:关闭临时防火墙或添加出站规则,排除代理、VPN对连接的干扰。
5. 验证版本兼容性
确保tb-pe-opc-ua-integration:3.6.4PE镜像版本与ThingsBoard服务器版本完全一致,版本不匹配会导致gRPC协议兼容问题,引发连接失败。
内容的提问来源于stack exchange,提问作者Excelm24
相关产品推荐
相关产品推荐

