CloudWatch Logs AWS IoT 日誌項目 - AWS IoT Core

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

CloudWatch Logs AWS IoT 日誌項目

的每個元件都會 AWS IoT 產生自己的日誌項目。每個日誌項目都有 eventType 指定造成日誌項目產生的作業。本節旨在說明下列 AWS IoT 元件所產生的記錄項目。

Message broker 日誌項目

AWS IoT 訊息中介裝置會產生下列事件的日誌項目:

Connect 記錄項目

當 MQTT 用戶端連線Connect時, AWS IoT 訊息中介裝置會使用 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 Logs 屬性Connect 記錄項目包含下列屬性:

clientId

提出請求的用戶端 ID。

principalId

提出請求的委託人 ID。

protocol

用來提出要求的協定。有效值為 MQTTHTTP

sourceIp

請求來源所在的 IP 地址。

sourcePort

請求來源所在的埠口。

Disconnect 日誌輸入項

當 MQTT 用戶端中斷連線Disconnect時, AWS IoT 訊息中介裝置會產生具有 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 Logs 屬性Disconnect 記錄項目包含下列屬性:

clientId

提出請求的用戶端 ID。

principalId

提出請求的委託人 ID。

protocol

用來提出要求的協定。有效值為 MQTTHTTP

sourceIp

請求來源所在的 IP 地址。

sourcePort

請求來源所在的埠口。

reason

用戶端中斷連線的原因。

詳細資訊

錯誤的簡要說明。

disconnectReason

用戶端中斷連線的原因。

DeleteConnection 日誌項目

AWS IoT 訊息中介裝置會在刪除 MQTT 用戶端連線DeleteConnection時,使用 eventType 的 產生日誌項目。

DeleteConnection 日誌項目範例

