Amazon EBS 的 Amazon CloudWatch 指标 - Amazon EBS

Amazon EBS 的 Amazon CloudWatch 指标

Amazon CloudWatch 指标是统计数据,您可以使用这些指标来查看、分析和设置有关卷操作行为的警报。

数据在 1 分钟期间内自动可用,无需收费。

当您从 CloudWatch 得到数据时,您可以列入一个Period请求参数来指定返回数据的粒度。这不同于我们收集数据时所用的时间(1 分钟时间)。我们建议您在请求中指定的时间大于等于收集时间,从而确保返回数据有效。

获取数据时,您可以使用 CloudWatch API 或 Amazon EC2 控制台。控制台从 CloudWatch API 中获取原始数据并根据数据显示一系列图表。根据您的需要,您既可以选择使用从 API 中获得的数据也可以选择使用控制台中的图表。

Amazon EBS 卷的指标

AWS/EBS 命名空间包括连接到所有实例类型的 EBS 卷的以下指标。所有 Amazon EBS 卷类型都会自动向 CloudWatch 发送 1 分钟的指标,但只有在卷连接到实例时,才会自动发送。

要从实例上的操作系统获取有关可用磁盘空间的信息,请参阅查看可用磁盘空间

注意

某些指标在基于 Nitro 系统构建的实例上存在差异。有关这些实例类型的列表,请参阅基于 Nitro 系统构建的实例

指标 描述 单位 尺寸 有意义的统计数据
VolumeReadBytes

提供有关指定时间段内的读取操作的信息。

  • Sum 统计数据将报告该时间段内传输的总字节数。

  • 附加到 Nitro 实例的卷除外,Average 统计数据报告该时间段内每个读取操作的平均大小,其中的平均值表示指定时间段的平均值。

  • 附加到基于 Nitro 实例的卷除外,SampleCount 统计数据报告该时间段内的读取操作总数,其中的样本数表示在统计计算中使用的数据点数。

注意:对于 Xen 实例,只有在卷上有读取活动时才报告数据。

字节

VolumeId

  • Average

  • Sum

  • SampleCount

  • Minimum | Maximum:仅适用于附加到基于 Nitro 实例的卷

VolumeWriteBytes

提供有关指定时间段内的写入操作的信息

  • Sum 统计数据将报告该时间段内传输的总字节数。

  • Average 统计数据报告该时间段内的每个写入操作的平均大小,附加到基于 Nitro 的实例的卷除外,其中的平均值表示指定时间段的平均值。

  • SampleCount 统计数据报告该时间段内的写入操作总数,但附加到基于 Nitro 的实例的卷除外,其中的样本数表示在统计计算中使用的数据点数。

注意:对于 Xen 实例,只有在卷上有写入活动时才报告数据。

字节

VolumeId

  • Average

  • Sum

  • SampleCount

  • Minimum | Maximum:仅适用于附加到基于 Nitro 实例的卷

VolumeReadOps

在指定时间的读取操作总数。

注意:读取操作在完成时计数。

要计算该时间段的平均每秒读取操作数(读取 IOPS),请将该时间段的总读取操作数除以秒数。

计数

VolumeId

  • Average

  • Sum

  • Minimum | Maximum:仅适用于附加到基于 Nitro 实例的卷

VolumeWriteOps

在指定时间的写入操作总数。

注意:写入操作在完成时计数。

要计算该时间段的平均每秒写入操作数(写入 IOPS),请将该时间段的总写入操作数除以秒数。

计数

VolumeId

  • Average

  • Sum

  • Minimum | Maximum:仅适用于附加到基于 Nitro 实例的卷

VolumeTotalReadTime

注意:启用多重挂载的卷不支持此指标。

指定时间段中所有读取操作耗费的总秒数。如果同时提交多个请求,该总数可能大于时间段长度。例如,对于长度为 1 分钟(60 秒)的时间段:如果该时间段内完成了 150 个操作,每个操作耗时 1 秒,值便是 150 秒。

