监控 Auto Scaling 组和实例的 CloudWatch 指标 - Amazon EC2 Auto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

监控 Auto Scaling 组和实例的 CloudWatch 指标

指标是 CloudWatch 的基本概念。指标代表一个发布到 CloudWatch 的按时间排序的数据点集。可将指标视为要监控的变量,而数据点代表该变量随时间变化的值。您可使用这些指标来验证您的系统是否按预期运行。

Amazon EC2 Auto Scaling 将有关您的 Auto Scaling 展组的数据点发布到 CloudWatch。这些指标以 1 分钟的粒度提供,无需额外付费,但您必须启用它们。通过这样做,您可以持续了解 Auto Scaling 组的操作情况,以便快速响应工作负载中的变化。您可以使用启用和禁用这些指标Amazon Web Services Management Console、Amazon CLI或软件开发工具包。

Amazon EC2 将数据点发布到描述您的 Auto Scaling 实例的 CloudWatch。Amazon EC2 实例监控的间隔是可配置的。您可以选择 1 分钟到 5 分钟之间的粒度。有关更多信息,请参阅配置 Auto Scaling 实例的监控

启用 Auto Scaling 组指标(控制台)

启用 Auto Scaling 组指标后,Auto Scaling 组每分钟向 CloudWatch 发送采样数据。启用这些指标无需支付费用。

