在服务器上安装和运行 CloudWatch 代理 - Amazon CloudWatch

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在服务器上安装和运行 CloudWatch 代理

在您创建所需的代理配置文件并创建 IAM 角色或 IAM 用户后,使用该配置执行以下步骤在服务器上安装和运行代理。首先,将 IAM 角色或 IAM 用户附加到将要运行代理的服务器上。然后,在该服务器上,下载代理软件包并使用您创建的代理配置文件启动它。

使用 S3 下载链接下载 CloudWatchAgent 软件包

您需要在将要运行代理的每台服务器上安装代理。CloudWatch 代理程序可作为一个软件包在亚马逊 Linux 2 中使用。如果您使用此操作系统,则可以通过输入以下命令来安装软件包。您还必须确保附加到实例的 IAM 角色具有CloudWatchAgentServerPolicy已附加。有关更多信息,请参阅。在 Amazon EC2 实例上创建用于 CloudWatch 代理的 IAM 角色

sudo yum install amazon-cloudwatch-agent

在所有受支持的操作系统上,您可以使用带有 Amazon S3 下载链接的命令行下载和安装 CloudWatch 代理,如以下步骤所述。

对于每个下载链接,有一个常规链接以及每个区域的链接。例如,对于亚马逊 Linux 和亚马逊 Linux 2 以及 AMD64 架构,有下面三个有效的下载链接:

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

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

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

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

AMD64

Amazon Linux 和 Amazon Linux 2

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

https://s3。region.amazonaws.com/Amazon CloudWatch 代理region/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm

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

https://s3。region.amazonaws.com/Amazon CloudWatch 代理region/amazon_linux/amd64/最后/亚马逊云观看代理.rpm.sig

AMD64

Centos

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

https://s3。region.amazonaws.com/Amazon CloudWatch 代理region/centos/amd64/latest/amazon-cloudwatch-agent.rpm

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

https://s3。region.amazonaws.com/Amazon CloudWatch 代理region/分子/amd64/最后/亚马逊-云监察-代理 .rpm.sig

AMD64

Redhat

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

https://s3。region.amazonaws.com/Amazon CloudWatch 代理region/redhat/amd64/latest/amazon-cloudwatch-agent.rpm

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

https://s3。region.amazonaws.com/Amazon CloudWatch 代理region/红帽/amd64/最后/亚马逊云观看代理.rpm.sig

AMD64

SUSE

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

https://s3。region.amazonaws.com/Amazon CloudWatch 代理region/suse/amd64/latest/amazon-cloudwatch-agent.rpm

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

https://s3。region.amazonaws.com/Amazon CloudWatch 代理region/suse/amd64/最后/亚马逊云观看代理.rpm.sig

AMD64

Debian

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

https://s3。region.amazonaws.com/Amazon CloudWatch 代理region/debian/amd64/latest/amazon-cloudwatch-agent.deb

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

https://s3。region.amazonaws.com.com /amazonws.com.com.com.cnregion/debian /amd64/最后/亚马逊云观看代理.deb.sig

AMD64

Ubuntu

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

https://s3。region.amazonaws.com.com /amazonws.com.com.com.cnregion/ubuntu/amd64/latest/amazon-cloudwatch-agent.deb

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

https://s3。region.amazonaws.com.com /amazonws.com.com.com.cnregion/ubuntu/amd64/最后/亚马逊云观看代理.deb.sig

AMD64

Oracle

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

https://s3。region.amazonaws.com.com /amazonws.com.com.com.cnregion/oracle_linux/amd64/latest/amazon-cloudwatch-agent.rpm

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

https://s3。region.amazonaws.com.com /amazonws.com.com.com.cnregion/Oracle_linux/amd64/最后/亚马逊云观看代理.rpm.sig

AMD64

macOS

https://s3.amazonaws.com/amazoncloudwatch-agent/darwin/amd64/latest/amazon-cloudwatch-agent.pkg

https://s3。region.amazonaws.com.com /amazonws.com.com.com.cnregion/darwin/amd64/latest/amazon-cloudwatch-agent.pkg

https://s3.amazonaws.com/amazoncloudwatch-agent/darwin/amd64/latest/amazon-cloudwatch-agent.pkg.sig

https://s3。region.amazonaws.com.com /amazonws.com.com.com.cnregion/darwin/amd64/最后/最后/亚马逊-loudWatch 代理 .pkg.sig

AMD64

Windows

https://s3.amazonaws.com/amazoncloudwatch-agent/windows/amd64/latest/amazon-cloudwatch-agent.msi

https://s3。region.amazonaws.com.com /amazonws.com.com.com.cnregion/windows/amd64/latest/amazon-cloudwatch-agent.msi

https://s3.amazonaws.com/amazoncloudwatch-agent/windows/amd64/latest/amazon-cloudwatch-agent.msi.sig

https://s3。region.amazonaws.com.com /amazonws.com.com.com.cnregion/windows /amd64/最后/亚马逊-loudWatch 代理 .msi.sig

ARM64

Amazon Linux 2

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