注意:对于 Xen 实例,只有在卷上有读取活动时才报告数据。

VolumeId

  • Average:与附加到基于 Nitro 实例的卷无关

  • Sum

  • Minimum | Maximum:仅适用于附加到基于 Nitro 实例的卷

VolumeTotalWriteTime

注意:启用多重挂载的卷不支持此指标。

指定时间段中所有写入操作耗费的总秒数。如果同时提交多个请求,该总数可能大于时间段长度。例如,对于长度为 1 分钟(60 秒)的时间段:如果该时间段内完成了 150 个操作,每个操作耗时 1 秒,值便是 150 秒。

注意:对于 Xen 实例,只有在卷上有写入活动时才报告数据。

VolumeId

  • Average:与附加到基于 Nitro 实例的卷无关

  • Sum

  • Minimum | Maximum:仅适用于附加到基于 Nitro 实例的卷

VolumeIdleTime

注意:启用多重挂载的卷不支持此指标。

未提交读取或写入操作的指定时间段中的总秒数。

VolumeId

  • Average:与附加到基于 Nitro 实例的卷无关

  • Sum

  • Minimum | Maximum:仅适用于附加到基于 Nitro 实例的卷

VolumeQueueLength

指定时间段中等待完成的读取和写入操作请求的数量。

计数

VolumeId

  • Average

  • Sum:与附加到 Nitro 实例的卷无关

  • Minimum | Maximum:仅适用于附加到 Nitro 实例的卷

VolumeStalledIOCheck

注意:仅适用于 Nitro 实例。对附加到 Amazon ECS 和 AWS Fargate 任务的卷未发布。

报告卷在最后一分钟内是否通过停滞 IO 检查。此指标可以是 0(通过)或 1(未通过)。有关更多信息,请参阅使用 CloudWatch 监控 I/O 特性

计数

VolumeId | InstanceId

  • 总和

  • 平均值

  • 最低

  • 最高

VolumeThroughputPercentage
注意:
  • 仅限预调配 IOPS SSD 卷。

  • 启用多重挂载的卷不支持此指标。

每秒传输的 I/O 操作数(IOPS)在为 Amazon EBS 卷预置的总 IOPS 中所占的百分比。预置 IOPS SSD 卷在 99.9% 的时间里可提供预置性能。

写入过程中,如果一分钟内没有其他待处理的 I/O 请求,指标值就会是 100%。另外,卷的 I/O 性能可能由于已执行的操作而暂时下降(例如,在使用高峰期创建卷的快照,在非 EBS 优化的实例上运行卷,或者首次访问卷上的数据)。

百分比

VolumeId

  • Average

  • Minimum | Maximum

VolumeConsumedReadWriteOps

注意:仅限预调配 IOPS SSD 卷。

指定时间段内使用的读取和写入操作的总量(规格化为 256K 容量单位)。

每个小于 256K 的 I/O 操作算作使用了 1 IOPS。大于 256K 的 I/O 操作按 256K 容量单位计算。例如,1024K I/O 算作使用了 4 IOPS。

计数

VolumeId

  • Average

  • Sum

  • Minimum | Maximum

BurstBalance

注意:仅限通用型 SSD(gp2)、吞吐量优化型 HDD(st1),以及 Cold HDD(sc1)卷。

提供有关突增存储桶中剩余的 I/O 积分百分比(对于 gp2)或吞吐量积分(对于 st1sc1)的信息。仅当卷处于活动状态时将数据报告给 CloudWatch。如果未附加卷,则不会报告任何数据。

如果卷的基准性能超过了最大突发性能,则绝不会使用积分。如果卷附加到基于 Nitro 系统构建的实例,则不会报告突增余额。对于其他实例,报告的突增余额是 100%。有关更多信息,请参阅gp2 卷性能

百分比

VolumeId

  • Average

  • Sum:与附加到 Nitro 实例的卷无关。

  • Minimum | Maximum

Nitro 实例的指标

