本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
機群索引疑難排解
機群索引服務的疑難排解彙總查詢
如果您有類型不相符錯誤,您可以使用 CloudWatch Logs 對問題進行故障診斷。 CloudWatch 必須先啟用日誌,才能由機群索引服務寫入日誌。如需詳細資訊,請參閱AWS IoT 使用 CloudWatch 日誌監控。
若要對非受管欄位進行彙總查詢,您必須指定您在 customFields
引數中定義的欄位傳遞給 UpdateIndexingConfiguration
或 update-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指南。
當您使用地理位置查詢索引位置資料時,您在 中指定的位置欄位geoLocations
必須與您傳遞給 的位置欄位相符UpdateIndexingConfiguration
。如果不相符,機群索引會將不相符的類型錯誤傳送到 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。 -
使用
values
以外的count
,您將能夠建立機群指標,但不會在 中看到機群指標 CloudWatch ,也不會在 中顯示任何資料點 CloudWatch。