

终止支持通知： AWS 将于 2025 年 12 月 15 日终止对的支持 AWS IoT Analytics。2025 年 12 月 15 日之后，您将无法再访问 AWS IoT Analytics 控制台或 AWS IoT Analytics 资源。有关更多信息，请参阅[AWS IoT Analytics 终止支持](https://docs.aws.amazon.com/iotanalytics/latest/userguide/iotanalytics-end-of-support.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 Amazon CloudWatch 日志进行监控
<a name="cloudwatch"></a>

AWS IoT Analytics 支持使用 Amazon 登录 CloudWatch。您可以使用 [`PutLoggingOptions`API 操作](https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_PutLoggingOptions.html)为 AWS IoT Analytics 启用和配置 Amazon CloudWatch 日志记录。本节介绍如何`PutLoggingOptions`与 AWS Identity and Access Management (IAM) 配合使用来配置和启用 Amazon CloudWatch 日志记录 AWS IoT Analytics。

有关 CloudWatch 日志的更多信息，请参阅 [Amazon CloudWatch 日志用户指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html)。有关 AWS IAM 的更多信息，请参阅[AWS Identity and Access Management 用户指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)。

**注意**  
在启用 AWS IoT Analytics 日志记录之前，请确保您了解 CloudWatch 日志访问权限。有权访问 CloudWatch 日志的用户可以看到您的调试信息。有关更多信息，请参阅 [Amazon CloudWatch 日志的身份验证和访问控制](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/auth-and-access-control-cw.html)。

## 创建 IAM 角色以启用日志记录
<a name="cw-logging-role"></a>

创建 IAM 角色以启用 Amazon 的日志记录 CloudWatch 

1. 使用 [AWS IAM 控制台](https://console.aws.amazon.com/iam/)或以下 AWS IAM CLI 命令创建具有信任关系策略（信任策略）的新 IAM 角色。[CreateRole](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html)信任策略向实体（例如 Amazon CloudWatch）授予担任该角色的权限。

   ```
   aws iam create-role --role-name exampleRoleName --assume-role-policy-document
          exampleTrustPolicy.json
   ```

   `exampleTrustPolicy.json` 文件包含以下内容。
**注意**  
此示例包括一个全局条件上下文密钥，用于防止混淆代理安全问题。{{123456789012}}替换为您的 AWS 账户 ID {{aws-region}} 和您的 AWS 资源 AWS 区域。有关更多信息，请参阅 [防止跨服务混淆座席](cross-service-confused-deputy-prevention.md)。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "iotanalytics.amazonaws.com"
               },
               "Action": "sts:AssumeRole",
               "Condition": {
                   "StringEquals": {
                       "aws:SourceAccount": "{{123456789012}}"
                   },
                   "ArnLike": {
                   "aws:SourceArn": "arn:aws:iotanalytics:{{us-east-1}}:{{123456789012}}:*"
                   }
               }
           }
       ]
   }
   ```

------

   稍后在调用命令时，您将使用此角色的 ARN。 AWS IoT Analytics `PutLoggingOptions`

1. 使用 AWS IAM [PutRolePolicy](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-policy.html)将权限策略 (a`role policy`) 附加到您在步骤 1 中创建的角色。

   `aws iam put-role-policy --role-name exampleRoleName --policy-name examplePolicyName --policy-document exampleRolePolicy.json`

    exampleRolePolicy.json 文件包含以下内容。

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
       {
        "Effect": "Allow",
        "Action": [
        	"logs:CreateLogGroup",
        	"logs:CreateLogStream"
        ],
        "Resource": [
        	"arn:aws:logs:*:*:*"
        ]
       }
      ]
   }
   ```

------

1. 要 AWS IoT Analytics 授予向亚马逊发布日志事件的权限 CloudWatch，请使用 Amazon CloudWatch 命令[PutResourcePolicy](https://docs.aws.amazon.com/cli/latest/reference/logs/put-resource-policy.html)。
**注意**  
为防范混淆代理安全问题，我们建议在资源策略中指定 `aws:SourceArn`。这限制了访问权限，仅接受来自指定账户的请求。有关混淆代理问题的更多信息，请参阅[防止跨服务混淆座席](cross-service-confused-deputy-prevention.md)。

   `aws logs put-resource-policy --policy-in-json exampleResourcePolicy.json`

   `exampleResourcePolicy.json` 文件包含以下资源策略。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "iotanalytics.amazonaws.com"
               },
               "Action": "logs:PutLogEvents",
               "Resource": "*",
               "Condition": {
                   "ArnLike": {
                   "aws:SourceArn": "arn:aws:iotanalytics:{{us-east-1}}:{{123456789012}}:*/*"
                   },
                   "StringEquals": {
                       "aws:SourceAccount": "{{123456789012}}"
                   }
               }
           }
       ]
   }
   ```

------

## 配置并启用日志记录
<a name="cw-enable-logging"></a>

使用`PutLoggingOptions`命令为配置和启用 Amazon CloudWatch 日志记录 AWS IoT Analytics。`loggingOptions` 字段中的 `roleArn` 应为您在上一节中创建的角色的 ARN。还可以使用 `DecribeLoggingOptions` 命令来检查您的日志记录选项设置。

### PutLoggingOptions
<a name="cw-plo"></a>

设置或更新 AWS IoT Analytics 日志选项。如果您更新任何 `loggingOptions` 字段的值，则最多需要一分钟，更改才能生效。此外，如果您更改附加到您在 `roleArn` 字段中所指定角色的策略（例如，更正无效策略），则最多需要五分钟，更改才能生效。有关更多信息，请参阅 [https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_PutLoggingOptions.html](https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_PutLoggingOptions.html)。

### DescribeLoggingOptions
<a name="cw-dlo"></a>

检索 AWS IoT Analytics 日志选项的当前设置。有关更多信息，请参阅 [https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_DescribeLoggingOptions.html](https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_DescribeLoggingOptions.html)。

### 命名空间、指标和维度
<a name="cw-metrics"></a>

AWS IoT Analytics 将以下指标放入 Amazon CloudWatch 存储库：


| 命名空间 | 
| --- | 
| AWS/Io TAnalytics | 


| 指标 | 描述 | 
| --- | --- | 
| ActionExecution | 已执行的操作的数量。 | 
| ActionExecutionThrottled | 受限制的操作数。 | 
| ActivityExecutionError | 执行管道活动时生成的错误数。 | 
| IncomingMessages | 进入通道的消息数量。 | 
| PipelineConcurrentExecutionCount | 并发执行的管道活动数量。 | 


| 维度 | 描述 | 
| --- | --- | 
| ActionType | 正在监视的操作类型。 | 
| ChannelName | 正在监视的通道的名称。 | 
| DatasetName | 正在监视的数据集的名称。 | 
| DatastoreName | 正在监视的数据存储的名称。 | 
| PipelineActivityName | 正在监视的管道活动的名称。 | 
| PipelineActivityType | 正在监视的管道活动的类型。 | 
| PipelineName | 正在监视的管道的名称。 | 