AWS/EC2 命名空间包括所添加的卷的基于 Nitro 的实例(非裸机实例)的其他 Amazon EBS 指标。

指标 描述 单位 有意义的统计数据
EBSReadOps

在指定时间段内在挂载到实例的所有 Amazon EBS 卷中完成的读取操作数。

要计算该时间段的平均每秒读取 I/O 操作数 (读取 IOPS),请将该时间段的总操作数除以秒数。如果使用基本 (5 分钟) 监控,您可以将该数字除以 300 以计算读取 IOPS。如果您使用的是详细 (1 分钟) 监控,请将其除以 60。您也可以使用 CloudWatch 指标数学函数 DIFF_TIME 来查找每秒操作数。例如,如果您在 CloudWatch 中绘制 EBSReadOpsm1,指标数学公式 m1/(DIFF_TIME(m1)) 会返回以操作/秒为单位的指标。有关 DIFF_TIME 和其他指标数学函数的更多信息,请参阅《Amazon CloudWatch 用户指南》中的使用指标数学

计数

  • 总和

  • 平均值

  • 最低

  • 最高

EBSWriteOps

在指定时间段内在附加到实例的所有 EBS 卷中完成的写入操作数。

要计算该时间段的平均每秒写入 I/O 操作数 (写入 IOPS),请将该时间段的总操作数除以秒数。如果使用基本 (5 分钟) 监控,您可以将该数字除以 300 以计算写入 IOPS。如果您使用的是详细(1 分钟)监控,请将其除以 60。您也可以使用 CloudWatch 指标数学函数 DIFF_TIME 来查找每秒操作数。例如,如果您在 CloudWatch 中绘制 EBSWriteOpsm1,指标数学公式 m1/(DIFF_TIME(m1)) 会返回以操作/秒为单位的指标。有关 DIFF_TIME 和其他指标数学函数的更多信息,请参阅《Amazon CloudWatch 用户指南》中的使用指标数学

计数

  • 总和

  • 平均值

  • 最低

  • 最高

EBSReadBytes

在指定时间段内从附加到实例的所有 EBS 卷中读取的字节数。

报告的数字是在该时间段内读取的字节数。如果使用基本 (5 分钟) 监控,您可以将该数字除以 300 以计算每秒读取的字节数。如果您使用的是详细(1 分钟)监控,请将其除以 60。您也可以使用 CloudWatch 指标数学函数 DIFF_TIME 来查找每秒字节数。例如,如果您在 CloudWatch 中绘制 EBSReadBytesm1,指标数学公式 m1/(DIFF_TIME(m1)) 会返回以字节/秒为单位的指标。有关 DIFF_TIME 和其他指标数学函数的更多信息,请参阅《Amazon CloudWatch 用户指南》中的使用指标数学

字节

  • 总和

  • 平均值

  • 最低

  • 最高

EBSWriteBytes

在指定时间段内写入附加到实例的所有 EBS 卷的字节数。

报告的数字是在该时间段内写入的字节数。如果使用基本 (5 分钟) 监控,您可以将该数字除以 300 以计算每秒写入的字节数。如果您使用的是详细(1 分钟)监控,请将其除以 60。您也可以使用 CloudWatch 指标数学函数 DIFF_TIME 来查找每秒字节数。例如,如果您在 CloudWatch 中绘制 EBSWriteBytesm1,指标数学公式 m1/(DIFF_TIME(m1)) 会返回以字节/秒为单位的指标。有关 DIFF_TIME 和其他指标数学函数的更多信息,请参阅《Amazon CloudWatch 用户指南》中的使用指标数学

字节

  • 总和

  • 平均值

  • 最低

  • 最高

EBSIOBalance%

提供有关突增存储桶中剩余的 I/O 积分百分比的信息。此指标仅对基本监控可用。

此指标仅适用于某些 *.4xlarge 大小和更小的实例,这样的实例仅需 30 分钟便可突增到最高性能,且至少每 24 小时发生一次。有关更多信息,请参阅默认为 EBS 优化

