

• AWS Systems Manager CloudWatch 控制面板在 2026 年 4 月 30 日之后将不再可用。客户可以像现在一样继续使用 Amazon CloudWatch 控制台来查看、创建和管理其 Amazon CloudWatch 控制面板。有关更多信息，请参阅 [Amazon CloudWatch 控制面板文档](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。

# 使用 CloudWatch Logs 记录自动化操作输出
<a name="automation-action-logging"></a>

Automation 是 AWS Systems Manager 中的一项工具，与 Amazon CloudWatch Logs 集成在一起。您可以将运行手册中 `aws:executeScript` 操作的输出发送到您指定的日志组。Systems Manager 不会为不使用 `aws:executeScript` 操作的文档创建日志组或任何日志流。如果文档使用 `aws:executeScript`，则发送到 CloudWatch Logs 的输出仅与这些操作有关。您可以将存储在 CloudWatch Logs 日志组中的 `aws:executeScript` 操作输出用于调试和故障排除目的。如果您选择已加密的日志组，则 `aws:executeScript` 操作输出也会被加密。记录 `aws:executeScript` 操作的输出是一项账户级别的设置。

要向 CloudWatch Logs for Amazon 拥有的运行手册发送操作输出，运行自动化的用户或角色必须拥有执行以下操作的权限：
+ `logs:CreateLogGroup`
+ `logs:CreateLogStream`
+ `logs:DescribeLogGroups`
+ `logs:DescribeLogStreams`
+ `logs:PutLogEvents`

对于您拥有的运行手册，必须将相同权限添加到您用于运行运行手册的 IAM 服务角色（或 AssumeRole）。

**将操作输出发送到 CloudWatch Logs（控制台）**

1. 访问 [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)，打开 AWS Systems Manager 控制台。

1. 在导航窗格中，选择 **自动化**。

1. 选择**首选项**选项卡，然后选择**编辑**。

1. 选中 **Send output to CloudWatch Logs (将输出发送到 CloudWatch Logs)** 旁边的复选框。

1. （推荐）选中 **Encrypt log data (对日志数据加密)** 旁边的复选框。在打开此选项的情况下，将使用为日志组指定的服务器端加密密钥对日志数据加密。如果不需要加密发送到 CloudWatch Logs 的日志数据，请清除该复选框。如果日志组不允许加密，请清除该复选框。

1. 对于 **CloudWatch Logs 日志组**，要指定您要向其发送操作输出的 AWS 账户中的现有 CloudWatch Logs 日志组，请选择以下选项之一：
   + **Send output to the default log group (将输出发送到默认日志组)** – 如果默认日志组不存在 (`/aws/ssm/automation/executeScript`)，自动化将为您创建它。
   + **Choose from a list of log groups (从日志组列表中选择)** - 选择已在您的账户中创建的日志组来存储操作输出。
   + **Enter a log group name (输入日志组名称)** - 在文本框中输入已在您的账户中创建的用于存储操作输出的日志组的名称。

1. 选择 **Save (保存)**。

**将操作输出发送到 CloudWatch Logs（命令行）**

1. 打开首选命令行工具并运行以下命令，以更新操作输出目标。

------
#### [ Linux & macOS ]

   ```
   aws ssm update-service-setting \
       --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination \
       --setting-value CloudWatch
   ```

------
#### [ Windows ]

   ```
   aws ssm update-service-setting ^
       --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination ^
       --setting-value CloudWatch
   ```

------
#### [ PowerShell ]

   ```
   Update-SSMServiceSetting `
       -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination" `
       -SettingValue "CloudWatch"
   ```

------

   如果此命令成功，则无任何输出。

1. 运行以下命令，以指定要向其发送操作输出的日志组。

------
#### [ Linux & macOS ]

   ```
   aws ssm update-service-setting \
       --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-group-name \
       --setting-value my-log-group
   ```

------
#### [ Windows ]

   ```
   aws ssm update-service-setting ^
       --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-group-name ^
       --setting-value my-log-group
   ```

------
#### [ PowerShell ]

   ```
   Update-SSMServiceSetting `
       -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-group-name" `
       -SettingValue "my-log-group"
   ```

------

   如果此命令成功，则无任何输出。

1. 运行以下命令，以查看当前 AWS 账户 和 AWS 区域 中自动化操作日志记录首选项的当前服务设置。

------
#### [ Linux & macOS ]

   ```
   aws ssm get-service-setting \
       --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination
   ```

------
#### [ Windows ]

   ```
   aws ssm get-service-setting ^
       --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMServiceSetting `
       -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/automation/customer-script-log-destination"
   ```

------

   此命令会返回如下信息。

   ```
   {
       "ServiceSetting": {
           "Status": "Customized",
           "LastModifiedDate": 1613758617.036,
           "SettingId": "/ssm/automation/customer-script-log-destination",
           "LastModifiedUser": "arn:aws:sts::123456789012:assumed-role/Administrator/User_1",
           "SettingValue": "CloudWatch",
           "ARN": "arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/automation/customer-script-log-destination"
       }
   }
   ```