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

机群索引排除指南

帮助我们改进此主题

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

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

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

当字段由于类型不匹配而无法建立索引时,Fleet Indexing 服务会向 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 的值。)

机群故障排除指标

无法创建机群指标

不支持通过更新机群索引配置来降级数据源。

如果您尝试使用降级的数据源创建机群指标(例如,以前的数据源是注册表数据、影子数据和设备连接数据,现在的数据源是注册表数据和影子数据,没有设备连接数据),则您将看到错误并且无法创建机群指标。

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

在 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 中显示任何数据点。