机群索引排除指南 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

机群索引排除指南

帮助我们改进此主题

队列索引服务的聚合查询疑难解答

如果您遇到类型不匹配错误,则可以使用 CloudWatch Logs 解决问题。Fleet Indexing 服务写入日志之前,必须启用 CloudWatch Logs。有关更多信息,请参阅使用 CloudWatch Logs 监控 Amazon IoT

要在非托管式字段上进行聚合查询,必须指定您在传递给 UpdateIndexingConfigurationupdate-indexing-configurationcustomFields 参数中定义的字段。如果字段值与配置的字段数据类型不一致,则在执行聚合查询时忽略此值。

如果字段由于类型不匹配而无法编制索引,则实例集索引服务会向 CloudWatch Logs 发送错误日志。错误日志包含字段名称、无法转换的值以及设备的事物名称。下面是一个错误日志示例:

{ "timestamp": "2017-02-20 20:31:22.932", "logLevel": "ERROR", "traceId": "79738924-1025-3a00-a669-7bec69f7f07a", "accountId": "000000000000", "status": "SucceededWithIssues", "eventType": "IndexingCustomFieldFailed", "thingName": "thing0", "failedCustomFields": [ { "Name": "attributeName1", "Value": "apple", "ExpectedType": "String" }, { "Name": "attributeName2", "Value": "2", "ExpectedType": "Boolean" } ] }

如果设备已断开连接大约一小时,则连接状态 timestamp 值可能会缺失。对于持久性会话,在客户端断开连接的时间超过为持久性会话配置的生存时间 (TTL) 后,该值可能会缺失。仅为客户端 ID 具有匹配事物名称的连接,对连接状态数据建立索引。(客户端 ID 是用于将设备到连接 Amazon IoT Core 的值。)

实例集索引配置故障排除

无法降级实例集索引配置

当您想要移除与实例集指标或动态组关联的数据来源时,不支持降级实例集索引配置。

例如,如果您的索引配置包含注册表数据、影子数据和连接数据,并且查询 thingName:TempSensor* AND shadow.desired.temperature>80 中存在实例集指标,则更新索引配置以仅包含注册表数据将导致错误。

不支持修改现有机群指标使用的自定义字段。

由于实例集指标或动态组不兼容,无法更新您的索引配置

如果由于实例集指标或动态组不兼容而无法更新索引配置,请在更新索引配置之前删除不兼容的实例集指标或动态组。

机群故障排除指标

在 CloudWatch 中看不到数据点

如果您能够创建机群指标,但看不到 CloudWatch 中的数据点,可能没有符合查询字符串条件的内容。

请参阅以下示例命令,了解如何创建机群指标:

aws iot create-fleet-metric --metric-name "example_FM" --query-string "thingName:TempSensor* AND attributes.temperature>80" --period 60 --aggregation-field "attributes.temperature" --aggregation-type name=Statistics,values=count

如果没有符合查询字符串条件 --query-string "thingName:TempSensor* AND attributes.temperature>80" 的事物:

  • 使用 values=count,您将能够创建机群指标,然后将有数据点显示在 CloudWatch 中。该值 count 的数据点始终为0。

  • 采用 values 而不是 count,您能够创建机群指标,但是在 CloudWatch 中看不到机群指标,也不会在 CloudWatch 中显示任何数据点。