https://s3。region.amazonaws.com.com /amazonws.com.com.com.cnregion/amazon_linux/arm64/latest/amazon-cloudwatch-agent.rpm

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

https://s3。region.amazonaws.com.com /amazonws.com.com.com.cnregion/amazon_linux/arm64/最后/亚马逊云观看代理.rpm.sig

ARM64

Redhat

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

https://s3。region.amazonaws.com.com /amazonws.com.com.com.cnregion/redhat/arm64/latest/amazon-cloudwatch-agent.rpm

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

https://s3。region.amazonaws.com.com /amazonws.com.com.com.cnregion/红帽/arm64/最后/亚马逊云观看代理.rpm.sig

ARM64

Ubuntu

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

https://s3。region.amazonaws.com.com /amazonws.com.com.com.cnregion/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb

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

https://s3。region.amazonaws.com.com /amazonws.com.com.com.cnregion/ubuntu/arm64/最后/亚马逊云观看代理.deb.sig

ARM64

SUSE

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

https://s3。region.amazonaws.com.com /amazonws.com.com.com.cnregion/suse/arm64/latest/amazon-cloudwatch-agent.rpm

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

https://s3。region.amazonaws.com.com /amazonws.com.com.com.cnregion苏塞/arm64/最后/亚马逊云观看代理.rpm.sig

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

  1. 下载 CloudWatch 代理。对于 Linux 服务器,请输入以下命令:对于 download-link中,请使用上表中的相应下载链接。

    wget download-link

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

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

  3. 安装 软件包。如果已在 Linux 服务器上下载 RPM 程序包,请更改为包含程序包的目录,并输入以下内容:

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

    如果已在 Linux 服务器上下载 DEB 程序包,请更改为包含程序包的目录,并输入以下内容:

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

    如果已运行在 Windows Server 的服务器上下载 MSI 程序包,请更改为包含程序包的目录,并输入以下内容:

    msiexec /i amazon-cloudwatch-agent.msi

    此命令还可在 PowerShell 中发挥作用。有关 MSI 命令选项的更多信息,请参阅 Microsoft Windows 文档中的命令行选项

(在 EC2 实例上安装)附加 IAM 角色

要使 CloudWatch 代理能够从实例发送数据,您必须将 IAM 角色附加到实例。要附加的角色是 CloudWatchAgentServerRole

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

(安装在本地服务器上)指定 IAM 凭证和 AWS 区域

要使 CloudWatch 代理能够从本地服务器发送数据,您必须指定先前创建的 IAM 用户的访问密钥和私有密钥。有关创建此用户的更多信息,请参阅创建用于 CloudWatch 代理的 IAM 角色和用户

您还必须指定要将指标发送到的 AWS 区域,使用region字段中[AmazonCloudWatchAgent]部分,如以下示例所示。

[profile AmazonCloudWatchAgent] region = us-west-1

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

为云 WatchAgent 创建 AmazonCloudWatchAgent 配置文件

  1. 如果尚未关联,请在服务器上安装 AWS 命令行界面。有关更多信息,请参阅 。安装 AWS CLI

  2. 在 Linux 服务器上,输入以下命令并按照提示进行操作:

    sudo aws configure --profile AmazonCloudWatchAgent

    在 Windows Server 上,以管理员身份打开 PowerShell,输入以下命令并按照提示进行操作。

    aws configure --profile AmazonCloudWatchAgent

验证 Internet 访问权限

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

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

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

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

  • 如果要使用 Systems Manager 安装代理或参数存储以存储配置文件,则必须将相应区域的 Systems Manager 终端节点加入白名单。这些终端节点在AWS Systems Manager中的Amazon Web Services

(可选)修改代理的通用配置或区域信息

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}"

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

  • shared_credential_profile— 对于本地服务器,此行指定用于将数据发送到 CloudWatch 的 IAM 用户凭证配置文件。如果您将此行注释掉,则会使用 AmazonCloudWatchAgent。有关创建此配置文件的更多信息,请参阅(安装在本地服务器上)指定 IAM 凭证和 AWS 区域

    在 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= "/usr/username/credentials"
    shared_credential_file= "C:\\Documents and Settings\\username\\.aws\\credentials"

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

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

使用命令行启动 CloudWatch 代理

可以执行以下步骤以使用命令行在服务器上启动 CloudWatch 代理。

使用命令行在服务器上启动 CloudWatchAgent

  1. 将要使用的代理配置文件复制到要运行代理的服务器。记下将其复制到的路径名。

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

    输入下列命令之一:Replace configuration-file-path 替换为指向代理配置文件的路径。此文件称为config.json如果您使用向导创建该文件,则该文件可能命名为amazon-cloudwatch-agent.json(如果您手动创建)。

    在运行 Linux 的 EC2 实例上,输入以下命令。

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

    在运行 Linux 的本地服务器上,输入以下内容:

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

    在运行 Windows Server 的 EC2 实例上,从 PowerShell 控制台中输入以下内容:

    & "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -s -c file:configuration-file-path

    在运行 Windows Server 的本地服务器上,从 PowerShell 控制台中输入以下内容:

    & "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m onPremise -s -c file:configuration-file-path