启用组指标

  1. 打开 Amazon EC2 Auto Scaling 控制台(网址为:https://console.aws.amazon.com/ec2autoscaling/.

  2. 选中 Auto Scaling 组旁边的复选框。

    将在页面底部打开一个拆分窗格,其中显示有关所选组的信息。

  3. 在存储库的监控选项卡上,选择Auto Scaling 组指标收集启用复选框,位于页面顶部Auto Scaling.

禁用组指标

  1. 打开 Amazon EC2 Auto Scaling 控制台(网址为:https://console.aws.amazon.com/ec2autoscaling/.

  2. 选择 Auto Scaling 组。

  3. 在存储库的监控选项卡上,清除Auto Scaling 组指标收集启用”复选框。

启用 Auto Scaling 组指标 (Amazon CLI)

启用组指标

可以使用 enable-metrics-collection 命令启用一个或多个组指标。例如,以下命令可启用 GroupDesiredCapacity 指标。

aws autoscaling enable-metrics-collection --auto-scaling-group-name my-asg \ --metrics GroupDesiredCapacity --granularity "1Minute"

如果省略 --metrics 选项,则启用所有指标。

aws autoscaling enable-metrics-collection --auto-scaling-group-name my-asg \ --granularity "1Minute"

禁用组指标

使用 disable-metrics-collection 命令。例如,以下命令可禁用所有 Auto Scaling 组指标:

aws autoscaling disable-metrics-collection --auto-scaling-group-name my-asg

可用指标和维度

Auto Scaling 组指标

AWS/AutoScaling 命名空间包括以下指标。

指标 描述
GroupMinSize

Auto Scaling 组的最小大小。

报告标准:如果启用了指标收集,则报告。

GroupMaxSize

Auto Scaling 组的最大大小。

报告标准:如果启用了指标收集,则报告。

GroupDesiredCapacity

Auto Scaling 组试图维护的实例数量。

报告标准:如果启用了指标收集,则报告。

GroupInServiceInstances

作为 Auto Scaling 组的一部分运行的实例数量。该指标不包括处于挂起或终止状态的实例。

报告标准:如果启用了指标收集,则报告。

GroupPendingInstances

处于挂起状态的实例数量。挂起的实例尚不可用。该指标不包括处于可用状态或终止状态的实例。

报告标准:如果启用了指标收集,则报告。

GroupStandbyInstances

处于 Standby 状态的实例数。处于此状态的实例仍在运行,但不能有效使用。

报告标准:如果启用了指标收集,则报告。

GroupTerminatingInstances

正处于终止过程中的实例的数量。该指标不包括处于可用状态或挂起状态的实例。

报告标准:如果启用了指标收集,则报告。

GroupTotalInstances

Auto Scaling 组中的实例总数。该指标用于标识处于可用状态、挂起状态和终止状态的实例的数量。

报告标准:如果启用了指标收集,则报告。

这些区域有:AWS/AutoScaling命名空间包括 Auto Scaling 组的以下指标,这些指标使用实例权重功能。如果未应用实例权重,则填充以下指标,但等于上表中定义的指标。

指标 描述
GroupInServiceCapacity

作为 Auto Scaling 组的一部分运行的容量单位数量。

报告标准:如果启用了指标收集,则报告。

GroupPendingCapacity

待处理的容量单位数。

报告标准:如果启用了指标收集,则报告。

GroupStandbyCapacity

处于 Standby 状态的容量单位数。

报告标准:如果启用了指标收集,则报告。

GroupTerminatingCapacity

正处于终止过程中的容量单位的数量。

报告标准:如果启用了指标收集,则报告。

GroupTotalCapacity

Auto Scaling 组中的容量单位总数。

报告标准:如果启用了指标收集,则报告。

Auto Scaling 组指标的维度

要按组名称筛选 Auto Scaling 组的指标,请使用AutoScalingGroupName维度。

查看 Auto Scaling 组和实例的图表指标

创建 Auto Scaling 组后,您可以打开该组并在监控选项卡。每个图表以 Auto Scaling 组和实例的一个可用的 CloudWatch 指标为基础。如果已启用 Auto Scaling 组指标,则监控图表会显示 Auto Scaling 组指标的数据点。

以下图表指标可用于组:

  • 最小组大小GroupMinSize

  • 最大组大小GroupMaxSize

  • 所需容量GroupDesiredCapacity

  • 在服务实例中GroupInServiceInstances

  • 待处理实例GroupPendingInstances

  • 备用实例GroupStandbyInstances

  • 正在终止实例GroupTerminatingInstances

  • 实例总数GroupTotalInstances

以下图表指标可用于实例具有定义每个实例对组容量贡献多少容量单位的权重的组:

  • 服务容量单位GroupInServiceCapacity

  • 挂起的容量单位GroupPendingCapacity

  • 备用容量单位GroupStandbyCapacity

  • 终止容量单位GroupTerminatingCapacity

  • 总容量单位GroupTotalCapacity

以下指标可用于实例:

  • CPU 利用率CPUUtilization

  • 磁盘读取DiskReadBytes

  • 读磁盘操作DiskReadOps

  • 磁盘写入DiskWriteBytes

  • 写磁盘操作DiskWriteOps

  • 网络输入NetworkIn

  • 网络输出NetworkOut

  • Status Check Failed (Any) (状态检查失败(任意))StatusCheckFailed

  • Status Check Failed (Instance) (状态检查失败(实例))StatusCheckFailed_Instance

  • Status Check Failed (System) (状态检查失败(系统))StatusCheckFailed_System

有关 Amazon EC2 指标及其向图表提供的数据的更多信息,请参阅列出实例的可用 CloudWatch 指标中的适用于 Linux 实例的 Amazon EC2 用户指南.

使用 Amazon CloudWatch

查看 CloudWatch 指标

您可以使用 CloudWatch 控制台和命令行工具查看 Auto Scaling 组指标。

使用 CloudWatch 控制台查看指标

有关更多信息,请参阅 。按 Auto Scaling 组聚合统计数据.

要查看 CloudWatch 视指标 (Amazon CLI)

要查看所有 Auto Scaling 组的所有指标,请使用以下list-metrics命令。

aws cloudwatch list-metrics --namespace "AWS/AutoScaling"

要查看单个 Auto Scaling 组的指标,请指定AutoScalingGroupName维度,如下所示。

aws cloudwatch list-metrics --namespace "AWS/AutoScaling" --dimensions Name=AutoScalingGroupName,Value=my-asg

要查看适用于所有 Auto Scaling 组的单个指标,请指定该指标的名称,如下所示:

aws cloudwatch list-metrics --namespace "AWS/AutoScaling" --metric-name GroupDesiredCapacity

创建 Amazon CloudWatch 警报

监控指标的一个目的是验证您的应用程序是否正在按预期运行。在 Amazon CloudWatch 中,您可以创建一个警报,以便当特定指标的值超出您认为可接受的阈值时发送通知。

首先确定要监视的指标。例如,您可以配置警报来监控 Auto Scaling 组中 EC2 实例的平均 CPU 利用率。该操作在满足以下条件时向您发送通知:在您指定的连续周期内,组的实例的平均 CPU 利用率超过了您指定的阈值。例如,如果在连续的 4 个 1 分钟周期内,指标量达到或高于 70%。

有关更多信息,请参阅 。使用 Amazon CloudWatch 警报中的Amazon CloudWatch 用户指南.

为 Auto Scaling 组创建 CloudWatch 警报

  1. 通过以下网址打开 CloudWatch 控制台:https://console.aws.amazon.com/cloudwatch/

  2. 如果需要,可以更改区域。从导航栏中,选择 Auto Scaling 组所在的区域。

  3. 在导航窗格上,选择 Alarms (警报),然后选择 Create alarm (创建警报)

  4. 选择选择指标

  5. All metrics (所有指标) 选项卡上,按以下方式选择一个指标:

    • 要仅显示 Auto Scaling 组报告的指标,请选择EC2,然后选择按 Auto Scaling 组. 要查看单个 Auto Scaling 组的指标,请在搜索字段中键入其名称。

    • 选择包含要在其上创建警报的 Auto Scaling 组的指标的行。

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

  6. Period (周期) 下,选择警报的评估周期,例如 1 分钟。评估警报时,每个周期都聚合到一个数据点。

    注意

    周期越短,创建的警报越敏感。

  7. Conditions (条件) 下,执行以下操作:

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

    • 对于 Whenever metric (每当 <CPU 利用率>),指定您希望在指标值大于、大于或等于、小于还是小于或等于阈值时触发警报。然后,在 than (大于/小于) 下,输入您希望触发警报的阈值。

  8. 其他配置下,执行以下操作:

    • 对于 Datapoints to alarm (触发警报的数据点数),输入指标值必须满足阈值条件才会触发警报的数据点(评估时间段)数。例如,2 个连续的 5 分钟时间段需要花 10 分钟才会触发警报。

    • 对于 Missing data treatment (缺失数据处理),选择您希望在数据缺失时警报执行的操作。有关更多信息,请参阅 。配置 CloudWatch 警报处理丢失数据的方式中的Amazon CloudWatch 用户指南.

  9. 选择 Next (下一步)

  10. 根据通知,您可以选择或创建要用于接收通知的 Amazon SNS 主题。否则,您可以立即删除通知,稍后在准备就绪后添加一个通知。

  11. 选择 Next (下一步)

  12. 输入警报的名称和描述(可选),然后选择 Next (下一步)

  13. 选择 Create Alarm