플릿 인덱싱 문제 해결 안내서 - AWS IoT Core

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

플릿 인덱싱 문제 해결 안내서

플릿 인덱싱 서비스에 대한 집계 쿼리 문제 해결

유형 불일치 오류가 발생하는 경우 CloudWatch 로그를 사용하여 문제를 해결할 수 있습니다. CloudWatch 플릿 인덱싱 서비스에서 로그를 작성하려면 먼저 로그를 활성화해야 합니다. 자세한 정보는 로그를 사용한 모니터링 AWS IoT CloudWatch 을 참조하세요.

비관리형 필드에 대해 집계 쿼리를 수행하려면 UpdateIndexingConfiguration 또는 update-indexing-configuration에 전달된 customFields 인수에 정의한 필드만 지정해야 합니다. 필드 값이 구성된 필드 데이터 형식과 일치하지 않는 경우 집계 쿼리를 수행할 때 이 값이 무시됩니다.

유형이 일치하지 않아 필드를 인덱싱할 수 없는 경우 플릿 인덱싱 서비스는 Logs에 오류 로그를 보냅니다. 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"을 충족하는 사물이 없는 경우

  • 를 사용하면 플릿 지표를 만들 수 있고 표시할 데이터 포인트도 CloudWatch 많아집니다. values=countcount의 데이터 포인트는 항상 0입니다.

  • values다른 방법을 사용하면 플릿 메트릭을 생성할 수 있지만 플릿 메트릭이 표시되지 않고 count 표시할 데이터 포인트도 없습니다 CloudWatch. CloudWatch