CloudWatch AWS IoT ログエントリをログに記録する - AWS IoT Core

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

CloudWatch AWS IoT ログエントリをログに記録する

の各コンポーネントは、独自のログエントリ AWS IoT を生成します。各ログエントリには、ログエントリが生成される原因となった操作を示す eventType が含まれています。このセクションでは、次の AWS IoT コンポーネントによって生成されるログエントリについて説明します。

メッセージブローカーのログエントリ

AWS IoT メッセージブローカーは、次のイベントのログエントリを生成します。

Connect ログエントリ

AWS IoT メッセージブローカーは、MQTTクライアントが接続Connectするときに eventTypeの を使用してログエントリを生成します。

Connect ログエントリの例

{ "timestamp": "2017-08-10 15:37:23.476", "logLevel": "INFO", "traceId": "20b23f3f-d7f1-feae-169f-82263394fbdb", "accountId": "123456789012", "status": "Success", "eventType": "Connect", "protocol": "MQTT", "clientId": "abf27092886e49a8a5c1922749736453", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "sourceIp": "205.251.233.181", "sourcePort": 13490 }

共通 CloudWatch ログ属性 に加えて、Connect ログ項目には次の属性が含まれています。

clientId

リクエストを実行するクライアントの ID。

principalId

リクエストを実行するプリンシパルの ID。

protocol

リクエストを行うために使用されるプロトコル。有効な値は MQTT または HTTP です。

sourceIp

リクエストが発生した IP アドレス。

sourcePort

リクエストが発生したポート。

Disconnect ログエントリ

AWS IoT メッセージブローカーは、MQTTクライアントが切断Disconnectされたときに、 eventType のログエントリを生成します。

Disconnect ログエントリの例

{ "timestamp": "2017-08-10 15:37:23.476", "logLevel": "INFO", "traceId": "20b23f3f-d7f1-feae-169f-82263394fbdb", "accountId": "123456789012", "status": "Success", "eventType": "Disconnect", "protocol": "MQTT", "clientId": "abf27092886e49a8a5c1922749736453", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "sourceIp": "205.251.233.181", "sourcePort": 13490, "reason": "DUPLICATE_CLIENT_ID", "details": "A new connection was established with the same client ID", "disconnectReason": "CLIENT_INITIATED_DISCONNECT" }

共通 CloudWatch ログ属性 に加えて、Disconnect ログ項目には次の属性が含まれています。

clientId

リクエストを実行するクライアントの ID。

principalId

リクエストを実行するプリンシパルの ID。

protocol

リクエストを行うために使用されるプロトコル。有効な値は MQTT または HTTP です。

sourceIp

リクエストが発生した IP アドレス。

sourcePort

リクエストが発生したポート。

理由

クライアントが切断する理由。

details

エラーの簡単な説明。

disconnectReason

クライアントが切断する理由。

GetRetainedMessage ログエントリ

AWS IoT メッセージブローカーは、 GetRetainedMessage が呼び出されたGetRetainedMessageときに eventType の を持つログエントリを生成します。

GetRetainedMessage ログエントリの例

{ "timestamp": "2017-08-07 18:47:56.664", "logLevel": "INFO", "traceId": "1a60d02e-15b9-605b-7096-a9f584a6ad3f", "accountId": "123456789012", "status": "Success", "eventType": "GetRetainedMessage", "protocol": "HTTP", "topicName": "a/b/c", "qos": "1", "lastModifiedDate": "2017-08-07 18:47:56.664" }

共通 CloudWatch ログ属性 に加えて、GetRetainedMessage ログ項目には次の属性が含まれています。

lastModifiedDate

保持されたメッセージが によって保存されたエポック日時。ミリ秒単位 AWS IoT。

protocol

リクエストを行うために使用されるプロトコル。有効な値: HTTP

qos

発行要求で使用されるサービス品質 (QoS) レベル。有効な値は 0 または 1 です。

topicName

サブスクライブされたトピックの名前。

ListRetainedMessage ログエントリ

AWS IoT メッセージブローカーは、 ListRetainedMessages が呼び出ListRetainedMessageされると、 eventType の でログエントリを生成します。

ListRetainedMessage ログエントリの例

{ "timestamp": "2017-08-07 18:47:56.664", "logLevel": "INFO", "traceId": "1a60d02e-15b9-605b-7096-a9f584a6ad3f", "accountId": "123456789012", "status": "Success", "eventType": "ListRetainedMessage", "protocol": "HTTP" }

共通 CloudWatch ログ属性 に加えて、ListRetainedMessage ログ項目には次の属性が含まれています:

protocol

リクエストを行うために使用されるプロトコル。有効な値: HTTP

Publish-In ログエントリ

AWS IoT メッセージブローカーはMQTTメッセージを受信すると、 eventTypeの を持つログエントリを生成しますPublish-In

Publish-In ログエントリの例

