物联网平台的日志服务提供查看设备通信消息轨迹功能。您可根据TraceID或MessageId,追踪任意一条消息在物联网平台流转的全路径,还可根据出现的故障节点快速分析、定位问题。本文介绍查看消息轨迹的操作步骤。
限制说明
仅中国地域的企业版实例和新版公共实例,支持使用消息轨迹功能。
操作步骤
登录物联网平台控制台。
在实例概览页签的全部环境下,找到对应的实例,单击实例卡片。
- 在左侧导航栏,单击TraceID或MessageId。 ,在云端运行日志页签,找到要查看消息轨迹的
- 单击消息轨迹,在搜索框中,输入TraceID或MessageId。
- 单击右侧搜索图标,查看消息轨迹图。
- 消息轨迹图由通信节点图标和连接线组成。图示显绿色,表示通信流成功;显红色,表示失败。
- 鼠标指针移动到通信节点,可查看通信流时间、成功信息或失败原因等。
例如,针对家庭温控器产品上报数据,设置了流转规则如下:处理数据的SQL语句:
SELECT items.temperature.value as temperature, items.humidity.value as humidity, deviceName() as deviceName, timestamp() as time FROM "/g***/TH_sensor/thing/event/property/post"
转发temperature、humidity、deviceName、time的数据:
- 将数据插入到表格存储(Tablestore)中:主键设置为
${deviceName}
。 - 将数据发布到AMQP服务端订阅消费组:默认消费组。
- 将数据存储到实例内时间序列数据库中:metric数据类型选择数值型。
- 将数据插入到云数据库(RDS)中:数据库表中字段time已设置为主键自增长。
- 将数据发布到另一个Topic中:
/g***/TH_sensor/user/update
。
具体操作,请参见设置数据流转规则。
如下图所示,设备上报数据后,查看消息轨迹,可发现在数据流转操作中:
- 发布到另一个Topic(republish)、插入到表格存储(ots)和发布到AMQP服务端订阅消费组的消息处理成功。
- 存储到实例内时间序列数据库(tsdb in vpc)因参数非法,及插入到云数据库(rds)中因云产品配置异常,都导致消息处理失败。
后续步骤
当您在通信轨迹中发现有处理失败节点时,需根据失败原因,进行排查和修复。排查方法,请参见云端运行日志中各错误码说明。如上文示例轨迹图,您可前往ruleName对应的流转规则,针对失败的转发操作,进行修正:
页面,找到- 将数据存储到实例内时间序列数据库中:metric数据类型改为字符串。
- 将数据插入到云数据库(RDS)中:取消数据库表中字段time的主键设置。
如图所示,设备再次上报数据后,查看消息轨迹,消息处理成功。
文档内容是否对您有帮助?