本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
排除故障 Amazon IoT SiteWise 规则操作
要对中的 Amazon IoT SiteWise 规则操作进行故障排除 Amazon IoT Core,您可以执行以下步骤之一:
-
配置亚马逊 CloudWatch 日志
-
为规则配置重新发布错误操作
然后,将错误消息与本主题中的错误进行比较,以排查问题。
配置 Amazon IoT Core logs
您可以配置 Amazon IoT 将不同级别的信息记录到 CloudWatch 日志。
配置和访问 CloudWatch 日志
-
要为配置日志记录 Amazon IoT Core,请参阅《Amazon IoT 开发者指南》中的 “使用 CloudWatch 日志监控” 。
-
导航至 CloudWatch 控制台
。 -
在导航窗格中,选择日志组。
-
选择群AWSIotLogs组。
-
选择最近的日志流。默认情况下,首先 CloudWatch 显示最新的日志流。
-
选择日志条目以展开日志消息。您的日志条目可能类似于以下屏幕截图。
-
将错误消息与本主题中的错误进行比较,以排查问题。
配置重新发布错误操作
您可以对规则的错误操作进行配置以处理错误消息。在该过程中,您将重新发布规则操作配置为错误操作,以在 MQTT 测试客户端中查看错误消息。
注意
重新发布错误操作仅输出 ERROR 级别日志的等效内容。如果您想要更详细的日志,则必须配置 CloudWatch 日志。
在规则中添加重新发布错误操作
-
导航至 Amazon IoT 控制台
。 -
在左侧导航窗格中,选择行动,然后选择规则。
-
选择您的规则。
-
在 错误操作 下面,选择 添加操作。
-
选择 “将消息重新发布到 Amazon IoT 主题”。
-
选择页面底部的 配置操作。
-
在主题中,输入一个唯一的主题(例如,
sitewise/windfarm/rule/error)。 Amazon IoT Core 将向该主题重新发布错误消息。 -
选择 “选择” 以授予执行错误操作的 Amazon IoT Core 访问权限。
-
选择为规则创建的角色旁边的 选择。
-
选择 更新角色 以在角色中添加其他权限。
-
选择添加操作。
您的规则的错误操作应类似于以下屏幕截图。
-
选择主机左上角的向后箭头返回 Amazon IoT 主机主页。
在设置重新发布错误操作后,您可以在 Amazon IoT Core上的 MQTT 测试客户端中查看错误消息。
在以下过程中,您在 MQTT 测试客户端中订阅错误主题。在 MQTT 测试客户端中,您可以接收规则的错误消息以排查问题。
订阅错误操作主题
-
导航至 Amazon IoT 控制台
。 -
在左侧导航页面中,选择 测试 以打开 MQTT 测试客户端。
-
在 订阅主题 字段中,输入您之前配置的错误主题(例如,
sitewise/windfarm/rule/error),然后选择 订阅主题。
-
等待错误消息出现,然后在任何错误消息中展开
failures数组。接下来,将错误消息与本主题中的错误进行比较,以排查问题。
排查规则问题
使用以下信息排查规则问题。
问题
错误:成员必须在当前时间戳之前 604800 秒和之后 300 秒范围内
与当前 Unix 纪元时间相比,您的时间戳早了超过 7 天或晚了超过 5 分钟。尝试以下操作:
-
检查您的时间戳是否采用 Unix 纪元 (UTC) 时间。如果您提供具有不同时区的时间戳,则会收到此错误。
-
检查您的时间戳是否以秒为单位。 Amazon IoT SiteWise 期望时间戳分成以秒为单位的时间(Unix纪元时间)和以纳秒为单位的偏移量。
-
检查您正在上传的数据的时间戳是否是在过去 7 天之前。
错误:属性值与数据类型<类型不匹配 >
规则操作中的条目与目标资产属性具有不同的数据类型。例如,您的目标资产属性为 DOUBLE,但您选择的数据类型为 整数,或者您用 integerValue 传递了值。尝试以下操作:
-
如果您从 Amazon IoT 控制台配置规则,请检查是否为每个条目选择了正确的数据类型。
-
如果您从 API 或 Amazon Command Line Interface (Amazon CLI) 配置规则,请检查您的
value对象使用正确的类型字段(doubleValue例如,DOUBLE属性字段)。
错误:用户:<role-arn > 无权在资源上执行:iotsitewise: BatchPutAssetPropertyValue
未授权您的规则访问目标资产属性,或者目标资产属性不存在。尝试以下操作:
-
检查您的属性别名是否正确,以及您是否有具有给定属性别名的资产属性。有关更多信息,请参阅 管理数据流 Amazon IoT SiteWise。
-
检查您的规则是否具有角色以及该角色是否允许目标资产属性具有
iotsitewise:BatchPutAssetPropertyValue权限,例如通过目标资产的层次结构。有关更多信息,请参阅 授 Amazon IoT 予所需的访问权限。
错误:iot.amazonaws.com 无法执行:sts: on 资源:role-arn AssumeRole < >
您的用户无权代入您在 Amazon Identity and Access Management (IAM) 中的规则中的角色。
检查是否对您的用户授予规则上角色的 iam:PassRole 权限。有关更多信息,请参阅 Amazon IoT 开发人员指南中的 传递角色权限。
信息:未发送任何请求。 PutAssetPropertyValueEntries 执行替换模板后为空。
注意
此消息是 INFO 级别日志。
您的请求必须至少具有一个包含所有必需参数的条目。
检查规则的参数(包括替换模板)是否会导致非空值。替换模板无法访问规则查询语句中的 AS 子句定义的值。有关更多信息,请参阅 Amazon IoT 开发人员指南中的替换模板。
对规则进行故障排除 (Amazon IoT SiteWise)
如果 CPU 和内存使用数据未按预期显示,请按照此过程中的 Amazon IoT SiteWise 步骤对您的规则进行故障排除。在该过程中,您将重新发布规则操作配置为错误操作,以在 MQTT 测试客户端中查看错误消息。您也可以将日志记录配置为 CloudWatch 日志以进行故障排除。有关更多信息,请参阅 排除故障 Amazon IoT SiteWise 规则操作。
在规则中添加重新发布错误操作
-
导航至 Amazon IoT 控制台
。 -
在左侧导航窗格中,选择消息路由,然后选择规则。
-
选择您以前创建的规则,然后选择编辑。
-
在错误操作 -可选下,选择添加错误操作。
-
选择 “将消息重新发布到 Amazon IoT 主题”。
-
在主题中,输入错误的路径(例如,
sitewise/rule/tutorial/error)。 Amazon IoT Core 将向该主题重新发布错误消息。 -
选择您之前创建的角色(例如,SiteWiseTutorialDeviceRuleRole)。
-
选择更新。
在设置重新发布错误操作后,您可以在 Amazon IoT Core上的 MQTT 测试客户端中查看错误消息。
在以下过程中,您在 MQTT 测试客户端中订阅错误主题。
订阅错误操作主题
-
导航至 Amazon IoT 控制台
。 -
在左侧导航页面中,选择 MQTT 测试客户端以打开 MQTT 测试客户端。
-
在主题筛选器字段中,输入
sitewise/rule/tutorial/error并选择订阅。
出现错误消息时,查看任何错误消息中的 failures 阵列以诊断问题。有关可能的问题以及如何解决这些问题的更多信息,请参阅排除故障 Amazon IoT SiteWise 规则操作。
如果未显示错误,请检查是否启用了您的规则,以及您是否订阅了在重新发布错误操作中配置的相同主题。如果在执行此操作后仍未出现错误,请检查设备脚本是否正在运行并成功更新设备的影子。
注意
您还可以订阅设备的影子更新主题,以查看您的 Amazon IoT SiteWise 操作解析的负载。为此,请订阅以下主题。
$aws/things/+/shadow/update/accepted
对规则进行故障排除(DynamoDB)
如果演示资产数据未按预期方式显示在 DynamoDB 表中,请按照该过程中的步骤排除规则故障。在该过程中,您将重新发布规则操作配置为错误操作,以在 MQTT 测试客户端中查看错误消息。您也可以将日志记录配置为 CloudWatch 日志以进行故障排除。有关更多信息,请参阅《Amazon IoT 开发人员指南》中的使用 CloudWatch 日志进行监控。
在规则中添加重新发布错误操作
-
导航至 Amazon IoT 控制台
。 -
在左侧导航窗格中,选择行动,然后选择规则。
-
选择您以前创建的规则。
-
在 错误操作 下面,选择 添加操作。
-
选择 “将消息重新发布到 Amazon IoT 主题”。
-
选择页面底部的 配置操作。
-
在 Topic(主题)中输入
windspeed/error。 Amazon IoT Core 将向该主题重新发布错误消息。
-
选择 Select 授予 Amazon IoT 核心访问权限,使用您之前创建的角色执行错误操作。
-
选择您的角色旁边的 选择。
-
选择 更新角色 以在角色中添加其他权限。
-
选择 添加操作 以完成添加错误操作的过程。
-
选择主机左上角的向后箭头返回 Amazon IoT Core 主机主页。
设置重新发布错误操作后,您可以在 Core 的 MQTT 测试客户端中 Amazon IoT 查看错误消息。
在以下过程中,您在 MQTT 测试客户端中订阅错误主题。
订阅错误操作主题
-
在 Amazon IoT Core 控制台的左侧导航页面中,选择 “测试” 。
-
在 订阅主题 字段中,输入
windspeed/error并选择 订阅主题。
-
观察显示的错误消息,并在错误消息中浏览
failures数组以诊断以下常见问题:-
规则查询语句中的错别字
-
角色权限不足
如果未显示错误,请检查是否启用了您的规则,以及您是否订阅了在重新发布错误操作中配置的相同主题。如果仍未显示错误,请检查您的演示风电场资产是否仍然存在,以及是否在风速属性上启用了通知。如果您的演示资产已过期并从中消失 Amazon IoT SiteWise,则可以创建新的演示并更新规则查询语句以反映更新的资产模型和属性 ID。
-