{ "timestamp": "2017-08-10 15:39:30.961", "logLevel": "INFO", "traceId": "672ec480-31ce-fd8b-b5fb-22e3ac420699", "accountId": "123456789012", "status": "Success", "eventType": "Publish-In", "protocol": "MQTT", "topicName": "$aws/things/MyThing/shadow/get", "clientId": "abf27092886e49a8a5c1922749736453", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "sourceIp": "205.251.233.181", "sourcePort": 13490, "retain": "True" }

共通 CloudWatch ログ属性 に加えて、Publish-In ログ項目には次の属性が含まれています。

clientId

リクエストを実行するクライアントの ID。

principalId

リクエストを実行するプリンシパルの ID。

protocol

リクエストを行うために使用されるプロトコル。有効な値は MQTT または HTTP です。

保持

メッセージに の値を持つRETAINフラグが設定されている場合に使用される属性True。メッセージにRETAINフラグが設定されていない場合、この属性はログエントリに表示されません。詳細については、「MQTT 保持されたメッセージ」を参照してください。

sourceIp

リクエストが発生した IP アドレス。

sourcePort

リクエストが発生したポート。

topicName

サブスクライブされたトピックの名前。

Publish-Out ログエントリ

メッセージブローカーがMQTTメッセージを公開すると、 eventType の を含むログエントリが生成されます。 Publish-Out

Publish-Out ログエントリの例

{ "timestamp": "2017-08-10 15:39:30.961", "logLevel": "INFO", "traceId": "672ec480-31ce-fd8b-b5fb-22e3ac420699", "accountId": "123456789012", "status": "Success", "eventType": "Publish-Out", "protocol": "MQTT", "topicName": "$aws/things/MyThing/shadow/get", "clientId": "abf27092886e49a8a5c1922749736453", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "sourceIp": "205.251.233.181", "sourcePort": 13490 }

共通 CloudWatch ログ属性 に加えて、Publish-Out ログ項目には次の属性が含まれています。

clientId

そのMQTTトピックに関するメッセージを受信するサブスクライブされたクライアントの ID。

principalId

リクエストを実行するプリンシパルの ID。

protocol

リクエストを行うために使用されるプロトコル。有効な値は MQTT または HTTP です。

sourceIp

リクエストが発生した IP アドレス。

sourcePort

リクエストが発生したポート。

topicName

サブスクライブされたトピックの名前。

キューに保存されたログエントリ

永続セッションを持つデバイスが切断されると、MQTTメッセージブローカーはデバイスのメッセージを保存し、 eventType の を使用してログエントリ AWS IoT を生成しますQueued。永MQTT続セッションの詳細については、「」を参照してくださいMQTT 永続セッション

キューに保存されたサーバーエラーログエントリの例

{ "timestamp": "2022-08-10 15:39:30.961", "logLevel": "ERROR", "traceId": "672ec480-31ce-fd8b-b5fb-22e3ac420699", "accountId": "123456789012", "topicName": "$aws/things/MyThing/get", "clientId": "123123123", "qos": "1", "protocol": "MQTT", "eventType": "Queued", "status": "Failure", "details": "Server Error" }

共通 CloudWatch ログ属性 に加えて、Queued サーバーエラーログエントリには次の属性が含まれています。

clientId

メッセージがキューに保存されたクライアントの ID。

details
Server Error

サーバーエラーにより、メッセージの保存が妨げられました。

protocol

リクエストを行うために使用されるプロトコル。値は常に MQTT です。

qos

リクエストのサービス品質 (QoS) レベル。QoS が 0 のメッセージは保存されないため、値は常に 1 になります。

topicName

サブスクライブされたトピックの名前。

キューに保存された成功ログエントリの例

{ "timestamp": "2022-08-10 15:39:30.961", "logLevel": "INFO", "traceId": "672ec480-31ce-fd8b-b5fb-22e3ac420699", "accountId": "123456789012", "topicName": "$aws/things/MyThing/get", "clientId": "123123123", "qos": "1", "protocol": "MQTT", "eventType": "Queued", "status": "Success" }

共通 CloudWatch ログ属性 に加えて、Queued 成功ログエントリには次の属性が含まれています。

clientId

メッセージがキューに保存されたクライアントの ID。

protocol

リクエストを行うために使用されるプロトコル。値は常に MQTT です。

qos

リクエストのサービス品質 (QoS) レベル。QoS が 0 のメッセージは保存されないため、値は常に 1 になります。

topicName

サブスクライブされたトピックの名前。

キューに保存されているスロットリングされたログエントリの例

{ "timestamp": "2022-08-10 15:39:30.961", "logLevel": "ERROR", "traceId": "672ec480-31ce-fd8b-b5fb-22e3ac420699", "accountId": "123456789012", "topicName": "$aws/things/MyThing/get", "clientId": "123123123", "qos": "1", "protocol": "MQTT", "eventType": "Queued", "status": "Failure", "details": "Throttled while queueing offline message" }

共通 CloudWatch ログ属性 に加えて、スロットリングされた Queued ログエントリには次の属性が含まれています。

clientId

メッセージがキューに保存されたクライアントの ID。

details
Throttled while queueing offline message

クライアントが Queued messages per second per account 制限を超えたため、メッセージは保存されませんでした。

