CloudWatch metrics that are available for your instances
Amazon EC2 sends metrics to Amazon CloudWatch. You can use the AWS Management Console, the AWS CLI, or an API to list the metrics that Amazon EC2 sends to CloudWatch. By default, each data point covers the 5 minutes that follow the start time of activity for the instance. If you've enabled detailed monitoring, each data point covers the next minute of activity from the start time. Note that for the Minimum, Maximum, and Average statistics, the minimum granularity for the metrics that EC2 provides is 1 minute.
For information about how to view the available metrics using the AWS Management Console or the AWS CLI, see View available metrics in the Amazon CloudWatch User Guide.
For information about getting the statistics for these metrics, see Statistics for CloudWatch metrics for your instances.
Contents
Instance metrics
The AWS/EC2
namespace includes the following instance metrics.
Metric | Description | Unit | Meaningful statistics |
---|---|---|---|
CPUUtilization |
The percentage of physical CPU time that Amazon EC2 uses to run the EC2 instance, which includes time spent to run both the user code and the Amazon EC2 code. At a very high level, Tools in your operating system can show a different percentage than CloudWatch due to factors such as legacy device simulation, configuration of non-legacy devices, interrupt-heavy workloads, live migration, and live update. |
Percent |
|
DiskReadOps |
Completed read operations from all instance store volumes available to the instance in a specified period of time. To calculate the average I/O operations per second (IOPS) for the period, divide the total operations in the period by the number of seconds in that period. If there are no instance store volumes, either the value is 0 or the metric is not reported. |
Count |
|
DiskWriteOps |
Completed write operations to all instance store volumes available to the instance in a specified period of time. To calculate the average I/O operations per second (IOPS) for the period, divide the total operations in the period by the number of seconds in that period. If there are no instance store volumes, either the value is 0 or the metric is not reported. |
Count |
|
DiskReadBytes |
Bytes read from all instance store volumes available to the instance. This metric is used to determine the volume of the data the application reads from the hard disk of the instance. This can be used to determine the speed of the application. The number reported is the number of bytes received during the period. If you
are using basic (5-minute) monitoring, you can divide this number by 300 to find
Bytes/second. If you have detailed (1-minute) monitoring, divide it by 60. You can
also use the CloudWatch metric math function If there are no instance store volumes, either the value is 0 or the metric is not reported. |
Bytes |
|
DiskWriteBytes |
Bytes written to all instance store volumes available to the instance. This metric is used to determine the volume of the data the application writes onto the hard disk of the instance. This can be used to determine the speed of the application. The number reported is the number of bytes received during the period. If you
are using basic (5-minute) monitoring, you can divide this number by 300 to find
Bytes/second. If you have detailed (1-minute) monitoring, divide it by 60. You can
also use the CloudWatch metric math function If there are no instance store volumes, either the value is 0 or the metric is not reported. |
Bytes |
|
MetadataNoToken |
The number of times the Instance Metadata Service (IMDS) was successfully accessed using a method that does not use a token. This metric is used to determine if there are any processes accessing instance metadata that are using Instance Metadata Service Version 1 (IMDSv1), which does not use a token. If all requests use token-backed sessions, i.e., Instance Metadata Service Version 2 (IMDSv2), the value is 0. For more information, see Transition to using Instance Metadata Service Version 2. |
Count |
|
MetadataNoTokenRejected |
The number of times an IMDSv1 call was attempted after IMDSv1 was disabled. If this metric appears, it indicates that an IMDSv1 call was attempted and rejected. You can either re-enable IMDSv1 or make sure all of your calls use IMDSv2. For more information, see Transition to using Instance Metadata Service Version 2. |
Count |
|
NetworkIn |
The number of bytes received by the instance on all network interfaces. This metric identifies the volume of incoming network traffic to a single instance. The number reported is the number of bytes received during the period. If you
are using basic (5-minute) monitoring and the statistic is Sum, you can divide
this number by 300 to find Bytes/second. If you have detailed (1-minute)
monitoring and the statistic is Sum, divide it by 60. You can also use the CloudWatch
metric math function |
Bytes |
|
NetworkOut |
The number of bytes sent out by the instance on all network interfaces. This metric identifies the volume of outgoing network traffic from a single instance. The number reported is the number of bytes sent during the period. If you are
using basic (5-minute) monitoring and the statistic is Sum, you can divide this
number by 300 to find Bytes/second. If you have detailed (1-minute) monitoring and
the statistic is Sum, divide it by 60. You can also use the CloudWatch metric math
function |
Bytes |
|
NetworkPacketsIn |
The number of packets received by the instance on all network interfaces. This metric identifies the volume of incoming traffic in terms of the number of packets on a single instance. This metric is available for basic monitoring only (5-minute periods). To
calculate the number of packets per second (PPS) your instance received for the 5
minutes, divide the Sum statistic value by 300. You can also use the CloudWatch metric
math function |
Count |
|
NetworkPacketsOut |
The number of packets sent out by the instance on all network interfaces. This metric identifies the volume of outgoing traffic in terms of the number of packets on a single instance. This metric is available for basic monitoring only (5-minute periods). To
calculate the number of packets per second (PPS) your instance sent for the 5
minutes, divide the Sum statistic value by 300. You can also use the CloudWatch metric
math function |
Count |
|
CPU credit metrics
The AWS/EC2
namespace includes the following CPU credit metrics for your
burstable performance instances.
Metric | Description | Unit | Meaningful statistics |
---|---|---|---|
CPUCreditUsage |
The number of CPU credits spent by the instance for CPU utilization. One CPU credit equals one vCPU running at 100% utilization for one minute or an equivalent combination of vCPUs, utilization, and time (for example, one vCPU running at 50% utilization for two minutes or two vCPUs running at 25% utilization for two minutes). CPU credit metrics are available at a 5-minute frequency only. If you specify
a period greater than five minutes, use the |
Credits (vCPU-minutes) |
|
CPUCreditBalance |
The number of earned CPU credits that an instance has
accrued since it was launched or started. For T2 Standard, the
Credits are accrued in the credit balance after they are earned, and removed from the credit balance when they are spent. The credit balance has a maximum limit, determined by the instance size. After the limit is reached, any new credits that are earned are discarded. For T2 Standard, launch credits do not count towards the limit. The credits in the When an instance is running, credits in the CPU credit metrics are available at a 5-minute frequency only. |
Credits (vCPU-minutes) |
|
CPUSurplusCreditBalance
|
The number of surplus credits that have been spent by an
The CPU credit metrics are available at a 5-minute frequency only. |
Credits (vCPU-minutes) |
|
CPUSurplusCreditsCharged |
The number of spent surplus credits that are not paid down by earned CPU credits, and which thus incur an additional charge. Spent surplus credits are charged when any of the following occurs:
CPU credit metrics are available at a 5-minute frequency only. |
Credits (vCPU-minutes) |
|
Dedicated Host metrics
The AWS/EC2
namespace includes the following metrics for T3 Dedicated Hosts.
Metric | Description | Unit | Meaningful statistics |
---|---|---|---|
DedicatedHostCPUUtilization |
The percentage of allocated compute capacity that is currently in use by the instances running on the Dedicated Host. |
Percent |
|
Amazon EBS metrics for Nitro-based 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 |
|
For information about the metrics provided for your EBS volumes, see Metrics for Amazon EBS volumes in the Amazon EBS User Guide. For information about the metrics provided for your EC2 Fleets and Spot Fleets, see Monitor your EC2 Fleet or Spot Fleet using CloudWatch.
Status check metrics
By default, status check metrics are available at a 1-minute frequency at no charge.
For a newly-launched instance, status check metric data is only available after the
instance has completed the initialization state (within a few minutes of the instance
entering the running
state). For more information about EC2 status checks,
see Status checks for Amazon EC2 instances.
The AWS/EC2
namespace includes the following status check metrics.
Metric | Description | Unit | Meaningful statistics |
---|---|---|---|
StatusCheckFailed |
Reports whether the instance has passed all status checks in the last minute. This metric can be either By default, this metric is available at a 1-minute frequency at no charge. |
Count |
|
StatusCheckFailed_Instance |
Reports whether the instance has passed the instance status check in the last minute. This metric can be either By default, this metric is available at a 1-minute frequency at no charge. |
Count |
|
StatusCheckFailed_System |
Reports whether the instance has passed the system status check in the last minute. This metric can be either By default, this metric is available at a 1-minute frequency at no charge. |
Count |
|
StatusCheckFailed_AttachedEBS |
Reports whether the instance has passed the attached EBS status check in the last minute. This metric can be either By default, this metric is available at a 1-minute frequency at no charge. |
Count |
|
The AWS/EBS
namespace includes the following status check metric.
Metric | Description | Unit | Meaningful statistics |
---|---|---|---|
VolumeStalledIOCheck |
Note: For 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 |
|
Traffic mirroring metrics
The AWS/EC2
namespace includes metrics for mirrored traffic. For more
information, see Monitor mirrored traffic using Amazon CloudWatch in the
Amazon VPC Traffic Mirroring Guide.
Auto Scaling group metrics
The AWS/AutoScaling
namespace includes metrics for Auto Scaling groups. For more
information, see Monitor CloudWatch metrics for your Auto Scaling groups and instances in the
Amazon EC2 Auto Scaling User Guide.
Amazon EC2 metric dimensions
You can use the following dimensions to refine the metrics listed in the previous tables.
Dimension | Description |
---|---|
AutoScalingGroupName
|
This dimension filters the data you request for all instances in a specified capacity group. An Auto Scaling group is a collection of instances you define if you're using Auto Scaling. This dimension is available only for Amazon EC2 metrics when the instances are in such an Auto Scaling group. Available for instances with Detailed or Basic Monitoring enabled. |
ImageId
|
This dimension filters the data you request for all instances running this Amazon EC2 Amazon Machine Image (AMI). Available for instances with Detailed Monitoring enabled. |
InstanceId
|
This dimension filters the data you request for the identified instance only. This helps you pinpoint an exact instance from which to monitor data. |
InstanceType
|
This dimension filters the data you request for all instances running with this specified instance type. This helps you categorize your data by the type of instance running. For example, you might compare data from an m1.small instance and an m1.large instance to determine which has the better business value for your application. Available for instances with Detailed Monitoring enabled. |
Amazon EC2 usage metrics
You can use CloudWatch usage metrics to provide visibility into your account's usage of resources. Use these metrics to visualize your current service usage on CloudWatch graphs and dashboards.
Amazon EC2 usage metrics correspond to AWS service quotas. You can configure alarms that alert you when your usage approaches a service quota. For more information about CloudWatch integration with service quotas, see AWS usage metrics in the Amazon CloudWatch User Guide.
Amazon EC2 publishes the following metrics in the AWS/Usage
namespace.
Metric | Description |
---|---|
|
The number of the specified resources running in your account. The resources are defined by the dimensions associated with the metric. The most useful statistic for this metric is |
The following dimensions are used to refine the usage metrics that are published by Amazon EC2.
Dimension | Description |
---|---|
Service
|
The name of the AWS service containing the resource. For Amazon EC2 usage metrics, the value for this dimension is |
Type
|
The type of entity that is being reported. Currently, the only valid value for Amazon EC2 usage metrics is |
Resource
|
The type of resource that is running. Currently, the only valid value for Amazon EC2 usage metrics is |
Class
|
The class of resource being tracked. For Amazon EC2 usage metrics with The values for this dimension define the first letter of the instance types that are reported by the metric. For example,
|