本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
示例:使用自定义 Amazon CloudWatch 指标
本主题提供了一个配置示例,该示例将基于亚马逊 Linux 2 及更高版本的平台的 Elastic Beanstalk 指标 CloudWatch 与亚马逊代理集成。配置示例使用 .ebextensions
配置文件中的文件和命令。
Amazon CloudWatch 是一项网络服务,可让您监控、管理和发布各种指标,并根据指标中的数据配置警报操作。您可以定义自定义指标供自己使用,Elastic Beanstalk 会将这些指标推送到亚马逊。 CloudWatch一旦亚马逊 CloudWatch 包含您的自定义指标,您就可以在亚马逊 CloudWatch 控制台中查看这些指标。
亚马逊 CloudWatch 代理
Amazon CloudWatch 代理支持跨操作系统从 Amazon EC2 实例和本地服务器收集 CloudWatch 指标和日志。代理支持在系统级别收集的指标。此外,它还支持从应用程序或服务中收集自定义日志和指标。有关亚马逊 CloudWatch 代理的更多信息,请参阅亚马逊 CloudWatch 用户指南中的通过 CloudWatch 代理收集指标和日志。
注意
Ela stic Beanstalk 增强型健康报告原生支持将各种实例和环境指标发布到。 CloudWatch有关详细信息,请参阅发布环境的 Amazon CloudWatch 自定义指标。
.Ebextensions 配置文件
此示例使用.ebextensions 配置文件中的文件和命令在 Amazon Linux 2 平台 CloudWatch 上配置和运行亚马逊代理。此代理预先包装在 Amazon Linux 2 中。如果您使用的是其他操作系统,则可能需要执行其他安装代理的步骤。有关更多信息,请参阅 Amazon CloudWatch 用户指南中的安装 CloudWatch 代理。
要使用该示例,请将其保存到名为 cloudwatch.config
的文件中,并将该文件放到项目目录顶层的 .ebextensions
目录中,然后使用 Elastic Beanstalk 控制台(在源包中包括 .ebextensions 目录)或 EB CLI 部署您的应用程序。
有关配置文件的详细信息,请参阅 使用配置文件 (.ebextensions) 进行高级环境自定义。
此文件有以下两个部分:
-
files
— 此部分添加代理配置文件。它指示代理应向 Amazon 发送哪些指标和日志 CloudWatch。在此示例中,我们只发送 mem_used_percent 指标。有关亚马逊 CloudWatch 代理支持的系统级指标的完整列表,请参阅亚马逊 CloudWatch 用户指南中的 CloudWatch 代理收集的指标。 -
container_commands
— 本部分包含启动代理的命令,并将配置文件作为参数传递。有关container_commands
的更多详细信息,请参阅 容器命令。
.ebextensions/cloudwatch.config
files:
"/opt/aws/amazon-cloudwatch-agent/bin/config.json":
mode: "000600"
owner: root
group: root
content: |
{
"agent": {
"metrics_collection_interval": 60,
"run_as_user": "root"
},
"metrics": {
"namespace": "System/Linux",
"append_dimensions": {
"AutoScalingGroupName": "${aws:AutoScalingGroupName}"
},
"metrics_collected": {
"mem": {
"measurement": [
"mem_used_percent"
]
}
}
}
}
container_commands:
start_cloudwatch_agent:
command: /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json
权限
您环境中的实例需要适当的 IAM 权限才能使用亚马逊 CloudWatch 代理发布自定义亚马逊 CloudWatch 指标。您可以将您的环境中的实例添加到此环境的实例配置文件中,从而向它们授予权限。您可以在部署应用程序前/后为此实例配置文件添加权限。
授予发布 CloudWatch 指标的权限
使用 https://console.aws.amazon.com/iam/
打开 IAM 控制台。 -
在导航窗格中,选择角色。
-
选择您的环境的实例配置文件角色。在使用 Elastic Beanstalk 控制台或 EB CLI 创建环境时,该角色默认为
aws-elasticbeanstalk-ec2-role
。 -
选择 Permissions(权限)选项卡。
-
在 Permissions Policies(权限策略)下,Permissions(权限)部分中,选择 Attach policies(附加策略)。
-
在 “附加权限” 下,选择 AWS 托管策略CloudWatchAgentServerPolicy。然后单击 Attach policy(附加策略)。
有关如何管理策略的更多信息,请参阅《IAM 用户指南》中的使用策略。
在 CloudWatch 控制台中查看指标
将 CloudWatch 配置文件部署到您的环境后,请查看 Amazon CloudWatch 控制台
有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的查看可用指标。