如何安装和配置统一的 CloudWatch 代理,以便将指标和日志从 EC2 实例推送到 CloudWatch?

2 分钟阅读
0

我想使用统一的 Amazon CloudWatch 代理,将指标和日志从 Amazon Elastic Compute Cloud(Amazon EC2)实例推送到 Amazon CloudWatch。

解决方案

**注意:**在开始之前,请在 EC2 实例中建立互联网连接。EC2 实例必须具有互联网连接才能连接到所需的端点。

创建一个 IAM 角色,以在 EC2 实例上运行 CloudWatch 代理

1.    打开 AWS Identity and Access Management(IAM)控制台

2.    在导航窗格中,选择角色

3.    选择创建角色

4.    对于选择将使用此角色的服务,请选择 EC2

5.    选择下一步: 权限

6.    在策略列表中,选中 CloudWatchAgentServerPolicy 复选框。

7.    选择下一步: 标签,然后选择下一步: 审核

8.    对于角色名称,输入角色的名称,例如 CloudWatchAgentServerRole

9.    (可选)提供角色描述。

10.    确认 CloudWatchAgentServerPolicy 出现在策略旁边。

11.    选择创建角色

12.    将新的 IAM 角色附加到 EC2 实例。

在 EC2 实例上下载并安装统一的 CloudWatch 代理

Amazon Linux、Amazon Linux 2 和 Amazon Linux 2023

1.    要下载 CloudWatch 代理,请运行下列命令:

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

在前面的命令中,将 region 替换为您的 AWS 区域。

2.    要安装 CloudWatch 代理,请运行下列命令:

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

Windows

1.    要下载 CloudWatch 代理,请运行下列命令:

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

在前面的命令中,将 region 替换为您的 AWS 区域。

2.    移至包含软件包的目录,然后输入下列命令:

msiexec /i amazon-cloudwatch-agent.msi

创建代理配置文件

**注意:**为了简单起见,请使用向导创建代理配置文件。然后,手动编辑该文件,以添加或删除指标或日志。有关更多信息,请参阅以下章节 Tips for completing the agent configuration file wizard

Amazon Linux、Amazon Linux 2 和 Amazon Linux 2023

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard

Windows

cd "C:\Program Files\Amazon\AmazonCloudWatchAgent"
amazon-cloudwatch-agent-config-wizard.exe

默认情况下,向导在以下位置创建代理配置文件: C:\Program Files\Amazon\AmazonCloudWatchAgent\config.json

启动 CloudWatch 代理

Amazon Linux、Amazon Linux 2 和 Amazon Linux 2023

要启动 CloudWatch 代理,请运行下列命令:

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

**注意:**在前面的示例中,将 configuration-file-path 替换为配置文件路径。

Windows

以管理员身份在 PowerShell 中输入下列命令:

& $Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1 -a fetch-config -m ec2 -c file:configuration-file-path -s

**注意:**在前面的示例中,将 configuration-file-path 替换为配置文件路径。

命令示例:

& $Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1 -a fetch-config -m ec2 -c file:'C:\Program Files\Amazon\AmazonCloudWatchAgent\config.json' -s

指标和日志现已推送到 CloudWatch。默认情况下,代理会将指标推送到 NameSpace CWAgent

配置代理配置文件向导的提示

  • 您是否想启用 StatsD 进程守护程序?以及是否要监控 CollectD 的指标?如果 EC2 实例上安装了 StatsDCollectD 插件,请为这些问题选择
  • **您想要哪种默认指标配置?**有关详细配置的更多信息,请参阅 CloudWatch agent predefined metric sets。然后,选择最适合您的使用案例的选项。
  • 是否要导入现有 CloudWatch Logs 代理配置文件以进行迁移?如果 awslogs 代理已安装并正在运行,则选择。如果选择,则向导会读取 awslogs 代理配置文件(/etc/awslogs/awslogs.conf/var/awslogs/etc/awslogs.conf),以确定要监控的日志文件。
  • 是否想要将配置存储在 Parameter Store(AWS Systems Manager 的一个功能)中?如果要将此代理配置文件存储在 Parameter Store 中以便日后重复使用,请选择
    **重要事项:**在将代理配置文件存储在 Parameter Store 中时,用于启动代理的命令会有所不同。
  • 完成向导后,代理配置文件默认存储在 /opt/aws/amazon-cloudwatch-agent/bin/config.json 中。可以手动编辑此文件来添加或删除指标或日志。

有关自定义配置文件示例,请参阅 CloudWatch agent configuration file: Complete examples

**注意:**修改代理配置文件后,使用 fetch-config 命令启动代理,确保代理反映所做的更改。

启动和停止 CloudWatch 代理

有关更多信息,请参阅 Stopping and restarting the CloudWatch Agent

AWS 官方
AWS 官方已更新 9 个月前