フリートインデックス作成トラブルシューティングガイド - AWS IoT Core

フリートインデックス作成トラブルシューティングガイド

このトピックの改善にご協力ください

フリートインデックス作成サービスの集計クエリのトラブルシューティング

タイプの不一致エラーがある場合は、CloudWatch Logs を使用して問題のトラブルシューティングを行うことができます。フリートインデックス作成サービスによってログが書き込まれる前に、CloudWatch Logs を有効にする必要があります。詳細については、「CloudWatch Logs を使用して AWS IoT をモニタリングする」を参照してください。

非管理対象フィールドに対して集計クエリを行う場合、customFields または UpdateIndexingConfiguration に渡される update-indexing-configuration 引数で定義したフィールドのみを指定できます。フィールド値が設定されたフィールドのデータ型と一致しない場合、集計クエリの実行時にこの値は無視されます。

フリートインデックス作成サービスは、型が一致しないためにフィールドをインデックス化できない場合、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" } ] }

デバイスが約 1 時間切断されていた場合、接続ステータス値 timestamp が含まれていない場合があります。永続的なセッションでは、この値は、永続的なセッションに設定された有効期間 (TTL) よりも長い時間クライアントが切断されると表示されません。接続ステータスのデータのインデックスは、クライアント ID に一致するモノの名前が含まれる接続にのみ作成されます。(クライアント ID は、デバイスを AWS 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 です。

  • count 以外の values を使用すると、フリートメトリクスを作成することはできますが、CloudWatch にはフリートメトリクスが表示されず、CloudWatch に表示するデータポイントも得られません。