{ "timestamp": "2017-08-10 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 身分和登入資料。

protocol

用來提出要求的協定。有效值為 HTTP

sourceIp

請求來源所在的 IP 地址。

sourcePort

請求來源所在的埠口。

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 Logs 屬性GetRetainedMessage 記錄項目包含下列屬性:

lastModifiedDate

儲存保留訊息的 Epoch 日期和時間,以毫秒為單位 AWS IoT。

protocol

用來提出要求的協定。有效值:HTTP

qos

發佈請求中使用的服務品質 (QoS) 等級。有效值為 01

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 Logs 屬性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 Logs 屬性Publish-In 記錄項目包含下列屬性:

clientId

提出請求的用戶端 ID。

principalId

提出請求的委託人 ID。

protocol

用來提出要求的協定。有效值為 MQTTHTTP

保留

當「保留」旗標訊息的值設定為 True 時所使用的屬性。如果訊息沒有設定「保留」旗標,則此屬性不會顯示在日誌條目中。如需詳細資訊,請參閱MQTT 保留訊息

sourceIp

請求來源所在的 IP 地址。

sourcePort

請求來源所在的埠口。

topicName

訂閱主題的名稱。

Publish-Out 日誌項目

當訊息代理程式發佈 MQTT 訊息時,會產生 eventTypePublish-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。

protocol

用來提出要求的協定。有效值為 MQTTHTTP

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

伺服器錯誤會造成訊息無法儲存。

protocol

用來提出要求的協定。這個值將永遠為 MQTT

qos

請求的服務品質 (QoS) 等級。該值將始終為 1,因為具有 QoS 為 0 的訊息不會儲存。

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。

protocol

用來提出要求的協定。這個值將永遠為 MQTT

qos

請求的服務品質 (QoS) 等級。該值將始終為 1,因為具有 QoS 為 0 的訊息不會儲存。

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 限制,因此訊息不會儲存。

protocol

用來提出要求的協定。這個值將永遠為 MQTT

qos

請求的服務品質 (QoS) 等級。該值將始終為 1,因為具有 QoS 為 0 的訊息不會儲存。

topicName

訂閱主題的名稱。

訂閱日誌項目

當 MQTT 用戶端訂閱主題Subscribe時, AWS IoT 訊息中介裝置會使用 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 Logs 屬性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 訂閱操作,除了 常用 CloudWatch Logs 屬性MQTT 3 訂閱日誌項目屬性之外,MQTT 5 Subscribe 日誌項目還包含下列屬性:

訂閱

「訂閱」請求中所要求主題與個別 MQTT 5 原因代碼之間的對應清單。如需更多詳細資訊,請參閱 MQTT 原因代碼

取消訂閱日誌項目

當 MQTT 用戶端取消訂閱 MQTT 主題Unsubscribe時, AWS IoT 訊息中介裝置會產生具有 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 Logs 屬性Unsubscribe 記錄項目包含下列屬性:

protocol

用來提出要求的協定。這個值將永遠為 MQTT

clientId

提出請求的用戶端 ID。

principalId

提出請求的委託人 ID。

sourceIp

請求來源所在的 IP 地址。

sourcePort

請求來源所在的埠口。

伺服器憑證 OCSP 日誌項目

AWS IoT Core 會為下列事件產生日誌項目:

RetrieveOCSPStapleData 日誌項目

AWS IoT Core 當伺服器擷取 OCSP 基本資料RetrieveOCSPStapleData時, 會產生具有 eventType 的 日誌項目。

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 屬性,日誌項目還包含下列屬性:

reason

操作失敗的原因。

domainConfigName

網域組態的名稱。

connectionDetails

連線詳細資訊的簡短說明。

  • httpStatusCode

    OCSP 回應程式傳回的 HTTP 狀態碼,以回應用戶端對伺服器提出的請求。

  • ocspResponderUri

    從伺服器憑證擷取的 OCSP AWS IoT Core 回應程式 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

    憑證的狀態。

  • signature

    由信任實體套用至回應的簽章。

  • thisUpdateTime

    指出狀態的時間已知正確。

  • nextUpdateTime

    提供憑證狀態的更新資訊時或之前的時間。

  • producedAtTime

    OCSP 回應者簽署此回應的時間。

  • stapledDataPayloadSize

    主控資料的承載大小。

私有端點的 RetrieveOCSPStapleData 日誌項目

AWS IoT Core 當伺服器擷取 OCSP 基本資料RetrieveOCSPStapleData時, 會產生具有 eventType 的 日誌項目。

私有端點的 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操作,除了 RetrieveOCSPStapleData 日誌項目中的 常用 CloudWatch Logs 屬性和 屬性之外,私有端點的日誌項目還包含下列屬性:

lambdaDetails

Lambda 函數的詳細資訊。

  • lambdaArn

    Lambda 函數的 ARN。

  • sourceArn

    網域組態的 ARN。

authorizedResponderArn

如果在網域組態中設定了授權方回應程式的 ARN。

Device Shadow 日誌項目

AWS IoT Device Shadow 服務會產生下列事件的日誌項目:

DeleteThingShadow 日誌項目

當收到刪除 Device Shadow 的要求時,Device Shadow 服務會產生 eventTypeDeleteThingShadow 的日誌項目。

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

要更新的影子名稱。

protocol

用來提出要求的協定。有效值為 MQTTHTTP

topicName

請求所發布的主題名稱。

GetThingShadow 日誌項目

當收到影子的 get 要求時,Device Shadow 服務會產生 eventTypeGetThingShadow 的日誌項目。

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

所要求影子的名稱。

protocol

用來提出要求的協定。有效值為 MQTTHTTP

topicName

請求所發布的主題名稱。

UpdateThingShadow 日誌項目

當收到更新 Device Shadow 的要求時,Device Shadow 服務會產生 eventTypeUpdateThingShadow 的日誌項目。

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

要更新的影子名稱。

protocol

用來提出要求的協定。有效值為 MQTTHTTP

topicName

請求所發布的主題名稱。

Rules engine 日誌項目

AWS IoT 規則引擎會產生下列事件的日誌:

FunctionExecution 日誌項目

當規則的 SQL 查詢呼叫外部函數時,規則引擎會產生 eventTypeFunctionExecution 的日誌項目。當規則的動作對 AWS IoT 或其他 Web 服務提出 HTTP 請求 (例如呼叫 get_thing_shadowmachinelearning_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 Logs 屬性FunctionExecution 記錄項目包含下列屬性:

clientId

N/A 適用於 FunctionExecution 日誌。

principalId

提出請求的委託人 ID。

resources

該規則動作所使用的資源集合。

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。

resources

該規則動作所使用的資源集合。

ruleAction

受到觸發的動作名稱。

ruleName

符合的規則名稱。

topicName

訂閱主題的名稱。

RuleMatch 日誌項目

當訊息中介裝置收到符合規則的訊息RuleMatch時, AWS IoT 規則引擎會產生具有 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 Logs 屬性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": "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。

詳細資訊

錯誤的簡要說明。

principalId

提出請求的委託人 ID。

reason

字串「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。

詳細資訊

錯誤的簡要說明。

principalId

提出請求的委託人 ID。

reason

"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 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 Logs 屬性GetJobExecution 記錄項目包含下列屬性:

clientId

提出請求的用戶端 ID。

clientToken

用來確保請求冪等的,是一個唯一、區分大小寫的識別符。如需詳細資訊,請參閱如何確保冪等

詳細資訊

任務裝置的其他資訊。

jobId

任務執行的任務 ID。

protocol

用來提出要求的協定。有效值為 MQTTHTTP

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 Logs 屬性GetPendingJobExecution 記錄項目包含下列屬性:

clientId

提出請求的用戶端 ID。

clientToken

用以確保請求冪等的,是一個唯一、區分大小寫的識別符。如需詳細資訊,請參閱如何確保冪等

詳細資訊

任務裝置的其他資訊。

protocol

用來提出要求的協定。有效值為 MQTTHTTP

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 Logs 屬性ReportFinalJobExecutionCount 記錄項目包含下列屬性:

詳細資訊

任務裝置的其他資訊。

jobId

任務執行的任務 ID。

StartNextPendingJobExecution 日誌項目

當它收到啟動下一個待定任務執行的請求時, AWS IoT 任務服務會產生具有 之 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

用以確保請求冪等的,是一個唯一、區分大小寫的識別符。如需詳細資訊,請參閱如何確保冪等

詳細資訊

任務裝置的其他資訊。

protocol

用來提出要求的協定。有效值為 MQTTHTTP

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 Logs 屬性UpdateJobExecution 記錄項目包含下列屬性:

clientId

提出請求的用戶端 ID。

clientToken

用以確保請求冪等的,是一個唯一、區分大小寫的識別符。如需詳細資訊,請參閱如何確保冪等

詳細資訊

任務裝置的其他資訊。

jobId

任務執行的任務 ID。

protocol

用來提出要求的協定。有效值為 MQTTHTTP

topicName

用來提出請求的主題。

versionNumber

任務執行的版本。

裝置佈建日誌項目

AWS IoT 裝置佈建服務會產生下列事件的日誌。

GetDeviceCredentials 日誌項目

AWS IoT 裝置佈建服務會在用戶端呼叫 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 Logs 屬性GetDeviceCredentials 記錄項目包含下列屬性:

詳細資訊

錯誤的簡要說明。

deviceCertificateId

裝置憑證的 ID。

ProvisionDevice 日誌項目

AWS IoT 裝置佈建服務會在用戶端呼叫 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 Logs 屬性ProvisionDevice 記錄項目包含下列屬性:

詳細資訊

錯誤的簡要說明。

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

無法新增物件的動態物件群組的陣列。

reason

物件無法新增到動態物件群組的原因。

thingName

無法新增至動態物件群組的物件名稱。

機群索引日誌項目

AWS IoT 機群索引會為下列事件產生日誌項目。

NamedShadowCountForDynamicGroupQueryLimitExceeded 日誌項目

對於動態群組中並非特定於資料來源的查詢術語,每個物件最多處理 25 個已命名影子。當物件違反此限制時,會發出 NamedShadowCountForDynamicGroupQueryLimitExceeded 事件類型。

NamedShadowCountForDynamicGroupQueryLimitExceeded 日誌項目範例

此範例顯示 NamedShadowCountForDynamicGroupQueryLimitExceeded 錯誤的日誌項目。在此範例中,基於 DynamicGroup 的所有值結果可能不正確,如 reason 欄位中所述。

{ "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 訊息代理程式時,人類看得懂的 UTC 時間戳記。

traceId

隨機產生的識別符,可用於建立某個特定請求的所有日誌的關聯性。