Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
如何安装和配置统一的 CloudWatch 代理,以将指标和日志从 EC2 实例发送到 CloudWatch?
我想使用统一的 Amazon CloudWatch 代理将指标和日志从 Amazon Elastic Compute Cloud (Amazon EC2) 实例发送到 CloudWatch。
解决方法
在开始之前,请在 EC2 实例中建立互联网连接。EC2 实例必须具有互联网连接才能连接到所需的端点。
创建一个 IAM 角色,以在 EC2 实例上运行 CloudWatch 代理
完成以下步骤:
- 打开 AWS Identify and Access Management (IAM) 控制台。
- 在导航窗格中,选择 Roles(角色)。
- 选择 Create role(创建角色)。
- 对于 Choose the service that will use this role(选择将使用此角色的服务),选择 EC2。
- 选择 Next: Permissions(下一步:权限)。
- 在策略列表中,选择 CloudWatchAgentServerPolicy。
- 选择 Next: 标签,然后选择下一步: Review(下一步:查看)。
- 在 Role name(角色名称)中,输入角色的名称,例如 CloudWatchAgentServerRole。
- (可选)提供角色描述。
- 确认 CloudWatchAgentServerPolicy 显示在 Policies(策略)旁边。
- 选择 Create role(创建角色)。
- 将新的 IAM 角色附加到 EC2 实例。
下载并安装统一的 CloudWatch 代理
Linux EC2 实例
完成以下步骤:
-
要下载 CloudWatch 代理,请在终端中运行以下命令:
wget https://s3.region.amazonaws.com/amazoncloudwatch-agent-region/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
**注意:**在前面的命令中,请将 region 替换为您的 AWS 区域。
-
要安装 CloudWatch 代理,请在终端中运行以下命令:
sudo rpm -U ./amazon-cloudwatch-agent.rpm
Windows EC2 实例
在 Windows PowerShell 中,以管理员身份完成以下步骤:
-
导航到要下载安装程序的文件夹:
cd "path"
**注意:**在前面的命令中,请将 path 替换为要下载安装程序的文件夹的路径。
-
要下载 CloudWatch 代理,请运行以下命令:
Invoke-WebRequest -Uri https://s3.region.amazonaws.com/amazoncloudwatch-agent-region/windows/amd64/latest/amazon-cloudwatch-agent.msi -outFile amazon-cloudwatch-agent.msi
**注意:**在前面的命令中,请将 region 替换为您的区域。
如果您的 TLS 版本早于版本 1.2,则您在运行前面的 Invoke-WebRequest 命令时会收到以下错误:
“Invoke-WebRequest: 请求已中止: 无法创建 SSL/TLS 安全通道”
要配置您的 TLS 版本,请运行以下命令,然后再次运行前面的 Invoke-WeRequest 命令:
[Net.ServicePointManager]::SecurityProtocol = "Tls, Tls11, Tls12, Ssl3"
-
要启动代理安装程序,请运行以下命令:
msiexec /i amazon-cloudwatch-agent.msi
创建代理配置文件
要创建代理配置文件,请使用向导。然后,手动编辑该文件以添加或删除指标或日志。
Linux EC2 实例
运行以下命令:
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
Windows EC2 实例
在 Windows PowerShell 中,以管理员身份运行以下命令:
cd "C:\Program Files\Amazon\AmazonCloudWatchAgent" .\amazon-cloudwatch-agent-config-wizard.exe
默认情况下,向导会创建路径为 C:\Program Files\Amazon\AmazonCloudWatchAgent\config.json 的代理配置文件。
启动 CloudWatch 代理
Linux EC2 实例
运行以下命令:
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 EC2 实例
在 Windows PowerShell 中,以管理员身份运行以下命令:
& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -c file:configuration-file-path -s
**注意:**在前面的命令中,请将 configuration-file-path 替换为您的配置的路径。
默认情况下,代理会将指标发送到 NameSpace CWAgent。
验证代理状态
代理需要一些时间来填充您在 CloudWatch 中配置的指标。要在代理填充指标之前验证代理是否正在运行,请运行以下命令。
Linux EC2 实例:
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -m ec2 -a status
Windows EC2 实例:
& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -m ec2 -a status
代理配置文件向导使用提示
使用代理配置文件向导时,请使用以下提示来帮助您回答问题。
**是否要启用 StatsD 进程守护程序?以及是否要监控 CollectD 的指标?**如果您的 EC2 实例上安装了 StatsD 和 CollectD 插件,请对于这些问题选择 Yes(是)。
**您想要哪种默认指标配置?**有关默认配置的详细信息,请参阅 CloudWatch 代理预定义指标集。然后,选择最适合您的使用案例的选项。
是否要导入现有 CloudWatch Logs 代理配置文件以进行迁移?如果您安装了 awslogs 代理,且其正在运行,请选择 Yes(是)。如果您选择 Yes(是),则向导会读取 awslogs 代理配置文件(/etc/awslogs/awslogs.conf 或 /var/awslogs/etc/awslogs.conf),以确定您必须监控的日志文件。
**是否想要将配置存储在 Parameter Store(AWS Systems Manager 的一项功能)中?**若要将代理配置文件存储在 Parameter Store 中,以便以后重复使用该文件,请选择 Yes(是)。在将代理配置文件存储在 Parameter Store 中时,用于启动代理的命令会有所不同。
配置向导后,代理配置文件默认存储在 /opt/aws/amazon-cloudwatch-agent/bin/config.json 中。要添加或删除指标或日志,您可以手动编辑该文件。
有关自定义配置文件示例,请参阅 CloudWatch agent configuration file: Complete examples。
**注意:**修改代理配置文件后,使用 fetch-config 命令启动代理,确保代理反映所做的更改。
启动和停止 CloudWatch 代理
有关详细信息,请参阅停止和重新启动 CloudWatch 代理。
