CloudWatch Logs AWS IoT ログエントリ - AWS IoT Core

CloudWatch Logs AWS IoT ログエントリ

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

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

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

Connect ログエントリ

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

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 Logs の共通属性 に加えて、Connect ログ項目には次の属性が含まれています。

clientId

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

principalId

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

プロトコル

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

sourceIp

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

sourcePort

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

Disconnect ログエントリ

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

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 Logs の共通属性 に加えて、Disconnect ログ項目には次の属性が含まれています。

clientId

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

principalId

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

プロトコル

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

sourceIp

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

sourcePort

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

理由

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

details

エラーの簡単な説明。

disconnectReason

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

DeleteConnection ログエントリ

MQTT クライアント接続が削除されると、AWS IoT メッセージブローカーは eventType という DeleteConnection のログエントリを生成します。

DeleteConnection ログエントリの例

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

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

clientId

切断されるクライアントの ID。

principalId

リクエストを実行するプリンシパルの ID。プリンシパル ID を使用してプリンシパルを識別する方法については、「IAM ユーザーガイド」の「IAM ID と認証情報を比較する」を参照してください。

プロトコル

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

sourceIp

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

sourcePort

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

GetRetainedMessage ログエントリ

AWS IoT メッセージブローカーは、GetRetainedMessage が呼び出されると、GetRetainedMessageeventType を使用してログエントリを生成します。

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 Logs の共通属性 に加えて、GetRetainedMessage ログ項目には次の属性が含まれています。

lastModifiedDate

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

プロトコル

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

qos

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

topicName

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

ListretainedMessage ログエントリ

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

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 Logs の共通属性 に加えて、ListRetainedMessage ログ項目には次の属性が含まれています:

プロトコル

リクエストを行うために使用されるプロトコル。有効な値: 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 Logs の共通属性 に加えて、Publish-In ログ項目には次の属性が含まれています。

clientId

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

principalId

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

プロトコル

リクエストを行うために使用されるプロトコル。有効な値は 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 Logs の共通属性 に加えて、Publish-Out ログ項目には次の属性が含まれています。

clientId

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

principalId

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

プロトコル

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

sourceIp

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

sourcePort

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

topicName

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

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

デバイスの永続セッションが切断されると、MQTT メッセージブローカーはデバイスのメッセージを保存し、AWS IoT で eventType が 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 Logs の共通属性 に加えて、Queued サーバーエラーログエントリには次の属性が含まれています。

clientId

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

詳細
Server Error

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

プロトコル

リクエストを行うために使用されるプロトコル。値は常に 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 Logs の共通属性 に加えて、Queued 成功ログエントリには次の属性が含まれています。

clientId

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

プロトコル

リクエストを行うために使用されるプロトコル。値は常に 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 Logs の共通属性 に加えて、スロットリングされた Queued ログエントリには次の属性が含まれています。

clientId

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

詳細
Throttled while queueing offline message

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

プロトコル

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

qos

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

topicName

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

Subscribe ログエントリ

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

MQTT 3 Subscribe ログエントリの例

