本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
的每個元件都會 AWS IoT 產生自己的日誌項目。每個日誌項目都有 eventType
指定造成日誌項目產生的作業。本節旨在說明下列 AWS IoT
元件所產生的記錄項目。
主題
Message broker 日誌項目
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
-
請求來源所在的埠口。
Publish-In 日誌項目
當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 日誌屬性,Disconnect
記錄項目包含下列屬性:
- clientId
-
提出請求的用戶端 ID。
- principalId
-
提出請求的委託人 ID。
- protocol
-
用來提出要求的協定。有效值為
MQTT
或HTTP
。 - sourceIp
-
請求來源所在的 IP 地址。
- sourcePort
-
請求來源所在的埠口。
- reason
-
用戶端中斷連線的原因。
- 詳細資訊
-
錯誤的簡要說明。
- 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
-
儲存保留訊息的 Epoch 日期和時間,以毫秒為單位 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。
- 詳細資訊
-
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 日誌屬性,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 日誌屬性,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 日誌屬性,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 日誌屬性和 MQTT 3 個訂閱日誌項目屬性之外,5 MQTT 個Subscribe
日誌項目包含下列屬性:
- 訂閱
-
訂閱請求中請求主題與個別 5 MQTT 個原因碼之間的映射清單。如需詳細資訊,請參閱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 日誌屬性,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 日誌屬性,日誌項目還包含下列屬性:
- reason
-
操作失敗的原因。
- domainConfigName
-
網域組態的名稱。
- connectionDetails
-
連線詳細資訊的簡短說明。
-
httpStatusCode
HTTP OCSP回應者傳回的狀態碼,以回應用戶端對伺服器提出的請求。
-
ocspResponderUri
從伺服器憑證擷取URI AWS IoT Core 的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
憑證的狀態。
-
signature
由信任實體套用至回應的簽章。
-
thisUpdateTime
表示狀態的時間已知正確。
-
nextUpdateTime
憑證狀態的更新資訊將在 或之前提供的時間。
-
producedAtTime
OCSP 回應者簽署此回應的時間。
-
stapledDataPayload大小
主控資料的承載大小。
-
私有端點的 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",
"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
操作,除了 R etrieveOCSPStapleData 日誌項目中的 常見 CloudWatch 日誌屬性和 屬性之外,私有端點的日誌項目還包含下列屬性:
- lambdaDetails
-
Lambda 函數的詳細資訊。
-
lambdaArn
Lambda 函數ARN的 。
-
sourceArn
網域組態ARN的 。
-
- authorizedResponderArn
-
如果在網域組態中設定了授權方回應程式ARN的 。
Device Shadow 日誌項目
AWS IoT Device Shadow 服務會產生下列事件的日誌項目:
DeleteThingShadow 日誌項目
當收到刪除 Device Shadow 的要求時,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
-
要更新的影子名稱。
- protocol
-
用來提出要求的協定。有效值為
MQTT
或HTTP
。 - topicName
-
請求所發布的主題名稱。
GetThingShadow 日誌項目
當收到影子的 get 要求時,Device Shadow 服務會產生 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
-
所要求影子的名稱。
- protocol
-
用來提出要求的協定。有效值為
MQTT
或HTTP
。 - topicName
-
請求所發布的主題名稱。
UpdateThingShadow 日誌項目
當收到更新 Device Shadow 的要求時,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
-
要更新的影子名稱。
- protocol
-
用來提出要求的協定。有效值為
MQTT
或HTTP
。 - topicName
-
請求所發布的主題名稱。
Rules engine 日誌項目
AWS IoT 規則引擎會產生下列事件的日誌:
主題
FunctionExecution 日誌項目
當規則的SQL查詢呼叫外部 函數FunctionExecution
時,規則引擎會產生具有 eventType
的日誌項目。當規則的動作向 AWS IoT 或其他 Web 服務提出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。
- 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 日誌屬性,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 日誌屬性,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。
- 詳細資訊
-
錯誤的簡要說明。
- 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 日誌屬性,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 日誌屬性,rule-
記錄項目包含下列屬性:
- clientId
-
提出請求的用戶端 ID。
- principalId
-
提出請求的委託人 ID。
- ruleAction
-
受到觸發的動作名稱。
- ruleName
-
符合的規則名稱。
- topicName
-
訂閱主題的名稱。
任務日誌項目
AWS IoT 任務服務會產生下列事件的日誌項目。從裝置收到 MQTT或 HTTP請求時,會產生日誌項目。
主題
DescribeJobExecution 日誌項目
當服務收到描述任務執行的請求DescribeJobExecution
時, AWS IoT Jobs 服務會產生具有 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
-
用來確保請求冪等的,是一個唯一、區分大小寫的識別符。如需詳細資訊,請參閱如何確保冪等。
- 詳細資訊
-
任務裝置的其他資訊。
- jobId
-
任務執行的任務 ID。
- protocol
-
用來提出要求的協定。有效值為
MQTT
或HTTP
。 - topicName
-
用來提出請求的主題。
GetPendingJobExecution 日誌項目
當服務收到任務執行請求GetPendingJobExecution
時, AWS IoT Jobs 服務會使用 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
-
用以確保請求冪等的,是一個唯一、區分大小寫的識別符。如需詳細資訊,請參閱如何確保冪等。
- 詳細資訊
-
任務裝置的其他資訊。
- protocol
-
用來提出要求的協定。有效值為
MQTT
或HTTP
。 - topicName
-
訂閱主題的名稱。
ReportFinalJobExecutionCount 日誌項目
當任務完成ReportFinalJobExecutionCount
時, AWS IoT 任務服務會產生具有 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
記錄項目包含下列屬性:
- 詳細資訊
-
任務裝置的其他資訊。
- 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 日誌屬性,StartNextPendingJobExecution
記錄項目包含下列屬性:
- clientId
-
提出請求的用戶端 ID。
- clientToken
-
用以確保請求冪等的,是一個唯一、區分大小寫的識別符。如需詳細資訊,請參閱如何確保冪等。
- 詳細資訊
-
任務裝置的其他資訊。
- protocol
-
用來提出要求的協定。有效值為
MQTT
或HTTP
。 - topicName
-
用來提出請求的主題。
UpdateJobExecution 日誌項目
當服務收到更新任務執行的請求UpdateJobExecution
時, AWS IoT Jobs 服務會產生具有 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
-
用以確保請求冪等的,是一個唯一、區分大小寫的識別符。如需詳細資訊,請參閱如何確保冪等。
- 詳細資訊
-
任務裝置的其他資訊。
- jobId
-
任務執行的任務 ID。
- protocol
-
用來提出要求的協定。有效值為
MQTT
或HTTP
。 - topicName
-
用來提出請求的主題。
- versionNumber
-
任務執行的版本。
裝置佈建日誌項目
AWS IoT Device Provisioning 服務會產生下列事件的日誌。
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 日誌屬性,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 日誌屬性,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 日誌屬性,AddThingToDynamicThingGroupsFailed
記錄項目包含下列屬性:
- dynamicThingGroup名稱
-
無法新增物件的動態物件群組的陣列。
- 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 日誌屬性
所有 CloudWatch 日誌日誌項目都包含這些屬性:
- accountId
-
您的 AWS 帳戶 ID。
- eventType
-
產生日誌的事件類型。事件類型的值會根據產生該日誌項目的事件而定。每個日誌項目說明都包含該
eventType
日誌項目的值。 - logLevel
-
使用的日誌層級。如需詳細資訊,請參閱日誌層級。
- status
-
請求的狀態。
- timestamp
-
當用戶端連線至 AWS IoT 訊息代理程式時,人類可讀取的UTC時間戳記 。
- traceId
-
隨機產生的識別符,可用於建立某個特定請求的所有日誌的關聯性。