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 的权限的角色。该角色的名称可能是 CloudWatchAgentAdminRole

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

将该角色附加到安装 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 网关

要在您的代理上配置的终端节点和端口如下所示:

  • 如果要使用代理收集指标,则必须将相应区域的 CloudWatch 终端节点列入白名单。这些终端节点在 Amazon Web Services 一般参考 中的 Amazon CloudWatch 内列出。

  • 如果要使用代理收集日志,则必须将相应区域的 CloudWatch Logs 终端节点列入白名单。这些终端节点在 Amazon Web Services 一般参考 中的 Amazon CloudWatch Logs 内列出。

  • 如果要使用 SSM 安装代理或 Parameter Store 来存储配置文件,则必须将相应区域的 SSM 终端节点加入白名单。这些终端节点在 Amazon Web Services 一般参考 中的 AWSSystems Manager 内列出。

下载 CloudWatch 代理软件包。

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

使用 Systems Manager 下载 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 将显示已成功安装该代理。

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

您可以使用 Amazon S3 下载链接在 Amazon EC2 实例服务器上下载 CloudWatch 代理软件包。根据您的架构和平台,从该表中选择下载链接。

架构 平台 下载链接 签名文件链接

amd64

Amazon Linux 和 Amazon Linux 2

https://s3.amazonaws.com/amazoncloudwatch-agent/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm

https://s3.amazonaws.com/amazoncloudwatch-agent/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm.sig

amd64

Centos

https://s3.amazonaws.com/amazoncloudwatch-agent/centos/amd64/latest/amazon-cloudwatch-agent.rpm

https://s3.amazonaws.com/amazoncloudwatch-agent/centos/amd64/latest/amazon-cloudwatch-agent.rpm.sig

amd64

Redhat

https://s3.amazonaws.com/amazoncloudwatch-agent/redhat/amd64/latest/amazon-cloudwatch-agent.rpm

https://s3.amazonaws.com/amazoncloudwatch-agent/redhat/amd64/latest/amazon-cloudwatch-agent.rpm.sig

amd64

SUSE

https://s3.amazonaws.com/amazoncloudwatch-agent/suse/amd64/latest/amazon-cloudwatch-agent.rpm

https://s3.amazonaws.com/amazoncloudwatch-agent/suse/amd64/latest/amazon-cloudwatch-agent.rpm.sig

amd64

Debian

https://s3.amazonaws.com/amazoncloudwatch-agent/debian/amd64/latest/amazon-cloudwatch-agent.deb

https://s3.amazonaws.com/amazoncloudwatch-agent/debian/amd64/latest/amazon-cloudwatch-agent.deb.sig

amd64

Ubuntu

https://s3.amazonaws.com/amazoncloudwatch-agent/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb

https://s3.amazonaws.com/amazoncloudwatch-agent/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb.sig

amd64

Windows

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

https://s3.amazonaws.com/amazoncloudwatch-agent/windows/amd64/latest/AmazonCloudWatchAgent.zip.sig

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

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

  2. 下载 CloudWatch 代理。使用上表中的下载链接。对于 Linux 服务器,请键入以下命令:

    wget download-link

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

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

  4. 如果您下载了 .zip 软件包,请解压缩程序包。

    unzip AmazonCloudWatchAgent.zip
  5. 安装软件包。如果已在 Linux 服务器上下载 RPM 程序包,请更改为包含程序包和类型的目录:

    rpm -U ./amazon-cloudwatch-agent.rpm

    如果已在 Linux 服务器下载 DEB 程序包,请更改为包含程序包和类型的目录:

    dpkg -i -E ./amazon-cloudwatch-agent.deb

    在运行 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}" # 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 执行该操作。

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

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

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

  • shared_credential_file 如果不想使用默认路径,请使用此行指定包含要使用的凭据的文件的路径。

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

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

[AmazonCloudWatchAgent] region=us-west-1

要能够将 CloudWatch 数据发送到其他区域,请确保您附加到此实例的 IAM 角色有权写入该区域中的 CloudWatch 数据。

下面是使用 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 代理

  • 此命令中,-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