本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置 Amazon IoT 日志记录
您必须使用 Amazon IoT 控制台、CLI 或 API 启用日志记录,然后才能监控和记录 Amazon IoT 活动。
您可以为所有 Amazon IoT 或仅为特定事物组启用日志记录。您可以使用 Amazon IoT 控制台、CLI 或 API 配置 Amazon IoT 日志记录;但是,必须使用 CLI 或 API 为特定事物组配置日志记录。
在考虑如何配置 Amazon IoT 日志记录时,除非另有指定,否则默认日志记录配置将确定如何记录 Amazon IoT 活动。首先,您可能要获取默认日志级别为 INFO
或 DEBUG
的详细日志。查看初始日志后,您可以将默认日志级别更改为较低的详细程度级别(如 WARN
或 ERROR
),并对可能需要更多关注的资源设置更详细的资源特定日志级别。日志级别可随时更改。
本主题介绍云端登录Amazon IoT。有关设备端日志记录和监控的信息,请参阅将设备端日志上载到 CloudWatch。
有关日志和监控的信息Amazon IoT Greengrass,参见中的日志记录和监控Amazon IoT Greengrass。截至2023年6月30日Amazon IoT Greengrass核心软件已迁移到Amazon IoT Greengrass Version 2。
配置日志记录角色和策略
在 Amazon IoT 中启用日志记录之前,您必须创建一个 IAM 角色和一个策略,用于向 Amazon 授予代表您监控 Amazon IoT 活动的权限。您还可以使用中所需的策略生成一个 IAM 角色的 “日志” 部分Amazon IoT控制台
注意
在启用之前Amazon IoTlogs,确保你明白 CloudWatch 记录访问权限。有权访问的用户 CloudWatch 日志上载到 Amazon。有关更多信息,请参阅Amazon 身份验证和访问控制 CloudWatch 日志。
如果您预计负载测试会在 Amazon IoT Core 中导致高流量模式,请考虑关闭 IoT 日志记录以防止节流。如果检测到高流量,我们的服务可能会禁用您账户中的日志记录。
以下显示了如何为 Amazon IoT Core 资源创建日志记录角色和策略。有关如何为其创建 IAM 日志记录角色和策略的信息Amazon IoT Core为了 LoRa广域网,参见为 Amazon IoT Wireless 创建日志记录角色和策略。
创建日志记录角色
要创建日志记录角色,请打开 IAM 控制台的角色中心
-
在 Select trusted entity(选择受信任的实体)下,选择 Amazon Service(Amazon 服务)。然后在 Use case(用例)下,选择 IoT。如果您看不到 IoT,请在 Use cases for other Amazon services:(其他 Amazon 服务的用例:)下拉菜单中输入并搜索 IoT。选择下一步。
-
在 Add permissions(添加权限)页面上,您将看到自动附加到服务角色的策略。选择下一步。
-
在 Name, review, and create(命名、检查和创建)页面上,为此角色输入 Role name(角色名称)和 Role description(角色描述),然后选择 Create role(创建角色)。
-
在清单中,角色,找到你创建的角色,将其打开,然后复制角色 ARN(
logging-role-arn
) 在你时使用在 Amazon IoT(控制台)中配置默认日志记录。
日志记录角色策略
以下策略文件将提供角色策略和信任政策,这些操作均处于特定状态,这些操作均处于特定状态,这些操作Amazon IoT将日志条目提交到 CloudWatch 代表你是。如果你也允许Amazon IoT Core为了 LoRaWAN 将不会简单地调用操作,因为这些操作均处于特定状态,该操作均处于特定状态,该状态将不会简单地调用操作,因为这些操作均处于特定 有关如何为其创建 IAM 日志记录角色和策略的信息Amazon IoT Core为了 LoRa广域网,参见为 Amazon IoT Wireless 创建日志记录角色和策略。
注意
在您创建日志记录角色时已为您创建这些文档。这些文件有变量,${partition}
,
,以及${region}
,必须将其替换为自己的值。${accountId}
角色策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:PutMetricFilter", "logs:PutRetentionPolicy", "iot:GetLoggingOptions", "iot:SetLoggingOptions", "iot:SetV2LoggingOptions", "iot:GetV2LoggingOptions", "iot:SetV2LoggingLevel", "iot:ListV2LoggingLevels", "iot:DeleteV2LoggingLevel" ], "Resource": [ "arn:${partition}:logs:${region}:${accountId}:log-group:AWSIotLogsV2:*" ] } ] }
信任策略仅记录 Amazon IoT Core 活动:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
在 Amazon IoT(控制台)中配置默认日志记录
本部分介绍如何使用 Amazon IoT 控制台为所有 Amazon IoT 配置日志记录。要仅为特定事物组配置日志记录,您必须使用 CLI 或 API。有关为特定事物组配置日志记录的信息,请参阅在 Amazon IoT 中配置资源特定的日志记录 (CLI)。
使用 Amazon IoT 控制台为所有 Amazon IoT 配置默认日志记录
-
登录 Amazon IoT 控制台。有关更多信息,请参阅打开 Amazon IoT 控制台:
-
在左侧导航窗格中,选择 Settings (设置)。在 Settings(设置)页面的 Logs(日志)部分中,选择 Manage logs(管理日志)。
Logs(日志)页面显示 Amazon IoT 使用的日志记录角色和详细程度级别。
-
在 Logs(日志)页面上,选择 Select role(选择角色)以指定您在 创建日志记录角色 中创建的角色,或选择 Create Role(创建角色)以创建用于日志记录的新角色。
-
选择日志级别这描述了细节层次您要显示在中的日志条目中 CloudWatch 日志。
-
单击 Update (更新) 以保存您的更改。
启用日志记录后,请访问 正在查看Amazon IoT登录 CloudWatch 控制台 以了解有关查看日志条目的更多信息。
在 Amazon IoT 中配置默认日志记录 (CLI)
本部分介绍如何使用 CLI 为 Amazon IoT 配置全局日志记录。
注意
您也可以使用 API 执行此流程,即使用 Amazon API 中与此处显示的 CLI 命令对应的方法。
使用 CLI 为 Amazon IoT 配置默认日志记录
-
使用 set-v2-logging-options
命令为您的账户设置日志记录选项。 aws iot set-v2-logging-options \ --role-arn
logging-role-arn
\ --default-log-levellog-level
其中:
- --role-arn
-
ARN 授予的角色Amazon IoT将上载到 Amazon CloudWatch 日志。
- --default-log-level
-
要使用的日志级别。有效值为:
ERROR
、WARN
、INFO
、DEBUG
或DISABLED
。 - --no-disable-all-logs
-
启用所有 Amazon IoT 日志记录的可选参数。使用此参数可在当前禁用日志记录时启用日志记录。
- --disable-all-logs
-
禁用所有 Amazon IoT 日志记录的可选参数。使用此参数可在当前启用日志记录时禁用日志记录。
-
使用 get-v2-logging-options
命令获取当前日志记录选项。 aws iot get-v2-logging-options
启用日志记录后,请访问 正在查看Amazon IoT登录 CloudWatch 控制台 以了解有关查看日志条目的更多信息。
注意
Amazon IoT 会继续支持使用较早的命令(set-logging-options 和 get-logging-options)在您的账户中设置和获取全局日志记录。请注意,使用这些命令时,生成的日志将包含纯文本而不是 JSON 负载,并且日志记录延迟通常会更高。将不会再对这些较早命令的实施进行更多改进。建议您使用“v2”版本来配置日志记录选项,如果可能,还请更改使用早期版本的传统应用程序。
在 Amazon IoT 中配置资源特定的日志记录 (CLI)
本部分介绍如何使用 CLI 为 Amazon IoT 配置资源特定的日志记录。可通过资源特定的日志记录为特定事物组指定日志记录级别。
事物组可包含其它事物组以创建分层关系。此流程介绍如何配置单个事物组的日志记录。您可以将此流程应用于层次结构中的父事物组,以配置层次结构中所有事物组的日志记录。您也可以将此流程应用于子事情组,以覆盖其父级的日志记录配置。
除了事物组之外,您还可以录入目标,例如设备的客户端 ID、源 IP 和主体 ID。
注意
您也可以使用 API 执行此流程,即使用 Amazon API 中与此处显示的 CLI 命令对应的方法。
使用 CLI 为 Amazon IoT 配置资源特定的日志记录
-
使用 set-v2-logging-options
命令为您的账户设置日志记录选项。 aws iot set-v2-logging-options \ --role-arn
logging-role-arn
\ --default-log-levellog-level
其中:
- --role-arn
-
ARN 授予的角色Amazon IoT将上载到 Amazon CloudWatch 日志。
- --default-log-level
-
要使用的日志级别。有效值为:
ERROR
、WARN
、INFO
、DEBUG
或DISABLED
。 - --no-disable-all-logs
-
启用所有 Amazon IoT 日志记录的可选参数。使用此参数可在当前禁用日志记录时启用日志记录。
- --disable-all-logs
-
禁用所有 Amazon IoT 日志记录的可选参数。使用此参数可在当前启用日志记录时禁用日志记录。
-
使用 set-v2-logging-level
命令为事物组配置资源特定的日志记录。 aws iot set-v2-logging-level \ --log-target targetType=THING_GROUP,targetName=
thing_group_name
\ --log-levellog_level
- --log-target
-
您要配置日志记录的资源的类型和名称。
target_type
值必须是下列项之一:THING_GROUP
|CLIENT_ID
|SOURCE_IP
|PRINCIPAL_ID
。log-target 参数值可以是文本(如前面的命令示例所示),也可以是 JSON 字符串,如以下示例所示。aws iot set-v2-logging-level \ --log-target '{"targetType": "THING_GROUP","targetName": "
thing_group_name
"}' \ --log-levellog_level
- --log-level
-
为指定资源生成日志时使用的日志记录级别。有效值为:DEBUG、INFO、ERROR、WARN 和 DISABLED
aws iot set-v2-logging-level \ --log-target targetType=CLIENT_ID,targetName=
ClientId1
\ --log-levelDEBUG
-
使用 list-v2-logging-levels
命令列出当前配置的日志记录级别。 aws iot list-v2-logging-levels
-
使用 delete-v2-logging-level
命令删除资源特定的日志记录级别,比如下面的例子。 aws iot delete-v2-logging-level \ --target-type "THING_GROUP" \ --target-name "
thing_group_name
"aws iot delete-v2-logging-level \ --target-type=CLIENT_ID --target-name=
ClientId1
- --targetType
-
target_type
值必须是下列项之一:THING_GROUP
|CLIENT_ID
|SOURCE_IP
|PRINCIPAL_ID
。 - --targetName
-
要删除日志记录级别的事物组的名称。
启用日志记录后,请访问 正在查看Amazon IoT登录 CloudWatch 控制台 以了解有关查看日志条目的更多信息。
日志级别
这些日志级别确定记录的事件,并应用于默认日志级别和资源特定的日志级别。
- ERROR (错误)
-
导致操作失败的任何错误。
日志仅包含 ERROR 信息。
- WARN
-
可能导致系统中出现不一致问题,但不会导致操作失败的所有情况。
日志包括 ERROR 和 WARN 信息。
- INFO
-
有关事物流的高级别信息。
日志包括 INFO、ERROR 和 WARN 信息。
- DEBUG
-
可能有助于调试问题的信息。
日志包括 DEBUG、INFO、ERROR 和 WARN 信息。
- DISABLED
-
所有日志记录均处于禁用状态。