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

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

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

用于收集有关自动扩缩组信息的Amazon EC2 Auto Scaling 指标位于 AWS/AutoScaling 命名空间中。收集 Auto Scaling 实例的 CPU 和其他使用情况数据的 Amazon EC2 实例指标位于 AWS/EC2 命名空间中。

Amazon EC2 Auto Scaling 控制台会根据组指标和该组的聚合实例指标显示一系列的图表。根据您的需求,您可能更适合从 Amazon CloudWatch 而非 Amazon EC2 Auto Scaling 控制台访问您的自动扩缩组和实例数据。

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

可用指标和维度

注意

本部分列出了 AWS/AutoScaling 命名空间中不同类型的指标。

有关 AWS/EC2 命名空间中可用指标的信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的列出实例的可用 CloudWatch 指标。或者,请参阅 配置 Auto Scaling 实例的监控 了解如何为 AWS/EC2 命名空间中的指标启用详细监控,或者收集自动扩缩组中 EC2 实例的内存指标。

Amazon EC2 Auto Scaling 会在 AWS/AutoScaling 命名空间中发布以下指标。

Amazon EC2 Auto Scaling 会尽力每隔一分钟将样本数据发送到 CloudWatch。发生 CloudWatch 服务中断的极少数情况时,系统不会回填数据以填补组指标历史记录中的空缺。

Auto Scaling 组指标

启用组指标时,Amazon EC2 Auto Scaling 会向 CloudWatch 发送以下指标。这些指标以一分钟的粒度提供,无需额外付费,但您必须启用它们。借助这些指标,您可以更清楚地了解自动扩缩组的历史记录,例如组大小随时间推移的变化。

指标 描述
GroupMinSize

Auto Scaling 组的最小大小。

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

GroupMaxSize

Auto Scaling 组的最大大小。

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

GroupDesiredCapacity

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

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

GroupInServiceInstances

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

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

GroupPendingInstances

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

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

GroupStandbyInstances

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

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

GroupTerminatingInstances

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

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

GroupTotalInstances

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

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

除上表中的指标外,Amazon EC2 Auto Scaling 还会将组指标报告作为每个实例所代表容量单位数的聚合计数进行报告。如果未应用实例权重,则会填充以下指标,但等于上表中定义的指标。有关使用权重的更多信息,请参阅为 Amazon EC2 Auto Scaling 配置实例权重示例:使用基于属性的实例类型选择创建 Auto Scaling 组

指标 描述
GroupInServiceCapacity

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

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

GroupPendingCapacity

待处理的容量单位数。

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

GroupStandbyCapacity

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

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

GroupTerminatingCapacity

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

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

GroupTotalCapacity

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

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

对于具有暖池的自动扩缩组,Amazon EC2 Auto Scaling 还会报告以下指标。有关更多信息,请参阅Amazon EC2 Auto Scaling 的暖池

指标 描述
WarmPoolMinSize

暖池的最小大小。

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

WarmPoolDesiredCapacity

Amazon EC2 Auto Scaling 尝试在暖池中维持的容量数。

这相当于 Auto Scaling 组的最大大小减去所需容量,或者等于 Auto Scaling 组的最大预热容量(如果设置)减去所需容量。

但是,如果暖池的最小大小等于或大于最大大小(或者是最大预热容量(如果设置))与 Auto Scaling 组的所需容量之间的差值,则暖池所需容量将等于 WarmPoolMinSize

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

WarmPoolPendingCapacity

暖池中待处理的容量数。该指标不包括处于运行、挂起或终止状态的实例。

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

WarmPoolTerminatingCapacity

暖池中处于终止过程的容量数。该指标不包括处于运行、已停止或挂起状态的实例。

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

WarmPoolWarmedCapacity

横向扩展期间可进入 Auto Scaling 组的容量数。该指标不包括处于挂起或终止状态的实例。

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

WarmPoolTotalCapacity

暖池的总容量,包括处于运行、已停止、挂起或终止状态的实例。

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

GroupAndWarmPoolDesiredCapacity

Auto Scaling 组和暖池结合起来的所需容量。

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

GroupAndWarmPoolTotalCapacity

Auto Scaling 组和暖池结合起来的总容量。这包括处于运行、已停止、挂起、终止或服务中状态的实例。

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

Auto Scaling 组指标的维度

您可以使用以下维度来优化上表中列出的指标。

维度 描述
AutoScalingGroupName

按 Auto Scaling 组名称筛选。

预测性扩缩指标和维度

AWS/AutoScaling 命名空间包括以下预测性扩缩指标。

提供精度为一小时的指标。

您可以通过将预测值与实际值进行比较来评估预测准确性。有关使用这些指标评估预测准确性的更多信息,请参阅使用 CloudWatch 监控预测性扩缩指标

指标 描述 维度
PredictiveScalingLoadForecast

应用程序预计将生成的负载量。

AverageMinimumMaximum 统计数据非常有用,而 Sum 统计数据用处不大。

报告标准:在创建初始预测后报告。

AutoScalingGroupName, PolicyName, PairIndex
PredictiveScalingCapacityForecast

满足应用程序需求所需的预期容量。这基于负载预测以及您希望 Auto Scaling 实例维持的目标利用率水平。

AverageMinimumMaximum 统计数据非常有用,而 Sum 统计数据用处不大。

报告标准:在创建初始预测后报告。

AutoScalingGroupName, PolicyName
注意

PairIndex 维度会返回与 Amazon EC2 Auto Scaling 所分配负载扩缩指标对的索引相关的信息。目前唯一有效的值是 0

启用 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