protocol

リクエストを行うために使用されるプロトコル。値は常に MQTT です。

qos

リクエストのサービス品質 (QoS) レベル。QoS が 0 のメッセージは保存されないため、値は常に 1 になります。

topicName

サブスクライブされたトピックの名前。

Subscribe ログエントリ

AWS IoT メッセージブローカーは、MQTTクライアントがトピックをサブスクライブSubscribeするときに、 eventType でログエントリを生成します。

MQTT 3 サブスクライブログエントリの例

{ "timestamp": "2017-08-10 15:39:04.413", "logLevel": "INFO", "traceId": "7aa5c38d-1b49-3753-15dc-513ce4ab9fa6", "accountId": "123456789012", "status": "Success", "eventType": "Subscribe", "protocol": "MQTT", "topicName": "$aws/things/MyThing/shadow/#", "clientId": "abf27092886e49a8a5c1922749736453", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "sourceIp": "205.251.233.181", "sourcePort": 13490 }

共通 CloudWatch ログ属性 に加えて、Subscribe ログ項目には次の属性が含まれています。

clientId

リクエストを実行するクライアントの ID。

principalId

リクエストを実行するプリンシパルの ID。

protocol

リクエストを行うために使用されるプロトコル。値は常に MQTT です。

sourceIp

リクエストが発生した IP アドレス。

sourcePort

リクエストが発生したポート。

topicName

サブスクライブされたトピックの名前。

MQTT 5 サブスクライブログエントリの例

{ "timestamp": "2022-11-30 16:24:15.628", "logLevel": "INFO", "traceId": "7aa5c38d-1b49-3753-15dc-513ce4ab9fa6", "accountId": "123456789012", "status": "Success", "eventType": "Subscribe", "protocol": "MQTT", "topicName": "test/topic1,$invalid/reserved/topic", "subscriptions": [ { "topicName": "test/topic1", "reasonCode": 1 }, { "topicName": "$invalid/reserved/topic", "reasonCode": 143 } ], "clientId": "abf27092886e49a8a5c1922749736453", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "sourceIp": "205.251.233.181", "sourcePort": 13490 }

MQTT 5 つの Subscribe オペレーションでは、 共通 CloudWatch ログ属性MQTT3 つの Subscribe ログエントリ属性 に加えて、5 MQTT つのSubscribeログエントリに次の属性が含まれます。

サブスクリプション

サブスクライブリクエストでリクエストされたトピックと個々の 5 MQTT つの理由コード間のマッピングのリスト。詳細については、MQTT「理由コード」を参照してください。

ログエントリのサブスクライブを解除する

AWS IoT メッセージブローカーは、MQTTクライアントがMQTTトピックへのサブスクライブを解除Unsubscribeしたときに、 eventType を使用してログエントリを生成します。

MQTT ログエントリのサブスクライブ解除の例

{ "timestamp": "2024-08-20 22:53:32.844", "logLevel": "INFO", "traceId": "db6bd09a-2c3f-1cd2-27cc-fd6b1ce03b58", "accountId": "123456789012", "status": "Success", "eventType": "Unsubscribe", "protocol": "MQTT", "clientId": "abf27092886e49a8a5c1922749736453", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "sourceIp": "205.251.233.181", "sourcePort": 13490 }

共通 CloudWatch ログ属性 に加えて、Unsubscribe ログ項目には次の属性が含まれています。

protocol

リクエストを行うために使用されるプロトコル。値は常に MQTT です。

clientId

リクエストを実行するクライアントの ID。

principalId

リクエストを実行するプリンシパルの ID。

sourceIp

リクエストが発生した IP アドレス。

sourcePort

リクエストが発生したポート。

サーバー証明書OCSPのログエントリ

AWS IoT Core は、次のイベントのログエントリを生成します。

R etrieveOCSPStapleデータログエントリ

AWS IoT Core は、サーバーがOCSPステープルデータを取得するRetrieveOCSPStapleDataときに、 eventType を使用してログエントリを生成します。

R etrieveOCSPStapleデータログエントリの例

以下は、 のログエントリの例ですSuccess

{ "timestamp": "2024-01-30 15:39:30.961", "logLevel": "INFO", "traceId": "180532b7-0cc7-057b-687a-5ca1824838f5", "accountId": "123456789012", "status": "Success", "eventType": "RetrieveOCSPStapleData", "domainConfigName": "test-domain-config-name", "connectionDetails": { "httpStatusCode": "200", "ocspResponderUri": "http://ocsp.example.com", "sourceIp": "205.251.233.181", "targetIp": "250.15.5.3" }, "ocspRequestDetails": { "requesterName": "iot.amazonaws.com", "requestCertId": "30:3A:30:09:06:05:2B:0E:03:02:1A:05:00:04:14:9C:FF:90:A1:97:B0:4D:6C:01:B9:69:96:D8:3E:E7:A2:51:7F:30:C4:04:14:7C:84:78:AE:12:58:71:38:0C:65:FC:17:77:7D:14:DD:69:73:71:46:02:01:01" }, "ocspResponseDetails": { "responseCertId": "30:3A:30:09:06:05:2B:0E:03:02:1A:05:00:04:14:9C:FF:90:A1:97:B0:4D:6C:01:B9:69:96:D8:3E:E7:A2:51:7F:30:C4:04:14:7C:84:78:AE:12:58:71:38:0C:65:FC:17:77:7D:14:DD:69:73:71:46:02:01:01", "ocspResponseStatus": "successful", "certStatus": "good", "signature": "4C:6F:63:61:6C:20:52:65:73:70:6F:6E:64:65:72:20:53:69:67:6E:61:74:75:72:65", "thisUpdateTime": "Jan 31 01:21:02 2024 UTC", "nextUpdateTime": "Feb 02 00:21:02 2024 UTC", "producedAtTime": "Jan 31 01:37:03 2024 UTC", "stapledDataPayloadSize": "XXX" } }