Sum 统计数据不适用于该指标。

百分比

  • 最低

  • 最高

EBSByteBalance%

提供有关突增存储桶中剩余的吞吐量积分百分比的信息。此指标仅对基本监控可用。

此指标仅适用于某些 *.4xlarge 大小和更小的实例,这样的实例仅需 30 分钟便可突增到最高性能,且至少每 24 小时发生一次。有关更多信息,请参阅默认为 EBS 优化

Sum 统计数据不适用于该指标。

百分比

  • 最低

  • 最高

快速快照还原的指标

AWS/EBS 命名空间包含以下用于快速快照还原的指标。

指标 描述 单位 尺寸 有意义的统计数据
FastSnapshotRestoreCreditsBucketSize

可以累积的最大卷创建积分数。将为每个可用区的每个快照报告该指标。

计数

SnapshotId | AvailabilityZone

  • Average

  • Minimum | Maximum

注意:最有意义的统计数据是 AverageMinimumMaximum 统计数据的结果与 Average 相同,可以替换使用。

FastSnapshotRestoreCreditsBalance

可用的卷创建积分数。将为每个可用区的每个快照报告该指标。

计数

SnapshotId | AvailabilityZone

  • Average

  • Minimum | Maximum

注意:最有意义的统计数据是 AverageMinimumMaximum 统计数据的结果与 Average 相同,可以替换使用。

Amazon EC2 控制台图表

创建一个卷后,您可以在 Amazon EC2 控制台中查看该卷的监控图表。在控制台的 Volumes 页面上选择一个卷,然后选择 Monitoring。下表列出了显示的图表。右列说明如何使用从 CloudWatch API 中获得的原始数据指标来生成每一个图表。所有的图表周期都是 5 分钟。

图表 使用原始指标描述

读取吞吐量(KiB/s)

Sum(VolumeReadBytes) / Period / 1024

写入吞吐量(KiB/s)

Sum(VolumeWriteBytes) / Period / 1024

读取操作(Ops/s)

Sum(VolumeReadOps) / Period

写入操作(Ops/s)

Sum(VolumeWriteOps) / Period

平均队列长度(操作数)

Avg(VolumeQueueLength)

空闲花费时间(%)

Sum(VolumeIdleTime) / Period × 100

平均读取大小(KiB/op)

Avg(VolumeReadBytes) / 1024

对基于 Nitro 的实例,以下公式使用 CloudWatch Metric Math 计算平均读取大小:

(Sum(VolumeReadBytes) / Sum(VolumeReadOps)) / 1024

在 EBS CloudWatch 控制台中提供了 VolumeReadBytesVolumeReadOps 指标。

平均写入大小(KiB/op)

Avg(VolumeWriteBytes) / 1024

对基于 Nitro 的实例,以下公式使用 CloudWatch Metric Math 计算平均写入大小:

(Sum(VolumeWriteBytes) / Sum(VolumeWriteOps)) / 1024

在 EBS CloudWatch 控制台中提供了 VolumeWriteBytesVolumeWriteOps 指标。

平均读取延迟(ms/op)

Avg(VolumeTotalReadTime) × 1000

对基于 Nitro 的实例,以下公式使用 CloudWatch Metric Math 计算平均读取延迟:

(Sum(VolumeTotalReadTime) / Sum(VolumeReadOps)) × 1000

在 EBS CloudWatch 控制台中提供了 VolumeTotalReadTimeVolumeReadOps 指标。

平均写入延迟(ms/op)

Avg(VolumeTotalWriteTime) × 1000

对基于 Nitro 的实例,以下公式使用 CloudWatch Metric Math 计算平均写入延迟:

(Sum(VolumeTotalWriteTime) / Sum(VolumeWriteOps)) * 1000

在 EBS CloudWatch 控制台中提供了 VolumeTotalWriteTimeVolumeWriteOps 指标。

对于平均延迟图表和平均大小图表,平均值通过该期间内完成的操作(读取或写入,以适用于图表者为准)总数计算得出。