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.
Topics
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 |
---|---|---|---|---|
VolumeAvgReadLatency |
NoteSupported for all volume types attached to Nitro instances. Not published for volumes attached to Amazon ECS and AWS Fargate tasks. The average time taken to complete read operations in a minute. Use this metric to monitor the average I/O latency of the EBS volumes attached to your Amazon EC2 instances. The average is calculated based on I/O operations that completed in the last minute. If no operations completed within the last minute, then value for the metric is zero. For Multi-Attach enabled volumes, use the |
Milliseconds |
|
|
VolumeAvgWriteLatency |
NoteSupported for all volume types attached to Nitro instances. Not published for volumes attached to Amazon ECS and AWS Fargate tasks. The average time taken to complete write operations in a minute. Use this metric to monitor the average I/O latency of the EBS volumes attached to your Amazon EC2 instances. The average is calculated based on I/O operations that completed in the last minute. If no operations completed within the last minute, then value for the metric is zero. For Multi-Attach enabled volumes, use the |
Milliseconds |
|
|
VolumeIOPSExceededCheck |
NoteSupported for all volume types, except magnetic ( Reports whether an application consistently attempted to drive IOPS that exceeds the
volume's provisioned IOPS performance within the last minute. This metric can be either
|
None |
|
|
VolumeThroughputExceededCheck |
NoteSupported for all volume types, except magnetic ( Reports whether an application consistently attempted to drive throughput that exceeds the
volume's provisioned throughput performance within the last minute. This metric can be either
|
None |
|
|
VolumeReadBytes |
Provides information on the read operations in a specified period of time.
NoteFor Xen instances, data is reported only when there is read activity on the volume. |
Bytes |
|
|
VolumeWriteBytes |
Provides information on the write operations in a specified period of time
NoteFor Xen instances, data is reported only when there is write activity on the volume. |
Bytes |
|
|
VolumeReadOps |
The total number of read operations in a specified period of time. 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 |
|
|
VolumeWriteOps |
The total number of write operations in a specified period of time. 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 |
|
|
VolumeTotalReadTime |
NoteNot supported with Multi-Attach enabled volumes. For Xen instances, data is reported only when there is read activity on the volume. 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. |
Seconds |
|
|
VolumeTotalWriteTime |
NoteNot supported with Multi-Attach enabled volumes. For Xen instances, data is reported only when there is write activity on the volume. 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. |
Seconds |
|
|
VolumeIdleTime |
NoteNot 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 |
|
|
VolumeQueueLength |
The number of read and write operation requests waiting to be completed in a specified period of time. |
Count |
|
|
VolumeStalledIOCheck |
NoteFor Nitro instances only. Not published for volumes attached to Amazon ECS and AWS Fargate tasks. Reports whether a volume has passed or failed a stalled IO check
in the last minute.This metric can be either |
None |
|
|
VolumeThroughputPercentage |
NoteProvisioned 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 |
|
|
VolumeConsumedReadWriteOps |
NoteProvisioned IOPS SSD volumes only. The total amount of read and write operations (normalized to 256K capacity units) consumed in a 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 |
|
|
BurstBalance |
Note
Provides information about the percentage of I/O credits (for |
Percent |
|
|
Metrics for Amazon EBS snapshots
The AWS/EBS
namespace includes the following metrics for Amazon EBS snapshots.
Metric | Description | Units | Dimensions | Meaningful statistics |
---|---|---|---|---|
SnapshotCopyBytesTransferred |
The amount of snapshot data copied to an AWS Region. |
Bytes |
|
|
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
|
Count |
|
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 |
Count |
|
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 |
Bytes |
|
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 |
Bytes |
|
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 The |
Percent |
|
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 The |
Percent |
|
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. |
None |
|
NoteThe most meaningful statistic is |
FastSnapshotRestoreCreditsBalance |
The number of volume create credits available. This metric is reported per snapshot per Availability Zone. |
None |
|
NoteThe most meaningful statistic is |
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) |
For Nitro-based instances, the following formula derives Average Read Size using CloudWatch Metric Math:
The |
Average write size (KiB/op) |
For Nitro-based instances, the following formula derives Average Write Size using CloudWatch Metric Math:
The |
Average read latency (ms/op) |
For Nitro-based instances, the following formula derives Average Read Latency using CloudWatch Metric Math:
The |
Average write latency (ms/op) |
For Nitro-based instances, the following formula derives Average Write Latency using CloudWatch Metric Math:
The |
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.