使用亚马逊监控亚马逊 EC2 API 请求 CloudWatch - Amazon Elastic Compute Cloud

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

使用亚马逊监控亚马逊 EC2 API 请求 CloudWatch

您可以使用亚马逊监控亚马逊 EC2 API 请求 CloudWatch,亚马逊会收集原始数据并将其处理为可读的近乎实时的指标。这些指标提供了一种跟踪一段时间内 Amazon EC2 API 操作的使用情况和结果的简单方法。这些信息可以让您更好地了解 Web 应用程序的运行状况,并帮助您识别和诊断各种问题。您还可以设置警告,以监控特定阈值,当达到阈值时发送通知或执行特定操作。

有关的更多信息 CloudWatch,请参阅 Amazon CloudWatch 用户指南

重要

亚马逊 EC2 API 指标是一项可选功能。您必须请求访问此功能。有关更多信息,请参阅 启用亚马逊 EC2 API 指标

启用亚马逊 EC2 API 指标

请按照以下过程为您的 AWS 账户请求访问此功能。

请求访问此功能
  1. 打开 AWS 支持 中心

  2. 选择创建工单

  3. 选择账户和账单

  4. 对于服务,选择一般信息和入门

  5. “类别” 中,选择 “使用 AWS 和服务”。

  6. 选择下一步:其他信息

  7. 对于 Subject (主题),请输入 Request access to Amazon EC2 API metrics

  8. 对于描述,输入 Please grant my account access to Amazon EC2 API metrics. Related page: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/monitor.html。还要包括您需要访问的区域。

  9. 选择下一步:立即解决或联系我们

  10. 联系我们选项卡上,选择您的首选联系语言和首选联系方式。

  11. 选择提交

亚马逊 EC2 API 指标和维度

指标

Amazon EC2 API 指标包含在AWS/EC2/API命名空间中。下表列出了可用于 Amazon EC2 API 请求的指标。

指标 说明

ClientErrors

客户端错误导致的 API 请求失败次数。

这些错误通常是由于客户端操作引起的,例如在请求中指定了错误或无效的参数,或者以没有权限的用户身份使用某个操作或资源。

单位:个

RequestLimitExceeded

您的账户超出亚马逊 EC2 APIs 允许的最大请求速率的次数。

Amazon EC2 API 请求会受到限制,以帮助维持服务的性能。如果您的请求被节流,会返回 Client.RequestLimitExceeded 错误。

单位:个

ServerErrors

服务器内部错误导致的 API 请求失败次数。

这些错误通常是由 AWS 服务器端错误、异常或故障引起的。

单位:个

SuccessfulCalls

成功完成的 API 请求次数。

单位:个

Dimensions

Amazon EC2 指标数据可以在所有 EC2 API 操作中进行筛选。有关尺寸的更多信息,请参阅 Amazon CloudWatch 概念

指标数据留存

Amazon EC2 API 指标每隔 1 分钟发送一次。 CloudWatch CloudWatch 按如下方式保留指标数据:

  • 时间段为 60 秒(1 分钟)的数据点可用 15 天。

  • 时间段为 300 秒(5 分钟)的数据点可用 63 天。

  • 时间段为 3600 秒(1 小时)的数据点可用 455 天(15 个月)。

监控代表您发起的请求

AWS 服务代表您发出的 API 请求(例如服务相关角色发出的请求)不计入您的 API 限制限制,也不会向亚马逊发送您账户 CloudWatch 的指标。无法使用监视这些请求 CloudWatch。

第三方服务提供商代表您发出的 API 请求会计入您的 API 限制限制,并且它们会向亚马逊发送您账户 CloudWatch 的指标。可以使用监视这些请求 CloudWatch。

计费

适用标准 CloudWatch 定价和费用。使用 Amazon EC2 API 指标不收取任何额外费用。有关更多信息,请参阅 Amazon CloudWatch 定价

与 Amazon 合作 CloudWatch

