CloudWatch Logs Amazon IoT 日志条目 - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

CloudWatch Logs Amazon IoT 日志条目

Amazon IoT 的每个组件均会生成自己的日志条目。每个日志条目都有一个 eventType 指定导致生成日志条目的操作。本部分介绍以下 Amazon IoT 组件所生成的日志条目。有关监控适用于 LoRaWAN 的 Amazon IoT Core 的更多信息,请参阅 查看 CloudWatch Amazon IoT Wireless 日志条目

消息代理日志条目

Amazon IoT 消息代理会生成以下事件的日志条目:

Connect 日志条目

当 MQTT 客户端连接时,Amazon IoT 消息代理会生成一个 eventTypeConnect 的日志条目。

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 客户端断开连接时,Amazon IoT 消息代理会生成一个 eventTypeDisconnect 的日志条目。

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

客户端断开连接的原因。

details

错误的简要说明。

disconnectReason

客户端断开连接的原因。

GetRetainedMessage 日志条目

调用 GetRetainedMessage 时,Amazon IoT 消息代理会用 GetRetainedMessageeventType 生成一个日志条目。

GetRainedMessage 日志条目示例

{ "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

Amazon IoT 储存保留消息时,Epoch 日期和时间(以毫秒为单位)存储保留的消息的时间。

protocol

用于提出请求的协议。有效值:HTTP

qos

发布请求中使用的服务质量 (QoS) 级别。有效值为 01

topicName

已订阅主题的名称。

ListRetainedMessage 日志条目

调用 Amazon IoT 时,eventType 消息代理会用 ListRetainedMessageListRetainedMessages 生成一个日志条目。

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 日志条目

当 Amazon IoT 消息代理收到 MQTT 消息时,它会生成一个 eventTypePublish-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

保留

当消息的 REATIN 标志的值设置为 True 时使用的属性。如果消息未设置 REATIN 标志,则该属性不会显示在日志条目中。有关更多信息,请参阅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 消息代理会存储该设备的消息,并且 Amazon 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。

details
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。

details
Throttled while queueing offline message

客户端超出了 Queued messages per second per account 限制,因此未存储消息。

protocol

用于提出请求的协议。该值始终为 MQTT

qos

请求的服务质量(QoS)级别。该值将始终为 1,因为不存储 QoS 为 0 的消息。

topicName

已订阅主题的名称。

Subscribe 日志条目

当 MQTT 客户端订阅主题时,Amazon IoT 消息代理会生成一个 eventTypeSubscribe 的日志条目。

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

用于提出请求的协议。有效值为 MQTTHTTP

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 原因代码

设备影子日志条目

Amazon IoT Device Shadow 服务会生成以下事件的日志条目:

DeleteThingShadow 日志条目

当收到删除设备影子的请求时,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 日志条目

当收到影子的获取请求时,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 服务会生成一个 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

发布请求时所基于的主题的名称。

规则引擎日志条目

Amazon IoT 规则引擎会生成以下事件的日志:

FunctionExecution 日志条目

当规则的 SQL 查询调用外部函数时,规则引擎会生成一个 eventTypeFunctionExecution 的日志条目。在规则的操作向 Amazon 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 日志条目

当 Amazon 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 日志条目

当消息代理收到与规则匹配的消息时,Amazon IoT 规则引擎会生成一个 eventTypeRuleMatch 的日志条目。

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 日志条目

当执行受到限制时,Amazon IoT 规则引擎生成一个 eventTypeRuleExecutionThrottled 的日志条目。

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 Logs 属性 之外,RuleExecutionThrottled 日志条目还包含以下属性:

clientId

发出请求的客户端的 ID。

details

错误的简要说明。

principalId

发出请求的委托人的 ID。

reason

字符串“RuleExecutionThrottled”。

ruleName

要触发的规则的名称。

topicName

已发布的主题的名称。

RuleNotFound 日志条目

当 Amazon IoT 规则引擎找不到具有给定名称的规则时,它会生成一个 eventTypeRuleNotFound 的日志条目。

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。

reason

字符串“RuleNotFound”。

ruleName

找不到的规则的名称。

topicName

已发布的主题的名称。

StartingRuleExecution 日志条目

当 Amazon IoT 规则引擎开始触发规则的操作时,它会生成一个 eventTypeStartingRuleExecution 的日志条目。

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

已订阅主题的名称。

任务日志条目

Amazon IoT 任务服务会生成以下事件的日志条目。当从设备收到 MQTT 或 HTTP 请求时,将生成日志条目。

DescribeJobExecution 日志条目

当服务收到描述任务执行的请求时,Amazon IoT 任务服务会生成一个 eventTypeDescribeJobExecution 的日志条目。

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。

protocol

用于提出请求的协议。有效值为 MQTTHTTP

topicName

发出请求所使用的主题。

GetPendingJobExecution 日志条目

当服务收到任务执行请求时,Amazon IoT 任务服务会生成一个 eventTypeGetPendingJobExecution 的日志条目。

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 服务的其它信息。

protocol

用于提出请求的协议。有效值为 MQTTHTTP

topicName

已订阅主题的名称。

ReportFinalJobExecutionCount 日志条目

当任务完成时,Amazon IoT Jobs 服务会生成一个 entryTypeReportFinalJobExecutionCount 的日志条目。

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 日志条目

当服务收到开始执行下一个待处理任务的请求时,Amazon IoT 任务服务会生成一个 eventTypeStartNextPendingJobExecution 的日志条目。

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 服务的其它信息。

protocol

用于提出请求的协议。有效值为 MQTTHTTP

topicName

发出请求所使用的主题。

UpdateJobExecution 日志条目

当服务收到更新任务执行的请求时,Amazon IoT 任务服务会生成一个 eventTypeUpdateJobExecution 的日志条目。

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。

protocol

用于提出请求的协议。有效值为 MQTTHTTP

topicName

发出请求所使用的主题。

versionNumber

任务执行的版本。

设备预配置日志条目

Amazon IoT 设备预配置服务会生成以下事件的日志。

GetDeviceCredentials 日志条目

当客户端调用 GetDeviceCredential 时,Amazon IoT 设备预配置服务会生成一个 eventTypeGetDeviceCredential 的日志条目。

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 日志条目

当客户端调用 ProvisionDevice 时,Amazon IoT 设备预配置服务会生成一个 eventTypeProvisionDevice 的日志条目。

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

预配置模板的名称。

动态事物组日志条目

Amazon IoT 动态事物组为以下事件生成日志。

AddThingToDynamicThingGroupsFailed 日志条目

当 Amazon IoT 无法将事物添加到指定的动态组时,它会生成一个 eventTypeAddThingToDynamicThingGroupsFailed 的日志条目。当事物满足要处于动态事物组中的条件时,就会发生此情况;但是,无法将其添加到动态组中,或者无法将其从动态组中删除。这可能是因为:

  • 事物已经属于最大数量的组数。

  • --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

无法添加到动态事物组的事物的名称。

机群索引日志条目

Amazon 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

您的 Amazon Web Services 账户 ID。

eventType

已为其生成日志的事件类型。事件类型的值取决于生成日志条目的事件。每个日志条目描述都包括该日志条目的 eventType 的值。

logLevel

所使用的日志级别。有关更多信息,请参阅日志级别

状态

请求的状态。

timestamp

客户端连接到 Amazon IoT 消息代理的时间的便于阅读的 UNIX 时间戳。

traceId

一个随机生成的标识符,可用于将特定请求的所有日志关联起来。