機群索引疑難排解指南 - AWS IoT Core

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

機群索引疑難排解指南

機群索引服務的疑難排解彙總查詢

如果您遇到類型不匹配錯誤,可以使用 CloudWatch Logs 來疑難排解問題。 CloudWatch 在「叢集索引」服務寫入記錄檔之前,必須先啟用記錄檔。如需詳細資訊,請參閱 AWS IoT 使用 CloudWatch 記錄監控

若要對非受管欄位進行彙總查詢,您必須指定您在 customFields 引數中定義的欄位傳遞給 UpdateIndexingConfigurationupdate-indexing-configuration。如果欄位值與設定的欄位資料類型不一致,則在您執行彙總查詢時會忽略此值。

如果欄位因為類型不相符而無法編製索引,叢集索引服務會將錯誤記錄傳送至 CloudWatch 記錄檔。錯誤日誌包含欄位名稱、無法轉換的值,以及裝置的物件名稱。以下是範例錯誤日誌:

{ "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 值。對於持續工作階段,當用戶端中斷連線的時間長於持續性工作階段所設定的 time-to-live (TTL) 時,該值可能會遺失。只有針對用戶端 ID 有相符物件名稱的連線,連線狀態資料才會建立索引。用戶端 ID 是用來連接裝置的值 AWS IoT Core。)

疑難排解機群索引組態

無法降級機群索引組態

移除與機群指標或動態群組相關聯的資料來源時,不支援機群索引組態降級。

例如,若您的索引組態具有登錄資料、影子資料和連線資料,且查詢 thingName:TempSensor* AND shadow.desired.temperature>80 有機群指標,則更新索引組態以僅包含登錄資料將導致錯誤。

不支援修改現有機群指標使用的自訂欄位。

由於不相容的機群指標或動態群組,無法更新您的索引組態

若由於不相容的機群指標或動態群組而無法更新索引組態,請先刪除不相容的機群指標或動態群組,然後再更新索引組態。

疑難排解位置索引和地理查詢

若要疑難排解位置索引和地理查詢中的不相符類型錯誤,您可以啟用 CloudWatch 記錄。如需有關如何監視 AWS IoT 使用的詳細資訊 CloudWatch,請遵循 step-by-step 指南

使用地理查詢為UpdateIndexingConfiguration位置資料建立索引時,您在中指定的位置欄位geoLocations必須與您傳遞的位置欄位相符。如果發生不相符,叢集索引會傳送不相符的類型錯誤給。 CloudWatch錯誤日誌包含欄位名稱、無法轉換的值,以及裝置的物件名稱。

以下是範例錯誤日誌:

{ "timestamp": "2023-11-09 01:39:43.466", "logLevel": "ERROR", "traceId": "79738924-1025-3a00-a669-7bec69f7f07a", "accountId": "123456789012", "status": "Failure", "eventType": "IndexingGeoLocationFieldFailed", "thingName": "thing0", "failedGeolocationFields": [ { "Name": "attributeName1", "Value": "apple", "ExpectedType": "Geopoint" } ], "reason": "failed to index the field because it could not be converted to one of the expected geoLocation formats." }

如需詳細資訊,請參閱 索引位置資料

機群指標疑難排解

在中看不到資料點 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。

  • 除此之valuescount,您將能夠建立叢集指標,但不會在中看到叢集指標 CloudWatch ,也不會顯示任何資料點 CloudWatch。