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

使用入门:在第一个实例上安装 CloudWatch 代理

要在运行的 Amazon EC2 实例上下载并安装 CloudWatch 代理,您可以使用 AWS Systems Manager 或命令行。对于这两种方法,您必须先创建一个 IAM 角色并将其附加到实例。

将 IAM 角色附加到实例

在 Amazon EC2 实例上安装 CloudWatch 代理时,需要使用实例配置文件的 IAM 角色。该角色允许 CloudWatch 代理在实例上执行操作。请使用以前创建的某个角色。有关创建这些角色的更多信息,请参阅创建 IAM 角色和用户以用于 CloudWatch 代理。您可以滚动查看列表以查找这些角色,或者使用搜索框。

如果要使用该实例创建 CloudWatch 代理配置文件并将其复制到 Systems Manager Parameter Store 中,请使用创建的具有写入到 Parameter Store 的权限的角色。该角色的名称可能是 CloudWatchAgentAdminPolicy

对于所有其他实例,请选择仅包含安装和运行该代理所需的权限的角色。该角色的名称可能是 CloudWatchAgentServerPolicy

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

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

您可以使用 Systems Manager Run Command或 Amazon S3 下载链接下载 CloudWatch 代理软件包。

使用 AWS 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

有关安装或更新 SSM Agent 的信息,请参阅 AWS Systems Manager 用户指南 中的安装和配置 SSM Agent

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

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

验证 Internet 访问权限

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

使用 Run Command下载 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配置该实例。有关更多信息,请参阅 Amazon EC2 用户指南(适用于 Windows 实例) 中的 Systems Manager 先决条件

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

  7. 名称字段中,键入 AmazonCloudWatchAgent

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

  9. 选择 Run

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

使用下载链接在 Amazon EC2 实例上下载 CloudWatch 代理软件包

您可以使用 Amazon S3 下载链接在 Amazon EC2 实例服务器上下载 CloudWatch 代理软件包。

使用命令行在 Amazon EC2 实例上安装 CloudWatch 代理

  1. 创建一个目录以下载并解压缩代理软件包。例如:tmp/AmazonCloudWatchAgent。然后转到该目录。

  2. 下载 CloudWatch 代理。对于 Linux 服务器,请键入以下命令:

    wget https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip

    对于运行 Windows Server 的服务器,请下载以下文件:

    https://s3.amazonaws.com/amazoncloudwatch-agent/windows/amd64/latest/AmazonCloudWatchAgent.zip
  3. 在下载该软件包后,您可以选择使用 GPG 签名文件验证软件包签名。有关更多信息,请参阅 验证 CloudWatch 代理软件包的签名

  4. 解压缩程序包。

    unzip AmazonCloudWatchAgent.zip
  5. 安装 软件包。在 Linux 服务器上,转到包含该软件包的目录并键入:

    sudo ./install.sh

    在运行 Windows Server 的服务器上,打开 PowerShell,转到包含解压缩的软件包的目录,然后使用 install.ps1 脚本安装该软件包。

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

您下载的 CloudWatch 代理软件包包含一个名为 common-config.toml 的配置文件。您可以使用该文件指定代理、凭证和区域信息。在运行 Linux 的服务器上,该文件位于 /opt/aws/amazon-cloudwatch-agent/etc 目录中。在运行 Windows Server 的服务器上,该文件位于 C:\ProgramData\Amazon\AmazonCloudWatchAgent 目录中。

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

在 Amazon EC2 实例上安装 CloudWatch 代理时,只有在您需要指定代理设置或该代理应该将指标发送到与实例不同的区域中的 CloudWatch 时,才需要修改该文件。

# 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}" ## 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 要让 CloudWatch 代理将指标发送到实例所在的同一区域中的 CloudWatch,并将具有正确权限的 IAM 角色附加到实例,则不需要修改该行,并且不需要使用 aws configure 命令为该代理创建命名配置文件。

    否则,您可以使用该行指定 CloudWatch 代理要在 AWS 凭证和 AWS 配置文件中使用的命名配置文件。如果这样做,CloudWatch 代理将使用该命名配置文件中的凭证和区域设置。

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

在修改 common-config.toml 后,如果需要为 CloudWatch 代理指定凭证和区域信息,请在 AWS 凭证和 AWS 配置文件中为 CloudWatch 代理创建一个命名配置文件。在创建该配置文件时,请以根用户或管理员身份执行该操作。下面是凭证文件中的该配置文件示例:

[AmazonCloudWatchAgent] aws_access_key_id=my_access_key aws_secret_access_key=my_secret_key

对于 my_access_keymy_secret_key,请使用没有写入到 Systems Manager Parameter Store 权限的 IAM 用户中的密钥。有关 CloudWatch 代理所需的 IAM 用户的更多信息,请参阅创建 IAM 用户以用于本地服务器上的 CloudWatch 代理

下面是配置文件中的该配置文件示例:

[AmazonCloudWatchAgent] region=us-west-1

下面是使用 aws configure 命令为 CloudWatch 代理创建命名配置文件的示例。该示例假设您使用默认配置文件名称 AmazonCloudWatchAgent

为 CloudWatch 代理创建 AmazonCloudWatchAgent 配置文件

  • 键入以下命令并按照提示进行操作:

    aws configure --profile AmazonCloudWatchAgent

在第一个实例上创建代理配置文件

在下载 CloudWatch 代理后,您必须先创建配置文件,然后再在任何服务器上启动该代理。有关更多信息,请参阅 创建 CloudWatch 代理配置文件

启动 CloudWatch 代理

要在创建代理配置文件的同一服务器上启动该代理,请执行以下步骤。要在其他服务器上使用该配置文件,请参阅 使用代理配置在其他实例上安装 CloudWatch 代理

使用 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. 可选的配置位置框中,键入您创建并保存到 Systems Manager Parameter Store 的代理配置文件的名称,如创建 CloudWatch 代理配置文件中所述。

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

  10. 选择 Run

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

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

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

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

  • 在 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 中保存配置文件,请键入以下命令:

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

    在运行 Windows Server 的服务器上,如果在本地计算机上保存配置文件,请键入以下命令:

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