选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

为环境发布 Amazon CloudWatch 自定义指标

聚焦模式
为环境发布 Amazon CloudWatch 自定义指标 - AWS Elastic Beanstalk

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

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

您可以将通过 AWS Elastic Beanstalk 增强型运行状况报告收集的数据 CloudWatch 作为自定义指标发布到 Amazon。发布指标 CloudWatch 可让您监控应用程序性能随时间推移而发生的变化,并通过跟踪资源使用情况和请求延迟随负载的变化情况来识别潜在问题。

通过将指标发布到 CloudWatch,您还可以将其与监控图表警报一起使用。当您使用增强型运行状况报告时 EnvironmentHealth,会自动启用一个免费指标。除标准CloudWatch 费用以外的自定义指标EnvironmentHealth均会产生费用

要发布环境的 CloudWatch 自定义指标,必须先启用该环境的增强型运行状况报告。有关说明,请参阅启用 Elastic Beanstalk 增强型运行状况报告

增强型运行状况报告指标

当您在环境中启用增强型运行状况报告时,增强型运行状况报告系统会自动发布一个CloudWatch 自定义指标EnvironmentHealth要向发布其他指标 CloudWatch,请使用 Elastic Bean stalk 控制台、EB CLI 或.ebexten sions 使用这些指标配置您的环境。

您可以将以下增强型运行状况指标从您的环境发布到 CloudWatch。

可用指标 – 所有平台
EnvironmentHealth

仅环境。除非您配置其他 CloudWatch 指标,否则这是增强型运行状况报告系统发布的唯一指标。环境运行状况由七种状态之一表示。在 CloudWatch 控制台中,这些状态映射到以下值:

  • 0 - 正常

  • 1 - 信息

  • 5 - 未知

  • 10 - 无数据

  • 15 - 警告

  • 20 - 已降级

  • 25 - 严重

InstancesSevere
InstancesDegraded
InstancesWarning
InstancesInfo
InstancesOk
InstancesPending
InstancesUnknown
InstancesNoData

仅环境。些指标表示环境中处于每种运行状况的实例的数量。InstancesNoData 表示未在为其接收数据的实例的数量。

ApplicationRequestsTotal
ApplicationRequests5xx
ApplicationRequests4xx
ApplicationRequests3xx
ApplicationRequests2xx

实例和环境。表示实例或环境完成的请求的总数量以及每种状态代码类别的请求的数量。

ApplicationLatencyP10
ApplicationLatencyP50
ApplicationLatencyP75
ApplicationLatencyP85
ApplicationLatencyP90
ApplicationLatencyP95
ApplicationLatencyP99
ApplicationLatencyP99.9

实例和环境。表示完成最快的 x% 的请求所耗费的平均时间量(以秒为单位)。

InstanceHealth

仅实例。表示实例的当前运行状况状态。实例运行状况由七种状态之一表示。在 CloudWatch 控制台中,这些状态映射到以下值:

  • 0 - 正常

  • 1 - 信息

  • 5 - 未知

  • 10 - 无数据

  • 15 - 警告

  • 20 - 已降级

  • 25 - 严重

可用指标 - Linux
CPUIrq
CPUIdle
CPUUser
CPUSystem
CPUSoftirq
CPUIowait
CPUNice

仅实例。表示前一分钟 CPU 在每种状态下耗费时间的百分比。

LoadAverage1min

仅实例。前一分钟实例的平均 CPU 负载。

RootFilesystemUtil

仅实例。表示正在使用的磁盘空间的百分比。

可用指标 - Windows
CPUIdle
CPUUser
CPUPrivileged

仅实例。表示前一分钟 CPU 在每种状态下耗费时间的百分比。

使用 Elastic Beanstalk 控制台配置 CloudWatch 指标

您可以使用 Elastic Beanstalk 控制台配置您的环境,以便向其发布增强型运行状况报告 CloudWatch 指标,并使其可用于监控图表和警报。

在 Elastic Beanstalk 控制台中配置 CloudWatch 自定义指标
  1. 打开 Elastic Beanstalk 控制台,然后在 “区域” 列表中,选择您的。 AWS 区域

  2. 在导航窗格中,选择 Environments(环境),然后从列表中选择环境的名称。

    注意

    如果您有多个环境,请使用搜索栏筛选环境列表。

  3. 在导航窗格中,选择 Configuration(配置)。

  4. Monitoring (监控) 配置类别中,选择 Edit (编辑)

  5. 运行状况报告下,选择要发布到 CloudWatch 的实例和环境指标。要选择多个指标,请在选择时按住 Ctrl 键。

  6. 要保存更改,请选择页面底部的 Apply(应用)。