以下は、 のログエントリの例ですFailure

{ "timestamp": "2024-01-30 15:39:30.961", "logLevel": "ERROR", "traceId": "180532b7-0cc7-057b-687a-5ca1824838f5", "accountId": "123456789012", "status": "Failure", "reason": "A non 2xx HTTP response was received from the OCSP responder.", "eventType": "RetrieveOCSPStapleData", "domainConfigName": "test-domain-config-name", "connectionDetails": { "httpStatusCode": "444", "ocspResponderUri": "http://ocsp.example.com", "sourceIp": "205.251.233.181", "targetIp": "250.15.5.3" }, "ocspRequestDetails": { "requesterName": "iot.amazonaws.com", "requestCertId": "30:3A:30:09:06:05:2B:0E:03:02:1A:05:00:04:14:9C:FF:90:A1:97:B0:4D:6C:01:B9:69:96:D8:3E:E7:A2:51:7F:30:C4:04:14:7C:84:78:AE:12:58:71:38:0C:65:FC:17:77:7D:14:DD:69:73:71:46:02:01:01" } }

RetrieveOCSPStaple オペレーションの場合、 に加えて共通 CloudWatch ログ属性、ログエントリには次の属性が含まれます。

理由

オペレーションが失敗する理由。

domainConfigName

ドメイン設定の名前。

connectionDetails

接続の詳細の簡単な説明。

  • httpStatusCode

    HTTP サーバーに対するクライアントのリクエストに応じてレスOCSPポンダーから返されるステータスコード。

  • ocspResponderUri

    サーバー証明書から AWS IoT Core 取得URIするOCSPレスポンダー。

  • sourceIp

    AWS IoT Core サーバーのソース IP アドレス。

  • targetIp

    OCSP レスポンダーのターゲット IP アドレス。

ocspRequestDetails

OCSP リクエストの詳細。

  • requesterName

    レスOCSPポンダーにリクエストを送信する AWS IoT Core サーバーの識別子。

  • requestCertId

    リクエストの証明書 ID。これは、OCSPレスポンスがリクエストされている証明書の ID です。

ocspResponseDetails

OCSP レスポンスの詳細。

  • responseCertId

    OCSP レスポンスの証明書 ID。

  • ocspResponseStatus

    OCSP レスポンスのステータス。

  • certStatus

    証明書のステータス。

  • 署名

    信頼されたエンティティによるレスポンスに適用される署名。

  • thisUpdateTime

    ステータスが表示される時刻は正しいことがわかっています。

  • nextUpdateTime

    証明書のステータスに関する新しい情報が利用可能になる時点またはそれ以前。

  • producedAtTime

    OCSP レスポンダーがこのレスポンスに署名した時刻。

  • stapledDataPayloadサイズ

    ステープルデータのペイロードサイズ。

Device Shadow のログエントリ

AWS IoT Device Shadow サービスは、次のイベントのログエントリを生成します。

DeleteThingShadow ログエントリ

Device Shadow サービスは、デバイスのシャドウ削除リクエストを受信すると、eventType という DeleteThingShadow のログエントリを生成します。

DeleteThingShadow ログエントリの例

{ "timestamp": "2017-08-07 18:47:56.664", "logLevel": "INFO", "traceId": "1a60d02e-15b9-605b-7096-a9f584a6ad3f", "accountId": "123456789012", "status": "Success", "eventType": "DeleteThingShadow", "protocol": "MQTT", "deviceShadowName": "Jack", "topicName": "$aws/things/Jack/shadow/delete" }

共通 CloudWatch ログ属性 に加えて、DeleteThingShadow ログ項目には次の属性が含まれています。

deviceShadowName

更新する Shadow の名前。

protocol

リクエストを行うために使用されるプロトコル。有効な値は MQTT または HTTP です。

topicName

公開されたリクエストのトピックの名前。

GetThingShadow ログエントリ

デバイスシャドウサービスは、シャドウの取得リクエストを受信すると、eventType という GetThingShadow のログエントリを生成します。

GetThingShadow ログエントリの例

