Amazon Elastic Compute Cloud
Windows 实例用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

为 CloudWatch 配置实例

从以下用于配置与 CloudWatch 的集成的方法中进行选择:

开始前的准备工作

验证您是否已满足先决条件。有关更多信息,请参阅 配置与 CloudWatch 集成的初步任务

使用 Systems Manager Run Command

Run Command 使您能够按需管理实例配置。指定 Systems Manager 文档,指定参数,然后在一个或多个实例上执行命令。实例上的 SSM 代理负责处理命令并按指定方式配置实例。

您可以使用 Run Command 来配置与 CloudWatch 的集成。配置集成后,SSM 代理会将您在 JSON 文件中配置的所有日志发送到 CloudWatch。时间范围随信息的发送时间而变化。对于应用程序、系统、安全和事件跟踪 (Windows) 日志,系统会发送在启用集成的第一分钟内生成的所有信息。其中不包括在此时间之前产生的日志。对于任何自定义日志文件和 Internet Information Services (IIS) 日志,State Manager 会从头读取日志文件。

如果以前使用 EC2Config 服务启用了 CloudWatch 集成,则 Run Command 设置将覆盖存储在实例上的 EC2Config 设置。默认情况下,这些设置存储在实例上的以下文件中:C:\Program Files\Amazon\Ec2ConfigService\Settings\AWS.EC2.Windows.CloudWatch.json

使用 Run Command 配置与 CloudWatch 的集成

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在导航窗格中,选择 Systems Manager ServicesRun Command

  3. 选择 Run a command

  4. 对于 Command document,选择 AWS-ConfigureCloudWatch

  5. 对于 目标实例,选择要与 CloudWatch 集成的实例。如果您在此列表中未看到实例,则可能未针对 Run Command 配置实例。有关更多信息,请参阅 Amazon EC2 Systems Manager 用户指南 中的 Systems Manager 先决条件

  6. 对于 Status,选择 Enabled

  7. 对于 Properties,复制并粘贴您的 JSON 内容。

  8. 填写剩余选填字段并选择 Run

使用以下过程查看 Amazon EC2 控制台中的命令执行结果。

在控制台中查看命令输出

  1. 选择一个命令。

  2. 选择 Output 选项卡。

  3. 选择 View Output。命令输出页面将显示命令执行的结果。

使用 Systems Manager State Manager

利用 State Manager,您可以管理运行中的 Windows 实例的配置。您可创建描述配置任务 (例如,将性能计数器发送到 CloudWatch 并将日志发送到 CloudWatch Logs) 的配置文档,然后将该配置文档与一个或多个运行中的 Windows 实例关联。实例上的 SSM 代理负责处理配置文档并按指定方式配置实例。

您可以使用 Systems Manager State Manager (以前称作 SSM Config) 配置与 CloudWatch 的集成。配置集成后,SSM 代理会将您在 JSON 文件中配置的所有日志发送到 CloudWatch。时间范围随信息的发送时间而变化。对于应用程序、系统、安全和事件跟踪 (Windows) 日志,系统会发送在启用集成的第一分钟内生成的所有信息。其中不包括在此时间之前产生的日志。如果您禁用日志记录并在以后再次启用日志记录,那么 State Manager 会从其上次停止时的位置继续发送日志。对于任何自定义日志文件和 Internet Information Services (IIS) 日志,State Manager 会从头读取日志文件。

如果以前使用 EC2Config 服务启用了 CloudWatch 集成,则 State Manager 设置将覆盖存储在实例上的 EC2Config 设置。默认情况下,这些设置存储在实例上的以下文件中:C:\Program Files\Amazon\Ec2ConfigService\Settings\AWS.EC2.Windows.CloudWatch.json

使用 State Manager 配置与 CloudWatch 的集成

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在导航窗格中,选择 Systems Manager ServicesState Manager

  3. 选择 Create an association

  4. 对于 Document,选择 AWS-ConfigureCloudWatch

  5. 对于 Document Version,选择 Default version at runtime

  6. 对于 Targets,选择要与 CloudWatch 集成的实例。如果您在此列表中未看到实例,则可能未针对 Run Command 配置实例。有关更多信息,请参阅 Amazon EC2 Systems Manager 用户指南 中的 Systems Manager 先决条件

  7. 对于 Schedule,选择您希望 Systems Manager 应用此策略的频率。这表示您希望 Systems Manager 以多大频率确保与 CloudWatch 集成仍然有效。这不影响 SSM 代理向 CloudWatch 发送数据的频率。

  8. 对于 ParametersStatus,选择 Enabled。对于 Properties,复制并粘贴您的 JSON 内容。

  9. (可选) 选择 AdvancedWrite to S3 将命令输出发送到 Amazon S3 存储桶。

    重要

    Amazon EC2 控制台将在 2500 个字符后截断输出。在执行命令之前使用 Systems Manager 配置一个 Amazon S3 存储桶,这样就可以查看存储桶内 2500 个字符以外的完整输出。有关更多信息,请参阅 Amazon Simple Storage Service 入门指南 中的创建存储桶

  10. 选择创建关联

  11. 选择您刚刚创建的关联,然后选择 Apply Association Now