{ "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 Logs の共通属性 に加えて、Subscribe ログ項目には次の属性が含まれています。

clientId

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

principalId

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

プロトコル

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

sourceIp

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

sourcePort

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

topicName

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

MQTT 5 Subscribe ログエントリの例

{ "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 Logs の共通属性 および MQTT 3 Subscribe ログエントリ属性に加えて、MQTT 5 Subscribe ログエントリに次の属性が含まれます。

サブスクリプション

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

Unsubscribe ログエントリ

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

MQTT unsubscribe ログエントリの例

{ "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 Logs の共通属性 に加えて、Unsubscribe ログ項目には次の属性が含まれています。

プロトコル

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

clientId

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

principalId

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

sourceIp

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

sourcePort

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

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

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

RetrieveOCSPStapleData ログエントリ

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

RetrieveOCSPStapleData ログエントリの例

以下は 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 Logs の共通属性 に加えて、ログエントリには次の属性が含まれています。

理由

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

domainConfigName

ドメイン構成の名前。

connectionDetails

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

  • httpStatusCode

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

  • ocspResponderUri

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

  • 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 レスポンダーがこのレスポンスに署名した時刻。

  • stapledDataPayloadSize

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

プライベートエンドポイントの RetrieveOCSPStapleData ログエントリ

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

プライベートエンドポイントの RetrieveOCSPStapleData ログエントリの例

以下は 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", "lambdaDetails": { "lambdaArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", "sourceArn": "arn:aws:iot:us-west-2:123456789012:domainconfiguration/testDomainConfigure/6bzfg" }, "authorizedResponderArn": "arn:aws:acm:us-west-2:123456789012:certificate/certificate_ID", "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": { "responderId": "04:C1:3F:8F:27:D6:49:13:F8:DE:B2:36:9D:85:8E:F8:31:3B:A6:D0" "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": "The payload returned by the Lambda function exceeds the maximum response size of 7 kilobytes.", "eventType": "RetrieveOCSPStapleData", "domainConfigName": "test-domain-config-name", "lambdaDetails": { "lambdaArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", "sourceArn": "arn:aws:iot:us-west-2:123456789012:domainconfiguration/testDomainConfigure/6bzfg" }, "authorizedResponderArn": "arn:aws:acm:us-west-2:123456789012:certificate/certificate_ID", "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 Logs の共通属性および RetrieveOCSPStapleData ログエントリの属性に加えて、プライベートエンドポイントのログエントリには次の属性が含まれます。

lambdaDetails

Lambda 関数の詳細。

  • LambdaArn

    Lambda 関数の ARN。

  • sourceArn

    ドメイン設定の ARN。

authorizedResponderArn

ドメイン設定で設定されている場合、オーソライザーレスポンダーの ARN。

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 Logs の共通属性 に加えて、DeleteThingShadow ログ項目には次の属性が含まれています。

deviceShadowName

更新する Shadow の名前。

プロトコル

リクエストを行うために使用されるプロトコル。有効な値は 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 Logs の共通属性 に加えて、GetThingShadow ログ項目には次の属性が含まれています。

deviceShadowName

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

プロトコル

リクエストを行うために使用されるプロトコル。有効な値は 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 Logs の共通属性 に加えて、UpdateThingShadow ログ項目には次の属性が含まれています。

deviceShadowName

更新する Shadow の名前。

プロトコル

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

topicName

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

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

AWS IoT Rules Engine サービスは、以下のイベントのログを生成します。

FunctionExecution ログエントリ

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

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 Logs の共通属性 に加えて、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 Logs の共通属性 に加えて、RuleExecution ログ項目には次の属性が含まれています。

clientId

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

principalId

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

リソース

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

ruleAction

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

ruleName

一致ルールの名前。

topicName

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

RuleMatch ログエントリ

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

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 Logs の共通属性 に加えて、RuleMatch ログ項目には次の属性が含まれています。

clientId

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

principalId

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

ruleName

一致ルールの名前。

topicName

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

RuleExecutionThrottled ログエントリ

メッセージがスロットリングされると、AWS IoT ルールエンジンが RuleExecutionThrottled の eventType とともにログエントリを生成します。

RuleExecutionThrottled ログエントリの例

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

CloudWatch Logs の共通属性 に加えて、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 Logs の共通属性 に加えて、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 Logs の共通属性 に加えて、rule- ログ項目には次の属性が含まれています。

clientId

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

principalId

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

ruleAction

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

ruleName

一致ルールの名前。

topicName

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

ジョブのログエントリ

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

DescribeJobExecution ログエントリ

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

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 Logs の共通属性 に加えて、GetJobExecution ログ項目には次の属性が含まれています。

clientId

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

clientToken

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

details

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

jobId

ジョブ実行のジョブ ID。

プロトコル

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

topicName

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

GetPendingJobExecution ログエントリ

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

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 Logs の共通属性 に加えて、GetPendingJobExecution ログ項目には次の属性が含まれています。

clientId

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

clientToken

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

details

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

プロトコル

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

topicName

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

ReportFinalJobExecutionCount ログエントリ

AWS IoT ジョブサービスは、ジョブの完了時に 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 Logs の共通属性 に加えて、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 Logs の共通属性 に加えて、StartNextPendingJobExecution ログ項目には次の属性が含まれています。

clientId

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

clientToken

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

details

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

プロトコル

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

topicName

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

UpdateJobExecution ログエントリ

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

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 Logs の共通属性 に加えて、UpdateJobExecution ログ項目には次の属性が含まれています。

clientId

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

clientToken

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

details

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

jobId

ジョブ実行のジョブ ID。

プロトコル

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

topicName

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

versionNumber

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

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

AWS IoT デバイスプロビジョニングサービスは、以下のイベントのログを生成します。

GetDeviceCredentials ログエントリ

AWS IoT デバイスプロビジョニングサービスは、クライアントが eventType を呼び出したときに GetDeviceCredential という 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 Logs の共通属性 に加えて、GetDeviceCredentials ログ項目には次の属性が含まれています。

details

エラーの簡単な説明。

deviceCertificateId

デバイス証明書の ID。

ProvisionDevice ログエントリ

AWS IoT デバイスプロビジョニングサービスは、クライアントが eventType を呼び出したときに ProvisionDevice という 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 Logs の共通属性 に加えて、ProvisionDevice ログ項目には次の属性が含まれています。

details

エラーの簡単な説明。

deviceCertificateId

デバイス証明書の ID。

provisioningTemplateName

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

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

AWS IoT のモノの動的グループは、次のイベントのログを生成します。

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 Logs の共通属性 に加えて、AddThingToDynamicThingGroupsFailed ログ項目には次の属性が含まれています。

dynamicThingGroupNames

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

理由

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

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 Logs の共通属性

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

accountId

自分の AWS アカウント ID。

eventType

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

logLevel

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

status

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

timestamp

AWS IoT メッセージブローカーに接続した時刻のクライアントの、人間が読み取り可能な UNIX タイムスタンプ。

traceId

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