{ "timestamp": "2017-08-09 17:56:30.941", "logLevel": "INFO", "traceId": "b575f19a-97a2-cf72-0ed0-c64a783a2504", "accountId": "123456789012", "status": "Success", "eventType": "GetThingShadow", "protocol": "MQTT", "deviceShadowName": "MyThing", "topicName": "$aws/things/MyThing/shadow/get" }

共通 CloudWatch ログ属性 に加えて、GetThingShadow ログ項目には次の属性が含まれています。

deviceShadowName

リクエストした Shadow の名前。

protocol

リクエストを行うために使用されるプロトコル。有効な値は MQTT または HTTP です。

topicName

公開されたリクエストのトピックの名前。

UpdateThingShadow ログエントリ

Device Shadow サービスは、デバイスのシャドウ更新リクエストを受信すると、eventType という UpdateThingShadow のログエントリを生成します。

UpdateThingShadow ログエントリの例

{ "timestamp": "2017-08-07 18:43:59.436", "logLevel": "INFO", "traceId": "d0074ba8-0c4b-a400-69df-76326d414c28", "accountId": "123456789012", "status": "Success", "eventType": "UpdateThingShadow", "protocol": "MQTT", "deviceShadowName": "Jack", "topicName": "$aws/things/Jack/shadow/update" }

共通 CloudWatch ログ属性 に加えて、UpdateThingShadow ログ項目には次の属性が含まれています。

deviceShadowName

更新する Shadow の名前。

protocol

リクエストを行うために使用されるプロトコル。有効な値は MQTT または HTTP です。

topicName

公開されたリクエストのトピックの名前。

ルールエンジンのログエントリ

AWS IoT ルールエンジンは、次のイベントのログを生成します。

FunctionExecution ログエントリ

ルールのSQLクエリが外部関数を呼びFunctionExecution出すと、ルールエンジンは eventType のログエントリを生成します。外部関数は、ルールのアクションが AWS IoT または他のウェブサービスにHTTPリクエストを行うときに呼び出されます (例えば、 get_thing_shadow または を呼び出す)machinelearning_predict

FunctionExecution ログエントリの例

{ "timestamp": "2017-07-13 18:33:51.903", "logLevel": "DEBUG", "traceId": "180532b7-0cc7-057b-687a-5ca1824838f5", "status": "Success", "eventType": "FunctionExecution", "clientId": "N/A", "topicName":"rules/test", "ruleName": "ruleTestPredict", "ruleAction": "MachinelearningPredict", "resources": { "ModelId": "predict-model" }, "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167" }

共通 CloudWatch ログ属性 に加えて、FunctionExecution ログ項目には次の属性が含まれています。

clientId

N/A ログの FunctionExecution

principalId

リクエストを実行するプリンシパルの ID。

リソース

ルールのアクションによって使用されるリソースの集合。

ruleName

一致ルールの名前。

topicName

サブスクライブされたトピックの名前。

RuleExecution ログエントリ

AWS IoT ルールエンジンがルールのアクションをトリガーすると、RuleExecutionログエントリが生成されます。

RuleExecution ログエントリの例

{ "timestamp": "2017-08-10 16:32:46.070", "logLevel": "INFO", "traceId": "30aa7ccc-1d23-0b97-aa7b-76196d83537e", "accountId": "123456789012", "status": "Success", "eventType": "RuleExecution", "clientId": "abf27092886e49a8a5c1922749736453", "topicName": "rules/test", "ruleName": "JSONLogsRule", "ruleAction": "RepublishAction", "resources": { "RepublishTopic": "rules/republish" }, "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167" }

共通 CloudWatch ログ属性 に加えて、RuleExecution ログ項目には次の属性が含まれています。

clientId

リクエストを実行するクライアントの ID。

principalId

リクエストを実行するプリンシパルの ID。

リソース

ルールのアクションによって使用されるリソースの集合。

ruleAction

トリガーされるアクションの名前。

ruleName

一致ルールの名前。

topicName

サブスクライブされたトピックの名前。

RuleMatch ログエントリ

AWS IoT ルールエンジンは、メッセージブローカーがルールに一致するメッセージを受信するRuleMatchと、 eventType を含むログエントリを生成します。

RuleMatch ログエントリの例

