示例:使用自定义 Amazon CloudWatch 指标 - AWS Elastic Beanstalk

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

示例:使用自定义 Amazon CloudWatch 指标

本主题提供了一个配置示例,该示例将基于亚马逊 Linux 2 及更高版本的平台的 Elastic Beanstalk 指标 CloudWatch 与亚马逊代理集成。配置示例使用.ebextensions配置文件中的文件和命令。

Amazon CloudWatch 是一项网络服务,可让您监控、管理和发布各种指标,并根据指标中的数据配置警报操作。您可以定义自定义指标供自己使用,Elastic Beanstalk 会将这些指标推送到亚马逊。 CloudWatch一旦亚马逊 CloudWatch 包含您的自定义指标,您就可以在亚马逊 CloudWatch 控制台中查看这些指标。

重要

Amazon CloudWatch 监控脚本已被弃用。 CloudWatch 代理现在已经取代了用于收集指标和日志的 CloudWatch 监控脚本。

如果您仍在从已弃用的监控脚本迁移到代理,并且需要有关监控脚本的信息,请参阅 A mazon EC2 用户指南中的已弃用:使用 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中名为的文件中,然后使用 Elastic Beanstalk 控制台(.ebextensions在源包中包括.ebextensions 目录)或 EB 部署应用程序。CLI

有关配置文件的详细信息,请参阅 使用配置文件 (.ebextensions) 进行高级环境自定义

.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

此文件有以下两个部分:

  • files — 此部分添加代理配置文件。它指示代理应向 Amazon 发送哪些指标和日志 CloudWatch。在此示例中,我们只发送 mem_used_percent 指标。有关亚马逊 CloudWatch 代理支持的系统级指标的完整列表,请参阅《亚马逊 CloudWatch 用户指南》中 CloudWatch 代理收集的指标

  • container_commands — 本部分包含启动代理的命令,并将配置文件作为参数传递。有关 container_commands 的更多详细信息,请参阅 容器命令

权限

您的环境中的实例需要适当的IAM权限才能使用亚马逊 CloudWatch 代理发布自定义亚马逊 CloudWatch 指标。您可以将您的环境中的实例添加到此环境的实例配置文件中,从而向它们授予权限。您可以在部署应用程序前/后为此实例配置文件添加权限。

授予发布 CloudWatch 指标的权限
  1. 打开IAM控制台,网址为https://console.aws.amazon.com/iam/

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

  3. 选择您的环境的实例配置文件角色。默认情况下,当您使用 Elastic Beanstalk 控制台CLI或 EB 创建环境时,就是这样。aws-elasticbeanstalk-ec2-role

  4. 选择权限选项卡。

  5. Permissions Policies(权限策略)下,Permissions(权限)部分中,选择 Attach policies(附加策略)。

  6. 在 “附加权限” 下,选择 AWS 托管策略CloudWatchAgentServerPolicy。然后单击 Attach policy(附加策略)。

有关管理策略的更多信息,请参阅《IAM用户指南》中的使用策略

在 CloudWatch 控制台中查看指标

将 CloudWatch 配置文件部署到您的环境后,请查看 Amazon CloudWatch 控制台以查看您的指标。自定义指标将位于CWAgent命名空间中。

有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的查看可用指标