Amazon CloudWatch metrics for Amazon EBS - Amazon Elastic Compute Cloud
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Amazon CloudWatch metrics for Amazon EBS

Amazon CloudWatch metrics are statistical data that you can use to view, analyze, and set alarms on the operational behavior of your volumes.

Data is available automatically in 1-minute periods at no charge.

When you get data from CloudWatch, you can include a Period request parameter to specify the granularity of the returned data. This is different than the period that we use when we collect the data (1-minute periods). We recommend that you specify a period in your request that is equal to or greater than the collection period to ensure that the returned data is valid.

You can get the data using either the CloudWatch API or the Amazon EC2 console. The console takes the raw data from the CloudWatch API and displays a series of graphs based on the data. Depending on your needs, you might prefer to use either the data from the API or the graphs in the console.

Metrics for Amazon EBS volumes

The AWS/EBS namespace includes the following metrics for EBS volumes that are attached to all instance types. All Amazon EBS volume types automatically send 1-minute metrics to CloudWatch, but only when the volume is attached to an instance.

To get information about the available disk space from the operating system on an instance, see View free disk space.

Note

Some metrics have differences on instances that are built on the Nitro System. For a list of these instance types, see Instances built on the Nitro System.

Metric Description Units Dimensions Meaningful statistics
VolumeReadBytes

Provides information on the read operations in a specified period of time.

  • The Sum statistic reports the total number of bytes transferred during the period.

  • The Average statistic reports the average size of each read operation during the period, except on volumes attached to a Nitro instance, where the average represents the average over the specified period.

  • The SampleCount statistic reports the total numberof read operations during the period, except on volumes attached to a Nitro-based instance, where the sample count represents the number of data points used in the statistical calculation.

Note: For Xen instances, data is reported only when there is read activity on the volume.

Bytes

VolumeId

  • Average

  • Sum

  • SampleCount

  • Minimum | Maximum — only for volumes attached to Nitro-based instances

VolumeWriteBytes

Provides information on the write operations in a specified period of time

  • The Sum statistic reports the total number of bytes transferred during the period.

  • The Average statistic reports the average size of each write operation during the period, except on volumes attached to a Nitro-based instance, where the average represents the average over the specified period.

  • The SampleCount statistic reports the total number of write operations during the period, except on volumes attached to a Nitro-based instance, where the sample count represents the number of data points used in the statistical calculation.

Note: For Xen instances, data is reported only when there is write activity on the volume.

Bytes

VolumeId

  • Average

  • Sum

  • SampleCount

  • Minimum | Maximum — only for volumes attached to Nitro-based instances

VolumeReadOps

The total number of read operations in a specified period of time.

Note: Read operations are counted on completion.

To calculate the average read operations per second (read IOPS) for the period, divide the total read operations in the period by the number of seconds in that period.

Count

VolumeId

  • Average

  • Sum

  • Minimum | Maximum — only for volumes attached to Nitro-based instances

VolumeWriteOps

The total number of write operations in a specified period of time.

Note: Write operations are counted on completion.

To calculate the average write operations per second (write IOPS) for the period, divide the total write operations in the period by the number of seconds in that period.

Count

VolumeId

  • Average

  • Sum

  • Minimum | Maximum — only for volumes attached to Nitro-based instances

VolumeTotalReadTime

Note: Not supported with Multi-Attach enabled volumes.

The total number of seconds spent by all read operations that completed in a specified period of time. If multiple requests are submitted at the same time, this total could be greater than the length of the period. For example, for a period of 1 minutes (60 seconds): if 150 operations completed during that period, and each operation took 1 second, the value would be 150 seconds.

Note: For Xen instances, data is reported only when there is read activity on the volume.

Seconds

VolumeId

  • Average — not relevant for volumes attached to Nitro-based instances

  • Sum

  • Minimum | Maximum — only for volumes attached to Nitro-based instances

VolumeTotalWriteTime

Note: Not supported with Multi-Attach enabled volumes.

The total number of seconds spent by all write operations that completed in a specified period of time. If multiple requests are submitted at the same time, this total could be greater than the length of the period. For example, for a period of 1 minute (60 seconds): if 150 operations completed during that period, and each operation took 1 second, the value would be 150 seconds.

Note: For Xen instances, data is reported only when there is write activity on the volume.

Seconds

VolumeId

  • Average — not relevant for volumes attached to Nitro-based instances

  • Sum

  • Minimum | Maximum — only for volumes attached to Nitro-based instances

VolumeIdleTime

Note: Not supported with Multi-Attach enabled volumes.

The total number of seconds in a specified period of time when no read or write operations were submitted.

Seconds

VolumeId

  • Average — not relevant for volumes attached to Nitro-based instances

  • Sum

  • Minimum | Maximum — only for volumes attached to Nitro-based instances

VolumeQueueLength