使用本地配置文件

使用本地配置文件配置实例的过程取决于您使用的代理和代理版本。SSM 代理是唯一可与 Windows Server 2016 兼容的代理。对于 Windows Server 2008 到 Windows Server 2012 R2,您必须确定实例上正在运行的 EC2Config 版本。有关更多信息,请参阅 安装最新版的 EC2Config

使用 SSM 代理配置 CloudWatch

下面的过程介绍如何在 Amazon EC2 Windows Server 2016 实例上使用 SSM 代理配置 CloudWatch。

使用 SSM 代理配置 CloudWatch

  1. 将最新版本的 SSM 代理下载到您的实例上。有关更多信息,请参阅在 Windows 上安装 SSM 代理

  2. 打开 AWS.EC2.Windows.CloudWatch.json 文件,然后将 IsEnabled 更改为 true。这将指示代理在启动或重新启动后,立即开始向 CloudWatch 发送数据。

  3. 将同名文件保存在 Windows Server 2016 实例上的以下文件夹内:C:\Program Files\Amazon\SSM\Plugins\awsCloudWatch\

  4. 使用 Windows 服务控制面板或者通过在 PowerShell 中发送以下命令,来启动或重新启动 SSM 代理 (AmazonSSMAgent.exe):

    Copy
    PS C:\> Restart-Service AmazonSSMAgent

在重新启动 SSM 代理后,代理会检测本地配置文件并且为 CloudWatch 集成配置实例。如果您更改本地配置文件中的参数和设置,则必须重新启动 SSM 代理来使更改生效。如果希望在实例上禁用 CloudWatch 集成,请将 IsEnabled 更改为 false 并保存在配置文件中所做的更改。

使用 EC2Config 4.x 配置 CloudWatch

使用 EC2Config 4.x 配置 CloudWatch

  1. 将最新版本的 EC2Config 下载到您的实例上。有关更多信息,请参阅 安装最新版的 EC2Config

  2. (可选) 如果您有与 CloudWatch 集成的 EC2Config 3.x JSON 文件,请打开此文件并添加 IsEnabled 部分。这将指示代理在启动或重新启动后,立即开始向 CloudWatch 发送数据。

    IsEnabled 部分必须位于与 EngineConfiguration 部分相同的级别。以下示例对此进行了说明:

    {
        "IsEnabled": true,
        "EngineConfiguration": { 
        "PollInterval": "00:00:15",
        "Components": [ 
        {
           "Id":"OsCpuUtilization",
           "FullName":"AWS.EC2.Windows.CloudWatch.PerformanceCounterComponent.PerformanceCounterInputComponent,AWS.EC2.Windows.CloudWatch",
           "Parameters":{ 
               "CategoryName":"Process",
           ...          
    }
  3. 将同名文件保存在 Windows Server 2008 - 2012 R2 实例上的以下文件夹内:C:\Program Files\Amazon\SSM\Plugins\awsCloudWatch\

  4. 使用 Windows 服务控制面板或者使用以下 PowerShell 命令,来启动或重新启动 SSM 代理 (AmazonSSMAgent.exe):

    Copy
    PS C:\> Restart-Service AmazonSSMAgent

在重新启动 SSM 代理后,代理会检测本地配置文件并且为 CloudWatch 集成配置实例。如果您更改本地配置文件中的参数和设置,则必须重新启动 SSM 代理来使更改生效。如果希望在实例上禁用 CloudWatch 集成,请将 IsEnabled 更改为 false 并保存在配置文件中所做的更改。

使用 EC2Config 3.x 或更低版本配置 CloudWatch

如果您需要在实例上运行旧版本的 EC2Config 并继续与 CloudWatch 进行集成,请使用下面的过程。

使用 EC2Config 3.x 或更低版本配置 CloudWatch

  1. 连接到您的 Windows 实例。

  2. 开始菜单中,选择所有程序,然后选择 EC2ConfigService Settings

  3. Ec2 Service Properties 对话框的 General 选项卡的 CloudWatch Logs 下,选择 Enable CloudWatch Logs integration,然后选择 OK

  4. 如果您对文件 AWS.EC2.Windows.CloudWatch.json 进行了更改,则必须重启 EC2Config 服务。有关更多信息,请参阅 停止、重新启动、删除或卸载 C2Config

使用用户数据启用 CloudWatch Logs

您可通过在启动实例时将以下脚本添加到用户数据字段来启用 CloudWatch Logs。EC2Config 会在实例每次重新启动时运行此脚本,以确保启用 CloudWatch Logs 集成。要仅在实例首次启动时运行此脚本,请从脚本中删除 <persist>true</persist>。

Copy
<powershell> $EC2SettingsFile="C:\Program Files\Amazon\Ec2ConfigService\Settings\Config.xml" $xml = [xml](get-content $EC2SettingsFile) $xmlElement = $xml.get_DocumentElement() $xmlElementToModify = $xmlElement.Plugins foreach ($element in $xmlElementToModify.Plugin) { if ($element.name -eq "AWS.EC2.Windows.CloudWatch.PlugIn") { $element.State="Enabled" } } $xml.Save($EC2SettingsFile) </powershell> <persist>true</persist>