启用 CloudWatch 自定义指标会将其添加到 “监控” 页面上的可用指标列表中。

使用 EB CLI 配置 CloudWatch 自定义指标

您可以通过以下方法使用 EB CLI 配置自定义指标:在本地保存您的环境的配置,添加用于定义要发布的指标的条目,然后将该配置上传到 Elastic Beanstalk。您可以在环境创建期间或创建后将保存的配置应用于环境。

使用 EB CLI 和保存的配置配置 CloudWatch 自定义指标
  1. 使用 eb init 初始化您的项目文件夹。

  2. 通过运行 eb create 命令创建环境。

  3. 通过运行 eb config save 命令在本地保存配置模板。以下示例使用 --cfg 选项指定配置的名称。

    $ eb config save --cfg 01-base-state Configuration saved at: ~/project/.elasticbeanstalk/saved_configs/01-base-state.cfg.yml
  4. 在文本编辑器中打开保存的配置文件。

  5. OptionSettings > 下aws:elasticbeanstalk:healthreporting:system:,添加一个ConfigDocument密钥以启用您想要的每个 CloudWatch 指标。例如,以下 ConfigDocument 将在环境级别发布 ApplicationRequests5xxApplicationRequests4xx 指标,并在实例级别发布 ApplicationRequestsTotal 指标。

    OptionSettings: ... aws:elasticbeanstalk:healthreporting:system: ConfigDocument: CloudWatchMetrics: Environment: ApplicationRequests5xx: 60 ApplicationRequests4xx: 60 Instance: ApplicationRequestsTotal: 60 Version: 1 SystemType: enhanced ...

    在示例中,60 表示指标度量之间的秒数。目前,这是唯一支持的值。

    注意

    您可在同一个 ConfigDocument 选项设置中结合 CloudWatchMetricsRules为环境配置增强型运行状况规则中介绍了 Rules

    如果您以前使用 Rules 配置增强型运行状况规则,则您使用 eb config save 命令检索的配置文件在 ConfigDocument 部分中已经具有 Rules 键。请勿删除它 - 将 CloudWatchMetrics 部分添加到相同的 ConfigDocument 选项值中。

  6. 保存配置文件,关闭文本编辑器。在此示例中,更新的配置文件使用与下载的配置文件不同的名称 (02-cloudwatch-enabled.cfg.yml) 保存。这将在上传文件时创建一个单独保存的配置。您可以使用与下载的文件相同的名称覆盖现有配置而无需创建新名称。

  7. 使用 eb config put 命令将更新的配置文件上传到 Elastic Beanstalk。

    $ eb config put 02-cloudwatch-enabled

    当将 eb config getput 命令用于保存的配置时,请勿包含文件扩展名。

  8. 将保存的配置应用于正在运行的环境。

    $ eb config --cfg 02-cloudwatch-enabled

    --cfg 选项指定一个应用于环境的命名配置文件。可以在本地或在 Elastic Beanstalk 中保存配置文件。如果两个位置中都存在带有指定名称的配置文件,则 EB CLI 将使用本地文件。

提供自定义指标配置文件

Amazon CloudWatch 自定义指标的配置(配置)文档是一个 JSON 文档,其中列出了要在环境和实例级别发布的指标。以下示例显示了一个在 Linux 上启用所有可用自定义指标的配置文件。

{ "CloudWatchMetrics": { "Environment": { "ApplicationLatencyP99.9": 60, "InstancesSevere": 60, "ApplicationLatencyP90": 60, "ApplicationLatencyP99": 60, "ApplicationLatencyP95": 60, "InstancesUnknown": 60, "ApplicationLatencyP85": 60, "InstancesInfo": 60, "ApplicationRequests2xx": 60, "InstancesDegraded": 60, "InstancesWarning": 60, "ApplicationLatencyP50": 60, "ApplicationRequestsTotal": 60, "InstancesNoData": 60, "InstancesPending": 60, "ApplicationLatencyP10": 60, "ApplicationRequests5xx": 60, "ApplicationLatencyP75": 60, "InstancesOk": 60, "ApplicationRequests3xx": 60, "ApplicationRequests4xx": 60 }, "Instance": { "ApplicationLatencyP99.9": 60, "ApplicationLatencyP90": 60, "ApplicationLatencyP99": 60, "ApplicationLatencyP95": 60, "ApplicationLatencyP85": 60, "CPUUser": 60, "ApplicationRequests2xx": 60, "CPUIdle": 60, "ApplicationLatencyP50": 60, "ApplicationRequestsTotal": 60, "RootFilesystemUtil": 60, "LoadAverage1min": 60, "CPUIrq": 60, "CPUNice": 60, "CPUIowait": 60, "ApplicationLatencyP10": 60, "LoadAverage5min": 60, "ApplicationRequests5xx": 60, "ApplicationLatencyP75": 60, "CPUSystem": 60, "ApplicationRequests3xx": 60, "ApplicationRequests4xx": 60, "InstanceHealth": 60, "CPUSoftirq": 60 } }, "Version": 1 }