The number of read and write operation requests waiting to be completed in a specified period of time.

Count

VolumeId

  • Average

  • Sum — not relevant for volumes attached to Nitro instances

  • Minimum | Maximum — only for volumes attached to Nitro instances

VolumeStalledIOCheck

Note: For Nitro instances only. Not published for volumes attached to Amazon ECS and Amazon Fargate tasks.

Reports whether a volume has passed or failed a stalled IO check in the last minute. This metric can be either 0 (passed) or 1 (failed). For more information, see Monitor I/O characteristics using CloudWatch.

Count

VolumeId | InstanceId

  • Sum

  • Average

  • Minimum

  • Maximum

VolumeThroughputPercentage
Note:
  • Provisioned IOPS SSD volumes only.

  • Not supported with Multi-Attach enabled volumes.

The percentage of I/O operations per second (IOPS) delivered of the total IOPS provisioned for an Amazon EBS volume. Provisioned IOPS SSD volumes deliver their provisioned performance 99.9 percent of the time.

During a write, if there are no other pending I/O requests in a minute, the metric value will be 100 percent. Also, a volume's I/O performance may become degraded temporarily due to an action you have taken (for example, creating a snapshot of a volume during peak usage, running the volume on a non-EBS-optimized instance, or accessing data on the volume for the first time).

Percent

VolumeId

  • Average

  • Minimum | Maximum

VolumeConsumedReadWriteOps

Note: Provisioned IOPS SSD volumes only.

The total amount of read and write operations (normalized to 256K capacity units) consumed ina specified period of time.

I/O operations that are smaller than 256K each count as 1 consumed IOPS. I/O operations that are larger than 256K are counted in 256K capacity units. For example, a 1024K I/O would count as 4 consumed IOPS.

Count

VolumeId

  • Average

  • Sum

  • Minimum | Maximum

BurstBalance

Note: General Purpose SSD (gp2), Throughput Optimized HDD (st1), and Cold HDD (sc1) volumes only.

Provides information about the percentage of I/O credits (for gp2) or throughput credits (for st1 and sc1) remaining in the burst bucket. Data is reported to CloudWatch only when the volume is active. If the volume is not attached, no data is reported.

If the baseline performance of the volume exceeds the maximum burst performance, credits are never spent. If the volume is attached to an instance built on the Nitro System, the burst balance is not reported. For other instances, the reported burst balance is 100%. For more information, see gp2 volume performance.

Percent

VolumeId

  • Average

  • Sum — not relevant for volumes attached to Nitro instances.

  • Minimum | Maximum

Metrics for Nitro instances

The AWS/EC2 namespace includes additional Amazon EBS metrics for volumes that are attached to Nitro-based instances that are not bare metal instances.

Metric Description Unit Meaningful statistics
EBSReadOps

Completed read operations from all Amazon EBS volumes attached to the instance in a specified period of time.

To calculate the average read I/O operations per second (Read IOPS) for the period, divide the total operations in the period by the number of seconds in that period. If you are using basic (5-minute) monitoring, you can divide this number by 300 to calculate the Read IOPS. If you have detailed (1-minute) monitoring, divide it by 60. You can also use the CloudWatch metric math function DIFF_TIME to find the operations per second. For example, if you have graphed EBSReadOps in CloudWatch as m1, the metric math formula m1/(DIFF_TIME(m1)) returns the metric in operations/second. For more information about DIFF_TIME and other metric math functions, see Use metric math in the Amazon CloudWatch User Guide.

Count

  • Sum

  • Average

  • Minimum

  • Maximum

EBSWriteOps

Completed write operations to all EBS volumes attached to the instance in a specified period of time.

To calculate the average write I/O operations per second (Write IOPS) for the period, divide the total operations in the period by the number of seconds in that period. If you are using basic (5-minute) monitoring, you can divide this number by 300 to calculate the Write IOPS. If you have detailed (1-minute) monitoring, divide it by 60. You can also use the CloudWatch metric math function DIFF_TIME to find the operations per second. For example, if you have graphed EBSWriteOps in CloudWatch as m1, the metric math formula m1/(DIFF_TIME(m1)) returns the metric in operations/second. For more information about DIFF_TIME and other metric math functions, see Use metric math in the Amazon CloudWatch User Guide.

Count

  • Sum

  • Average

  • Minimum

  • Maximum

EBSReadBytes

Bytes read from all EBS volumes attached to the instance in a specified period of time.

The number reported is the number of bytes read during the period. If you are using basic (5-minute) monitoring, you can divide this number by 300 to find Read Bytes/second. If you have detailed (1-minute) monitoring, divide it by 60. You can also use the CloudWatch metric math function DIFF_TIME to find the bytes per second. For example, if you have graphed EBSReadBytes in CloudWatch as m1, the metric math formula m1/(DIFF_TIME(m1)) returns the metric in bytes/second. For more information about DIFF_TIME and other metric math functions, see Use metric math in the Amazon CloudWatch User Guide.