查看 CloudWatch 指标

使用以下步骤查看 Amazon EC2 API 指标。

先决条件

您必须允许访问您的账户 EC2 的 Amazon API 指标。有关更多信息,请参阅 启用亚马逊 EC2 API 指标

使用控制台查看 Amazon EC2 API 指标
  1. 打开 CloudWatch 控制台,网址为https://console.aws.amazon.com/cloudwatch/

  2. 在导航窗格中,依次选择指标所有指标

  3. 浏览选项卡指标下,选择所需的区域以查看指标。

  4. 选择EC2指标命名空间。

  5. 要查看指标,选择指标维度,例如每实例指标

    注意

    指标在两周处于非活动状态后会被隐藏。如果过去两周没有接收到新的数据点,这些指标将不再出现在控制台中,在控制台搜索框中输入指标名称或维度名称时它们也不会显示,并且 list-metrics AWS CLI 命令也不会返回这些指标。要检索这些指标,请使用get-metric-dataget-metric-statistics命令。

使用命令行查看 Amazon EC2 API 指标

使用以下命令之一:

  • list-metrics (AWS CLI)

    aws cloudwatch list-metrics --namespace "AWS/EC2/API"
  • 获取-CWMetric 列表 (AWS Tools for Windows PowerShell)

    Get-CWMetricList -Namespace "AWS/EC2/API"

创建 CloudWatch 警报

您可以创建一个 CloudWatch 警报,当警报状态发生变化时,该警报会发送 Amazon SNS 消息。告警会监控您指定的时间段内的某个指标。它会根据指标在多个时间段内相对于指定阈值的值,向 SNS 主题发送通知。

例如,您可以创建一个警报,监控由于服务器端错误而失败 DescribeInstances的 API 请求数量。当 DescribeInstances API 请求失败次数在 5 分钟内达到 10 个服务器端错误的阈值时,以下警报会发送电子邮件通知。

先决条件

您必须允许访问您账户的 Amazon EC2 API 指标。有关更多信息,请参阅 启用亚马逊 EC2 API 指标

要为 Amazon EC2 DescribeInstances API 创建警报,请请求服务器错误
  1. 打开 CloudWatch 控制台,网址为https://console.aws.amazon.com/cloudwatch/

  2. 在导航窗格中,依次选择 Alarms(警报)和 All alarms(所有警报)。

  3. 选择Create alarm(创建警报)

  4. 选择选择指标并执行以下操作:

    1. 选择 EC2/API

    2. 选择每项操作指标

    3. 选中与ServerErrors指标名称位于同一行旁边的复选框。DescribeInstances

    4. 选择选择指标

  5. 将显示 Specify metric and conditions(指定指标和条件)页面,其中显示一个图表以及有关您选择的指标和统计数据的其他信息。

    1. 指标下,指定以下内容:

      1. 对于 Statistic(统计数据),选择 Sum(总计)

      2. 对于时段,确认已选择 5 分钟

    2. 条件下面,指定以下内容:

      1. 对于 Threshold type(阈值类型),选择 Static(静态)

      2. 对于 “无论何时 ServerErrors 是”,选择 “大于/等于 >=”。

      3. 对于数值...,输入 10

    3. 选择下一步

  6. Configure actions(配置操作)页面会显示。

    1. 通知下,指定以下内容:

      1. 对于警报状态触发器,选择警报中

      2. 对于选择 SNS 主题,选择选择现有 SNS 主题创建新主题,然后填写通知的必填字段。

      3. 选择下一步

  7. 将显示添加名称和描述页面。

    1. 对于警报名称,输入警报的名称。名称只能包含 ASCII 字符。

    2. 对于警报描述,为您的警报输入一个可选的描述。

    3. 选择下一步

  8. 将显示预览并创建页面。验证信息是否正确,然后选择创建警报

有关更多信息,请参阅亚马逊 CloudWatch 用户指南中的使用亚马逊 CloudWatch 警报