Amazon CloudWatch
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用代理配置在 EC2 实例上安装 CloudWatch 代理

在 Parameter Store 中保存 CloudWatch 代理配置后,您可以在其他服务器上安装该代理时使用该配置。

将 IAM 角色附加到实例

您必须将 IAM 角色附加到 EC2 实例才能在该实例上运行 CloudWatch 代理。该角色允许 CloudWatch 代理在实例上执行操作。使用以前创建的仅包含安装和运行该代理所需权限的角色。该角色可以称为 CloudWatchAgentServerPolicy

有关更多信息,请参阅 Amazon EC2 用户指南(适用于 Windows 实例) 中的将 IAM 角色附加到实例

在 Amazon EC2 实例上下载 CloudWatch 代理软件包

您可以使用 Systems Manager Run Command 或 Amazon S3 下载链接下载 CloudWatch 代理软件包。有关使用 Amazon S3 下载链接的信息,请参阅使用 S3 下载链接下载 CloudWatch 代理软件包

使用 Systems Manager 在 Amazon EC2 实例上下载 CloudWatch 代理

您必须确保为 Systems Manager 正确配置实例,然后才能使用 Systems Manager 安装 CloudWatch 代理。

安装或更新 SSM Agent

在 Amazon EC2 实例上,CloudWatch 代理要求实例运行 2.2.93.0 或更高版本。在安装 CloudWatch 代理之前,如果还没有在实例上更新或安装 SSM Agent,请执行该操作。

有关在运行 Linux 的实例上安装或更新 SSM Agent的信息,请参阅 AWS Systems Manager 用户指南 中的在 Linux 实例上安装和配置 SSM Agent

有关在运行 Windows Server 的实例上安装或更新 SSM Agent 的信息,请参阅 AWS Systems Manager 用户指南 中的在 Windows 实例上安装和配置 SSM 代理

(可选)验证 Systems Manager 先决条件

在使用 Systems Manager Run Command 安装和配置 CloudWatch 代理之前,请确认您的实例满足最低 Systems Manager 要求。有关更多信息,请参阅 AWS Systems Manager 用户指南 中的设置 AWS Systems Manager

验证 Internet 访问权限

您的 Amazon EC2 实例必须具有出站 Internet 访问权限,才能将数据发送到 CloudWatch 或 CloudWatch Logs。有关如何配置 Internet 访问权限的更多信息,请参阅 Amazon VPC 用户指南 中的 Internet 网关

下载 CloudWatch 代理软件包。

您可以使用 Systems Manager Run Command 管理实例的配置。您可以指定一个 Systems Manager 文档,指定一些参数,然后在一个或多个实例上执行命令。实例上的 SSM Agent处理命令,并按指定的方式配置实例。

使用 Run Command 下载 CloudWatch

  1. Open the Systems Manager console at https://console.amazonaws.cn/systems-manager/.

  2. In the navigation pane, choose Run Command.

    -or-

    If the AWS Systems Manager home page opens, scroll down and choose Explore Run Command.

  3. 选择运行命令

  4. 命令文档列表中,选择 AWS-ConfigureAWSPackage

  5. 目标区域,选择要在其中安装 CloudWatch 代理的实例。如果未看到特定的实例,则可能没有为 Run Command 配置该实例。有关更多信息,请参阅 AWS Systems Manager 用户指南 中的为混合环境设置 AWS Systems Manager

  6. 操作列表中,选择安装

  7. Name (名称) 框中,输入 AmazonCloudWatchAgent

  8. Version (版本) 设置为 latest (最新) 以安装最新版本的代理。

  9. 选择 Run

  10. (可选)在目标和输出区域中,选择实例名称旁边的按钮,然后选择查看输出。Systems Manager 将显示已成功安装该代理。

(可选)修改 CloudWatch 代理的通用配置和命名配置文件

CloudWatch 代理包含一个名为 common-config.toml 的配置文件。您可以(可选)使用该文件指定代理和区域信息。

在运行 Linux 的服务器上,该文件位于 /opt/aws/amazon-cloudwatch-agent/etc 目录中。在运行 Windows Server 的服务器上,该文件位于 C:\ProgramData\Amazon\AmazonCloudWatchAgent 目录中。

默认 common-config.toml 如下所示:

# This common-config is used to configure items used for both ssm and cloudwatch access ## Configuration for shared credential. ## Default credential strategy will be used if it is absent here: ## Instance role is used for EC2 case by default. ## AmazonCloudWatchAgent profile is used for onPremise case by default. # [credentials] # shared_credential_profile = "{profile_name}" # shared_credential_file= "{file_name}" ## Configuration for proxy. ## System-wide environment-variable will be read if it is absent here. ## i.e. HTTP_PROXY/http_proxy; HTTPS_PROXY/https_proxy; NO_PROXY/no_proxy ## Note: system-wide environment-variable is not accessible when using ssm run-command. ## Absent in both here and environment-variable means no proxy will be used. # [proxy] # http_proxy = "{http_url}" # https_proxy = "{https_url}" # no_proxy = "{domain}"

最初将注释所有行。要设置凭证配置文件或代理设置,请从该行中删除 # 并指定一个值。您可以手动编辑该文件,或者使用 Systems Manager 中的 RunShellScript Run Command 执行该操作。

  • shared_credential_profile – 对于本地服务器,此行指定 IAM 用户凭证配置文件,以用于将数据发送到 CloudWatch。如果您将此行注释掉,则会使用 AmazonCloudWatchAgent

    在 EC2 实例上,您可以使用此行让 CloudWatch 代理将数据从该实例发送到不同 AWS 区域中的 CloudWatch。要执行此操作,请指定一个包含 region 字段的命名配置文件,该字段指定要发送到的区域的名称。

    如果指定 shared_credential_profile,您还必须从 [credentials] 行开头删除 #

  • shared_credential_file – 要让代理在位于默认路径以外的路径中的文件中查找凭证,请在此处指定完整的路径和文件名。在 Linux 上,默认路径为 /root/.aws;在 Windows Server 上,默认路径为 C:\\Users\\Administrator\\.aws

    下面的第一个示例显示对 Linux 服务器有效的 shared_credential_file 行的语法,第二个示例对 Windows Server 有效。在 Windows Server 上,您必须转义 \ 字符。

    shared_credential_file= "C:\\Documents and Settings\\username\\.aws\\credentials"
    shared_credential_file= "/usr/username/credentials"

    如果指定 shared_credential_file,您还必须从 [credentials] 行开头删除 #

  • 代理设置 – 如果您的服务器使用 HTTP 或 HTTPS 代理联系 AWS 服务,请在 http_proxyhttps_proxy 字段中指定这些代理。如果应从代理中排除某些 URL,请在 no_proxy 字段中指定这些 URL 并以逗号分隔。

启动 CloudWatch 代理

您可以使用 Systems Manager Run Command 或命令行启动该代理。

使用 Systems Manager Run Command 启动 CloudWatch 代理

可以执行以下步骤以使用 Systems Manager Run Command 启动该代理。

使用 Run Command 启动 CloudWatch 代理

  1. Open the Systems Manager console at https://console.amazonaws.cn/systems-manager/.

  2. In the navigation pane, choose Run Command.

    -or-

    If the AWS Systems Manager home page opens, scroll down and choose Explore Run Command.

  3. 选择运行命令

  4. 命令文档列表中,选择 AmazonCloudWatch-ManageAgent

  5. 目标区域中,选择安装了 CloudWatch 代理的实例。

  6. 操作列表中,选择配置

  7. 可选的配置源列表中,选择 ssm

  8. Optional Configuration Location (可选的配置位置) 框中,输入您创建并保存到 Systems Manager Parameter Store 的代理配置文件的名称,如创建 CloudWatch 代理配置文件中所述。

  9. 在完成这些步骤后,在可选的重新启动列表中选择以启动该代理。

  10. 选择 Run

  11. (可选)在目标和输出区域中,选择实例名称旁边的按钮,然后选择查看输出。Systems Manager 将显示已成功启动该代理。

使用命令行在 Amazon EC2 实例上启动 CloudWatch 代理

可以执行以下步骤以使用命令行在 Amazon EC2 实例上安装 CloudWatch 代理。

使用命令行在 Amazon EC2 实例上启动 CloudWatch 代理

  • 此命令中,-a fetch-config 导致代理加载最新版本的 CloudWatch 代理配置文件,-s 启动该代理。

    Linux:如果在 Systems Manager Parameter Store 中保存配置文件,请输入以下命令:

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c ssm:configuration-parameter-store-name -s

    Linux:如果在本地计算机上保存配置文件,请输入以下命令:

    sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:configuration-file-path -s

    Windows Server:如果在 Systems Manager Parameter Store 中保存代理配置文件,请从 PowerShell 控制台中输入以下命令:

    ./amazon-cloudwatch-agent-ctl.ps1 -a fetch-config -m ec2 -c ssm:configuration-parameter-store-name -s

    Windows Server:如果在本地计算机上保存代理配置文件,请从 PowerShell 控制台中输入以下命令:

    ./amazon-cloudwatch-agent-ctl.ps1 -a fetch-config -m ec2 -c file:configuration-file-path -s