{ "timestamp": "2017-08-10 16:32:46.002", "logLevel": "INFO", "traceId": "30aa7ccc-1d23-0b97-aa7b-76196d83537e", "accountId": "123456789012", "status": "Success", "eventType": "RuleMatch", "clientId": "abf27092886e49a8a5c1922749736453", "topicName": "rules/test", "ruleName": "JSONLogsRule", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167" }

共通 CloudWatch ログ属性 に加えて、RuleMatch ログ項目には次の属性が含まれています。

clientId

リクエストを実行するクライアントの ID。

principalId

リクエストを実行するプリンシパルの ID。

ruleName

一致ルールの名前。

topicName

サブスクライブされたトピックの名前。

RuleExecutionThrottled ログエントリ

実行がスロットリングされると、 AWS IoT ルールエンジンは eventTypeの でログエントリを生成しますRuleExecutionThrottled

RuleExecutionThrottled ログエントリの例

{ "timestamp": "2017-10-04 19:25:46.070", "logLevel": "ERROR", "traceId": "30aa7ccc-1d23-0b97-aa7b-76196d83537e", "accountId": "123456789012", "status": "Failure", "eventType": "RuleMessageThrottled", "clientId": "abf27092886e49a8a5c1922749736453", "topicName": "$aws/rules/example_rule", "ruleName": "example_rule", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "reason": "RuleExecutionThrottled", "details": "Exection of Rule example_rule throttled" }

共通 CloudWatch ログ属性 に加えて、RuleExecutionThrottled ログ項目には次の属性が含まれています。

clientId

リクエストを実行するクライアントの ID。

details

エラーの簡単な説明。

principalId

リクエストを実行するプリンシパルの ID。

理由

文字列RuleExecutionThrottled「」。

ruleName

トリガーされるルールの名前。

topicName

発行されたトピックの名前。

RuleNotFound ログエントリ

AWS IoT ルールエンジンが特定の名前のルールを見つけられない場合、 eventType の でログエントリを生成しますRuleNotFound

RuleNotFound ログエントリの例

{ "timestamp": "2017-10-04 19:25:46.070", "logLevel": "ERROR", "traceId": "30aa7ccc-1d23-0b97-aa7b-76196d83537e", "accountId": "123456789012", "status": "Failure", "eventType": "RuleNotFound", "clientId": "abf27092886e49a8a5c1922749736453", "topicName": "$aws/rules/example_rule", "ruleName": "example_rule", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167", "reason": "RuleNotFound", "details": "Rule example_rule not found" }

共通 CloudWatch ログ属性 に加えて、RuleNotFound ログ項目には次の属性が含まれています。

clientId

リクエストを実行するクライアントの ID。

details

エラーの簡単な説明。

principalId

リクエストを実行するプリンシパルの ID。

理由

文字列RuleNotFound「」。

ruleName

見つからなかったルールの名前。

topicName

発行されたトピックの名前。

StartingRuleExecution ログエントリ

AWS IoT ルールエンジンがルールのアクションのトリガーを開始すると、 eventType の を持つログエントリが生成されますStartingRuleExecution

StartingRuleExecution ログエントリの例

{ "timestamp": "2017-08-10 16:32:46.002", "logLevel": "DEBUG", "traceId": "30aa7ccc-1d23-0b97-aa7b-76196d83537e", "accountId": "123456789012", "status": "Success", "eventType": "StartingRuleExecution", "clientId": "abf27092886e49a8a5c1922749736453", "topicName": "rules/test", "ruleName": "JSONLogsRule", "ruleAction": "RepublishAction", "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167" }

共通 CloudWatch ログ属性 に加えて、rule- ログ項目には次の属性が含まれています。

clientId

リクエストを実行するクライアントの ID。

principalId

リクエストを実行するプリンシパルの ID。

ruleAction

トリガーされるアクションの名前。

ruleName

一致ルールの名前。

topicName

サブスクライブされたトピックの名前。

ジョブのログエントリ

AWS IoT ジョブサービスは、次のイベントのログエントリを生成します。ログエントリは、 MQTT または HTTPリクエストがデバイスから受信されたときに生成されます。

DescribeJobExecution ログエントリ

AWS IoT Jobs サービスは、サービスがジョブ実行を記述するリクエストを受信するDescribeJobExecutionと、 eventType のログエントリを生成します。

DescribeJobExecution ログエントリの例

{ "timestamp": "2017-08-10 19:13:22.841", "logLevel": "DEBUG", "accountId": "123456789012", "status": "Success", "eventType": "DescribeJobExecution", "protocol": "MQTT", "clientId": "thingOne", "jobId": "002", "topicName": "$aws/things/thingOne/jobs/002/get", "clientToken": "myToken", "details": "The request status is SUCCESS." }

共通 CloudWatch ログ属性 に加えて、GetJobExecution ログ項目には次の属性が含まれています。

clientId

リクエストを実行するクライアントの ID。

clientToken

リクエストのべき等のための一意の識別子 (大文字と小文字を区別)。詳細については、べき等を確実にする方法のページを参照してください。

details

Jobs サービスからの追加情報。

jobId

ジョブ実行のジョブ ID。

protocol

リクエストを行うために使用されるプロトコル。有効な値は MQTT または HTTP です。

topicName

リクエストを行うために使用されるトピック。

GetPendingJobExecution ログエントリ

AWS IoT Jobs サービスは、サービスGetPendingJobExecutionがジョブ実行リクエストを受信すると、 eventType のログエントリを生成します。

GetPendingJobExecution ログエントリの例

{ "timestamp": "2018-06-13 17:45:17.197", "logLevel": "DEBUG", "accountId": "123456789012", "status": "Success", "eventType": "GetPendingJobExecution", "protocol": "MQTT", "clientId": "299966ad-54de-40b4-99d3-4fc8b52da0c5", "topicName": "$aws/things/299966ad-54de-40b4-99d3-4fc8b52da0c5/jobs/get", "clientToken": "24b9a741-15a7-44fc-bd3c-1ff2e34e5e82", "details": "The request status is SUCCESS." }

共通 CloudWatch ログ属性 に加えて、GetPendingJobExecution ログ項目には次の属性が含まれています。

clientId

リクエストを実行するクライアントの ID。

clientToken

リクエストのべき等のための一意の識別子 (大文字と小文字を区別)。詳細については、べき等を確実にする方法のページを参照してください。

details

Jobs サービスからの追加情報。

protocol

リクエストを行うために使用されるプロトコル。有効な値は MQTT または HTTP です。

topicName

サブスクライブされたトピックの名前。

ReportFinalJobExecutionCount ログエントリ

AWS IoT Jobs サービスは、ReportFinalJobExecutionCountジョブが完了すると、 entryType のログエントリを生成します。

ReportFinalJobExecutionCount ログエントリの例

{ "timestamp": "2017-08-10 19:44:16.776", "logLevel": "INFO", "accountId": "123456789012", "status": "Success", "eventType": "ReportFinalJobExecutionCount", "jobId": "002", "details": "Job 002 completed. QUEUED job execution count: 0 IN_PROGRESS job execution count: 0 FAILED job execution count: 0 SUCCEEDED job execution count: 1 CANCELED job execution count: 0 REJECTED job execution count: 0 REMOVED job execution count: 0" }

共通 CloudWatch ログ属性 に加えて、ReportFinalJobExecutionCount ログ項目には次の属性が含まれています。

details

Jobs サービスからの追加情報。

jobId

ジョブ実行のジョブ ID。

StartNextPendingJobExecution ログエントリ

次の保留中のジョブ実行を開始するリクエストを受信すると、 AWS IoT Jobs サービスは eventTypeのログエントリを生成しますStartNextPendingJobExecution

StartNextPendingJobExecution ログエントリの例

{ "timestamp": "2018-06-13 17:49:51.036", "logLevel": "DEBUG", "accountId": "123456789012", "status": "Success", "eventType": "StartNextPendingJobExecution", "protocol": "MQTT", "clientId": "95c47808-b1ca-4794-bc68-a588d6d9216c", "topicName": "$aws/things/95c47808-b1ca-4794-bc68-a588d6d9216c/jobs/start-next", "clientToken": "bd7447c4-3a05-49f4-8517-dd89b2c68d94", "details": "The request status is SUCCESS." }

共通 CloudWatch ログ属性 に加えて、StartNextPendingJobExecution ログ項目には次の属性が含まれています。

clientId

リクエストを実行するクライアントの ID。

clientToken

リクエストのべき等のための一意の識別子 (大文字と小文字を区別)。詳細については、べき等を確実にする方法のページを参照してください。

details

Jobs サービスからの追加情報。

protocol

リクエストを行うために使用されるプロトコル。有効な値は MQTT または HTTP です。

topicName

リクエストを行うために使用されるトピック。

UpdateJobExecution ログエントリ

AWS IoT Jobs サービスは、サービスUpdateJobExecutionがジョブ実行を更新するリクエストを受信すると、 eventType のログエントリを生成します。

UpdateJobExecution ログエントリの例

{ "timestamp": "2017-08-10 19:25:14.758", "logLevel": "DEBUG", "accountId": "123456789012", "status": "Success", "eventType": "UpdateJobExecution", "protocol": "MQTT", "clientId": "thingOne", "jobId": "002", "topicName": "$aws/things/thingOne/jobs/002/update", "clientToken": "myClientToken", "versionNumber": "1", "details": "The destination status is IN_PROGRESS. The request status is SUCCESS." }

共通 CloudWatch ログ属性 に加えて、UpdateJobExecution ログ項目には次の属性が含まれています。

clientId

リクエストを実行するクライアントの ID。

clientToken

リクエストのべき等のための一意の識別子 (大文字と小文字を区別)。詳細については、べき等を確実にする方法のページを参照してください。

details

Jobs サービスからの追加情報。

jobId

ジョブ実行のジョブ ID。

protocol

リクエストを行うために使用されるプロトコル。有効な値は MQTT または HTTP です。

topicName

リクエストを行うために使用されるトピック。

versionNumber

ジョブ実行のバージョン。

デバイスプロビジョニングのログエントリ

AWS IoT Device Provisioning サービスは、次のイベントのログを生成します。

GetDeviceCredentials ログエントリ

AWS IoT Device Provisioning サービスは、クライアントが を呼び出すGetDeviceCredentialときに eventType を使用してログエントリを生成しますGetDeviceCredential

GetDeviceCredentials ログエントリの例

{ "timestamp" : "2019-02-20 20:31:22.932", "logLevel" : "INFO", "traceId" : "8d9c016f-6cc7-441e-8909-7ee3d5563405", "accountId" : "123456789101", "status" : "Success", "eventType" : "GetDeviceCredentials", "deviceCertificateId" : "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "details" : "Additional details about this log." }

共通 CloudWatch ログ属性 に加えて、GetDeviceCredentials ログ項目には次の属性が含まれています。

details

エラーの簡単な説明。

deviceCertificateId

デバイス証明書の ID。

ProvisionDevice ログエントリ

AWS IoT Device Provisioning サービスは、クライアントが を呼びProvisionDevice出すときに、 eventType の を含むログエントリを生成しますProvisionDevice

ProvisionDevice ログエントリの例

{ "timestamp" : "2019-02-20 20:31:22.932", "logLevel" : "INFO", "traceId" : "8d9c016f-6cc7-441e-8909-7ee3d5563405", "accountId" : "123456789101", "status" : "Success", "eventType" : "ProvisionDevice", "provisioningTemplateName" : "myTemplate", "deviceCertificateId" : "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "details" : "Additional details about this log." }

共通 CloudWatch ログ属性 に加えて、ProvisionDevice ログ項目には次の属性が含まれています。

details

エラーの簡単な説明。

deviceCertificateId

デバイス証明書の ID。

provisioningTemplateName

プロビジョニングテンプレートの名前。

モノの動的グループのログエントリ

AWS IoT Dynamic Thing Groups は、次のイベントのログを生成します。

AddThingToDynamicThingGroupsFailed ログエントリ

AWS IoT が指定された動的グループにモノを追加できなかった場合、 eventTypeの を持つログエントリが生成されますAddThingToDynamicThingGroupsFailed。この場合、モノがモノの動的グループの条件を満たしていたにもかかわらず、動的グループに追加できなかったか、動的グループから削除されたことを意味します。これは、次の原因で発生した可能性があります。

  • モノが既に最大数のグループに属している。

  • --override-dynamic-groups オプションを使用してモノがモノの静的グループに追加された。これを可能にするために、モノの動的なグループから削除された。

詳細については、「モノの動的グループの制限と競合」を参照してください。

AddThingToDynamicThingGroupsFailed ログエントリの例

この例は、AddThingToDynamicThingGroupsFailed エラーのログエントリを示しています。この例では、 は にリストされている動的モノのグループに含まれる基準を満たしTestThingましたがdynamicThingGroupNames、 で説明されているように、これらの動的グループに追加できませんでしたreason

{ "timestamp": "2020-03-16 22:24:43.804", "logLevel": "ERROR", "traceId": "70b1f2f5-d95e-f897-9dcc-31e68c3e1a30", "accountId": "57EXAMPLE833", "status": "Failure", "eventType": "AddThingToDynamicThingGroupsFailed", "thingName": "TestThing", "dynamicThingGroupNames": [ "DynamicThingGroup11", "DynamicThingGroup12", "DynamicThingGroup13", "DynamicThingGroup14" ], "reason": "The thing failed to be added to the given dynamic thing group(s) because the thing already belongs to the maximum allowed number of groups." }

共通 CloudWatch ログ属性 に加えて、AddThingToDynamicThingGroupsFailed ログ項目には次の属性が含まれています。

dynamicThingGroup名前

モノを追加できなかったモノの動的グループの配列。

理由

モノをモノの動的グループに追加できなかった理由。

thingName

モノの動的グループに追加できなかったモノの名前。

フリートのインデックス作成ログエントリ

AWS IoT フリートインデックス作成は、次のイベントのログエントリを生成します。

NamedShadowCountForDynamicGroupQueryLimitExceeded ログエントリ

動的グループ内のデータソース固有ではないクエリ条件では、モノごとに最大 25 の名前付きシャドウが処理されます。モノに対してこの制限に違反すると、NamedShadowCountForDynamicGroupQueryLimitExceeded イベントタイプが出力されます。

NamedShadowCountForDynamicGroupQueryLimitExceeded ログエントリの例

この例は、NamedShadowCountForDynamicGroupQueryLimitExceeded エラーのログエントリを示しています。この例では、reason フィールドに示されているように、すべての値に基づいた DynamicGroup の結果は不正確である可能性があります。

{ "timestamp": "2020-03-16 22:24:43.804", "logLevel": "ERROR", "traceId": "70b1f2f5-d95e-f897-9dcc-31e68c3e1a30", "accountId": "571032923833", "status": "Failure", "eventType": "NamedShadowCountForDynamicGroupQueryLimitExceeded", "thingName": "TestThing", "reason": "A maximum of 25 named shadows per thing are processed for non-data source specific query terms in dynamic groups." }

共通 CloudWatch ログ属性

すべての CloudWatch Logs ログエントリには、次の属性が含まれます。

accountId

AWS アカウント ID。

eventType

ログが生成されたイベントタイプ。イベントタイプの値は、ログエントリが生成される原因となったイベントによって異なります。各ログエントリの説明には、そのログエントリの eventType の値が含まれます。

logLevel

使用されているログレベル。詳細については、「ログレベル」を参照してください。

status

リクエストのステータス。

timestamp

クライアントがメッセージブローカーに接続したときの人間が AWS IoT 読み取れるUTCタイムスタンプ。

traceId

特定のリクエストのすべてのログを関連付けるために使用できる、ランダムに生成された識別子。