Bytes

  • Sum

  • Average

  • Minimum

  • Maximum

EBSWriteBytes

Bytes written to all EBS volumes attached to the instance in a specified period of time.

The number reported is the number of bytes written during the period. If you are using basic (5-minute) monitoring, you can divide this number by 300 to find Write Bytes/second. If you have detailed (1-minute) monitoring, divide it by 60. You can also use the CloudWatch metric math function DIFF_TIME to find the bytes per second. For example, if you have graphed EBSWriteBytes in CloudWatch as m1, the metric math formula m1/(DIFF_TIME(m1)) returns the metric in bytes/second. For more information about DIFF_TIME and other metric math functions, see Use metric math in the Amazon CloudWatch User Guide.

Bytes

  • Sum

  • Average

  • Minimum

  • Maximum

EBSIOBalance%

Provides information about the percentage of I/O credits remaining in the burst bucket. This metric is available for basic monitoring only.

This metric is available only for some *.4xlarge instance sizes and smaller that burst to their maximum performance for only 30 minutes at least once every 24 hours. For a complete list of instance sizes that support this metric, see the instances types indicated with an asterisk (*) in the Instance size column in the EBS optimized by default table.

The Sum statistic is not applicable to this metric.

Percent

  • Minimum

  • Maximum

EBSByteBalance%

Provides information about the percentage of throughput credits remaining in the burst bucket. This metric is available for basic monitoring only.

This metric is available only for some *.4xlarge instance sizes and smaller that burst to their maximum performance for only 30 minutes at least once every 24 hours. For a complete list of instance sizes that support this metric, see the instances types indicated with an asterisk (*) in the Instance size column in the EBS optimized by default table.

The Sum statistic is not applicable to this metric.

Percent

  • Minimum

  • Maximum

Metrics for fast snapshot restore

AWS/EBS namespace includes the following metrics for fast snapshot restore.

Metric Description Units Dimensions Meaningful statistics
FastSnapshotRestoreCreditsBucketSize

The maximum number of volume create credits that can be accumulated. This metric is reported per snapshot per Availability Zone.

Count

SnapshotId | AvailabilityZone

  • Average

  • Minimum | Maximum

Note: The most meaningful statistic is Average. The results for the Minimum and Maximum statistics are the same as for Average and could be used instead.

FastSnapshotRestoreCreditsBalance

The number of volume create credits available. This metric is reported per snapshot per Availability Zone.

Count

SnapshotId | AvailabilityZone

  • Average

  • Minimum | Maximum

Note: The most meaningful statistic is Average. The results for the Minimum and Maximum statistics are the same as for Average and could be used instead.

Amazon EC2 console graphs

After you create a volume, you can view the volume's monitoring graphs in the Amazon EC2 console. Select a volume on the Volumes page in the console and choose Monitoring. The following table lists the graphs that are displayed. The column on the right describes how the raw data metrics from the CloudWatch API are used to produce each graph. The period for all the graphs is 5 minutes.

Graph Description using raw metrics

Read throughput (KiB/s)

Sum(VolumeReadBytes) / Period / 1024

Write throughput (KiB/s)

Sum(VolumeWriteBytes) / Period / 1024

Read operations (Ops/s)

Sum(VolumeReadOps) / Period

Write operations (Ops/s)

Sum(VolumeWriteOps) / Period

Average queue length (Operations)

Avg(VolumeQueueLength)

Time spent idle (%)

Sum(VolumeIdleTime) / Period × 100

Average read size (KiB/op)

Avg(VolumeReadBytes) / 1024

For Nitro-based instances, the following formula derives Average Read Size using CloudWatch Metric Math:

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

The VolumeReadBytes and VolumeReadOps metrics are available in the EBS CloudWatch console.

Average write size (KiB/op)

Avg(VolumeWriteBytes) / 1024

For Nitro-based instances, the following formula derives Average Write Size using CloudWatch Metric Math:

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

The VolumeWriteBytes and VolumeWriteOps metrics are available in the EBS CloudWatch console.

Average read latency (ms/op)

Avg(VolumeTotalReadTime) × 1000

For Nitro-based instances, the following formula derives Average Read Latency using CloudWatch Metric Math:

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

The VolumeTotalReadTime and VolumeReadOps metrics are available in the EBS CloudWatch console.

Average write latency (ms/op)

Avg(VolumeTotalWriteTime) × 1000

For Nitro-based instances, the following formula derives Average Write Latency using CloudWatch Metric Math:

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

The VolumeTotalWriteTime and VolumeWriteOps metrics are available in the EBS CloudWatch console.

For the average latency graphs and average size graphs, the average is calculated over the total number of operations (read or write, whichever is applicable to the graph) that completed during the period.