使用 CloudWatch Logs 记录自动化操作输出 - Amazon Web Services Systems Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

使用 CloudWatch Logs 记录自动化操作输出

自动化,一种Amazon Web Services Systems Manager,与 Amazon CloudWatch Logs 集成。您可以从aws:executeScript操作添加到指定的日志组中。您可以将aws:executeScript操作输出存储在 CloudWatch Logs 组中,以便进行调试和故障排除。如果选择加密的日志组,aws:executeScript操作输出也会被加密。日志记录输出aws:executeScript操作是帐户级别设置。

注意

Systems Manager 不会为不使用aws:executeScript操作。如果文档使用aws:executeScript,则发送到 CloudWatch Logs 的输出仅适用于这些操作。

将操作输出发送到 CloudWatch Logs(控制台)

  1. 打开Amazon Web Services Systems Manager控制台https://console.aws.amazon.com/systems-manager/

  2. 在导航窗格中,选择自动化

  3. 选择 Preferences (首选项) 选项卡,然后选择 Edit (编辑)

  4. 选中 旁边的复选框将输出发送到 CloudWatch Logs

  5. (推荐)选中对日志数据加密。启用此选项后,日志数据将使用为日志组指定的服务器端加密密钥加密。如果不需要加密发送到 CloudWatch 日志的日志数据,请清除此复选框。如果日志组未启用加密,请清除此复选框。

  6. 适用于CloudWatch Logs 日志组中指定现有的 CloudWatch Logs 日志组Amazon Web Services 账户,请选择以下项之一:

    • 将输出发送到默认日志组— 如果默认日志组不存在 (/aws/ssm/automation/executeScript),则自动化为您创建它。

    • 从日志组列表中选择— 选择已在您的账户中创建的日志组来存储操作输出。

    • 在已在您的账户中创建的用于存储操作输出的文本框中输入日志组的名称。

  7. 选择保存

将操作输出发送到 CloudWatch Logs(命令行)

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

    Linux & macOS
    aws ssm update-service-setting \ --setting-id arn:aws:ssm:region:aws-account-id:servicesetting/ssm/automation/customer-script-log-destination \ --setting-value CloudWatch
    Windows
    aws ssm update-service-setting ^ --setting-id arn:aws:ssm:region:aws-account-id:servicesetting/ssm/automation/customer-script-log-destination ^ --setting-value CloudWatch
    PowerShell
    Update-SSMServiceSetting ` -SettingId "arn:aws:ssm:region:aws-account-id:servicesetting/ssm/automation/customer-script-log-destination" ` -SettingValue "CloudWatch"

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

  2. 运行以下命令以指定要将操作输出发送到的日志组。

    Linux & macOS
    aws ssm update-service-setting \ --setting-id arn:aws:ssm:region:aws-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:aws-account-id:servicesetting/ssm/automation/customer-script-log-group-name ^ --setting-value my-log-group
    PowerShell
    Update-SSMServiceSetting ` -SettingId "arn:aws:ssm:region:aws-account-id:servicesetting/ssm/automation/customer-script-log-group-name" ` -SettingValue "my-log-group"

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

  3. 运行以下命令来查看当前的Amazon Web Services 账户和Amazon Web Services 区域。

    Linux & macOS
    aws ssm get-service-setting \ --setting-id arn:aws:ssm:region:aws-account-id:servicesetting/ssm/automation/customer-script-log-destination
    Windows
    aws ssm get-service-setting ^ --setting-id arn:aws:ssm:region:aws-account-id:servicesetting/ssm/automation/customer-script-log-destination
    PowerShell
    Get-SSMServiceSetting ` -SettingId "arn:aws:ssm:region:aws-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"
        }
    }