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

使用代理配置在其他服务器上安装 CloudWatch 代理

在本地服务器上下载 CloudWatch 代理

要下载 CloudWatch 代理,您可以使用 AWS Systems Manager 或命令行。

要使用 Systems Manager Run Command,您必须在 Amazon EC2 Systems Manager 中注册本地服务器。有关更多信息,请参阅 AWS Systems Manager 用户指南 中的在混合环境中设置 Systems Manager

如果已注册您的服务器,请将 SSM Agent 更新为最新版本。

有关在运行 Linux 的服务器上更新 SSM Agent 的信息,请参阅 AWS Systems Manager 用户指南 中的在 Linux 混合环境中的服务器和虚拟机上安装 SSM Agent

有关在运行 Windows Server 的服务器上更新 SSM Agent 的信息,请参阅 AWS Systems Manager 用户指南 中的在 Windows 混合环境中的服务器和虚拟机上安装 SSM Agent

使用 SSM Agent 在本地服务器上下载 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

    将下载代理软件包,后续步骤是配置并启动该代理。

使用命令行在本地服务器上下载 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 如下所示:

# 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 您可以在 AWS 凭证和 AWS 配置文件中为 CloudWatch 代理要查找的命名配置文件指定一个名称。如果未在此处指定名称,CloudWatch 代理将查找默认配置文件名称 AmazonCloudWatchAgent

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

修改 common-config.toml 后,您应该确保指定的配置文件名称或默认配置文件名称 AmazonCloudWatchAgent 在根用户的 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

凭证文件中的命名配置文件包含用于 CloudWatch 代理的凭证。这些凭证用于提供将指标数据写入到 CloudWatch 的权限,以及提供在 CloudWatch 代理安装期间从 Systems Manager Parameter Store 下载信息的权限。您可以为 CloudWatch 代理创建 IAM 用户以获取用于本节的凭证,如本节前面所述。

在本地服务器上运行 CloudWatch 代理时,配置文件中的命名配置文件指定将 CloudWatch 指标发布到的区域。在使用 aws configure 命令修改该配置文件时,请以根用户或管理员身份执行该操作。

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

为 CloudWatch 代理创建 AmazonCloudWatchAgent 配置文件

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

    aws configure --profile AmazonCloudWatchAgent

启动 CloudWatch 代理

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

使用 SSM Agent 在本地服务器上启动 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. 目标区域,选择安装了该代理的实例。

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

  7. 模式列表中,选择 onPremise

  8. 可选的配置位置框中,键入您使用向导创建并存储在 Parameter Store 中的代理配置文件的名称。

  9. 选择 Run

    该代理使用在配置文件中指定的配置启动。

使用命令行在本地服务器上启动 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 onPremise -c ssm:configuration-parameter-store-name -s

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

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

    Windows Server:如果在 Systems Manager Parameter Store 中保存代理配置文件,使用以下命令。从 PowerShell 控制台中,键入下面的命令:

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

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

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