对于 AWS CLI,您可以将文档作为选项设置参数中的Value键值传递,该参数本身就是一个 JSON 对象。在这种情况下,您必须对所嵌入文档中的引号进行转义。

$ aws elasticbeanstalk validate-configuration-settings --application-name my-app --environment-name my-env --option-settings '[ { "Namespace": "aws:elasticbeanstalk:healthreporting:system", "OptionName": "ConfigDocument", "Value": "{\"CloudWatchMetrics\": {\"Environment\": {\"ApplicationLatencyP99.9\": 60,\"InstancesSevere\": 60,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": 60,\"ApplicationLatencyP95\": 60,\"InstancesUnknown\": 60,\"ApplicationLatencyP85\": 60,\"InstancesInfo\": 60,\"ApplicationRequests2xx\": 60,\"InstancesDegraded\": 60,\"InstancesWarning\": 60,\"ApplicationLatencyP50\": 60,\"ApplicationRequestsTotal\": 60,\"InstancesNoData\": 60,\"InstancesPending\": 60,\"ApplicationLatencyP10\": 60,\"ApplicationRequests5xx\": 60,\"ApplicationLatencyP75\": 60,\"InstancesOk\": 60,\"ApplicationRequests3xx\": 60,\"ApplicationRequests4xx\": 60},\"Instance\": {\"ApplicationLatencyP99.9\": 60,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": 60,\"ApplicationLatencyP95\": 60,\"ApplicationLatencyP85\": 60,\"CPUUser\": 60,\"ApplicationRequests2xx\": 60,\"CPUIdle\": 60,\"ApplicationLatencyP50\": 60,\"ApplicationRequestsTotal\": 60,\"RootFilesystemUtil\": 60,\"LoadAverage1min\": 60,\"CPUIrq\": 60,\"CPUNice\": 60,\"CPUIowait\": 60,\"ApplicationLatencyP10\": 60,\"LoadAverage5min\": 60,\"ApplicationRequests5xx\": 60,\"ApplicationLatencyP75\": 60,\"CPUSystem\": 60,\"ApplicationRequests3xx\": 60,\"ApplicationRequests4xx\": 60,\"InstanceHealth\": 60,\"CPUSoftirq\": 60}},\"Version\": 1}" } ]'

对于采用 YAML 的 .ebextensions 配置文件,您可以按原样提供 JSON 文档。

option_settings: - namespace: aws:elasticbeanstalk:healthreporting:system option_name: ConfigDocument value: { "CloudWatchMetrics": { "Environment": { "ApplicationLatencyP99.9": 60, "InstancesSevere": 60, "ApplicationLatencyP90": 60, "ApplicationLatencyP99": 60, "ApplicationLatencyP95": 60, "InstancesUnknown": 60, "ApplicationLatencyP85": 60, "InstancesInfo": 60, "ApplicationRequests2xx": 60, "InstancesDegraded": 60, "InstancesWarning": 60, "ApplicationLatencyP50": 60, "ApplicationRequestsTotal": 60, "InstancesNoData": 60, "InstancesPending": 60, "ApplicationLatencyP10": 60, "ApplicationRequests5xx": 60, "ApplicationLatencyP75": 60, "InstancesOk": 60, "ApplicationRequests3xx": 60, "ApplicationRequests4xx": 60 }, "Instance": { "ApplicationLatencyP99.9": 60, "ApplicationLatencyP90": 60, "ApplicationLatencyP99": 60, "ApplicationLatencyP95": 60, "ApplicationLatencyP85": 60, "CPUUser": 60, "ApplicationRequests2xx": 60, "CPUIdle": 60, "ApplicationLatencyP50": 60, "ApplicationRequestsTotal": 60, "RootFilesystemUtil": 60, "LoadAverage1min": 60, "CPUIrq": 60, "CPUNice": 60, "CPUIowait": 60, "ApplicationLatencyP10": 60, "LoadAverage5min": 60, "ApplicationRequests5xx": 60, "ApplicationLatencyP75": 60, "CPUSystem": 60, "ApplicationRequests3xx": 60, "ApplicationRequests4xx": 60, "InstanceHealth": 60, "CPUSoftirq": 60 } }, "Version": 1 }
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。