Status checks for your instances
With instance status monitoring, you can quickly determine whether Amazon EC2 has detected
any problems that might prevent your instances from running applications. Amazon EC2 performs
automated checks on every running EC2 instance to identify hardware and software issues.
You can view the results of these status checks to identify specific and detectable
problems. The event status data augments the information that Amazon EC2 already provides
about the state of each instance (such as pending
, running
,
stopping
) and the utilization metrics that Amazon CloudWatch monitors (CPU
utilization, network traffic, and disk activity).
Status checks are performed every minute, returning a pass or a fail status. If all checks pass, the overall status of the instance is OK. If one or more checks fail, the overall status is impaired. Status checks are built into Amazon EC2, so they cannot be disabled or deleted.
When a status check fails, the corresponding CloudWatch metric for status checks is incremented. For more information, see Status check metrics. You can use these metrics to create CloudWatch alarms that are triggered based on the result of the status checks. For example, you can create an alarm to warn you if status checks fail on a specific instance. For more information, see Create and edit status check alarms.
You can also create an Amazon CloudWatch alarm that monitors an Amazon EC2 instance and automatically recovers the instance if it becomes impaired due to an underlying issue. For more information, see Recover your instance.
Contents
Types of status checks
We provide system status checks and instance status checks.
System status checks
System status checks monitor the Amazon systems on which your instance runs. These checks detect underlying problems with your instance that require Amazon involvement to repair. When a system status check fails, you can choose to wait for Amazon to fix the issue, or you can resolve it yourself. For instances backed by Amazon EBS, you can stop and start the instance yourself, which in most cases results in the instance being migrated to a new host. For Linux instances backed by instance store, you can terminate and replace the instance. For Windows instances, the root volume must be an Amazon EBS volume; instance store is not supported for the root volume. Note that instance store volumes are ephemeral and all data is lost when the instance is stopped.
The following are examples of problems that can cause system status checks to fail:
-
Loss of network connectivity
-
Loss of system power
-
Software issues on the physical host
-
Hardware issues on the physical host that impact network reachability
If a system status check fails, we increment the StatusCheckFailed_System metric.
Bare metal instances
If you perform a restart from the operating system on a bare metal instance, the system status check might temporarily return a fail status. When the instance becomes available, the system status check should return a pass status.
Instance status checks
Instance status checks monitor the software and network configuration of your individual instance. Amazon EC2 checks the health of the instance by sending an address resolution protocol (ARP) request to the network interface (NIC). These checks detect problems that require your involvement to repair. When an instance status check fails, you typically must address the problem yourself (for example, by rebooting the instance or by making instance configuration changes).
The following are examples of problems that can cause instance status checks to fail:
-
Failed system status checks
-
Incorrect networking or startup configuration
-
Exhausted memory
-
Corrupted file system
-
During instance reboot or while a Windows instance store-backed instance is being bundled, an instance status check reports a failure until the instance becomes available again.
If an instance status check fails, we increment the StatusCheckFailed_Instance metric.
Bare metal instances
If you perform a restart from the operating system on a bare metal instance, the instance status check might temporarily return a fail status. When the instance becomes available, the instance status check should return a pass status.
View status checks
You can view and work with status checks using the Amazon EC2 console or the Amazon CLI.
View status using the console
To view status checks using the Amazon EC2 console, perform the following steps.
To view status checks (console)
-
Open the Amazon EC2 console at https://console.amazonaws.cn/ec2/
. -
In the navigation pane, choose Instances.
-
On the Instances page, the Status check column lists the operational status of each instance.
-
To view the status of a specific instance, select the instance, and then choose the Status checks tab.
If your instance has a failed status check, you typically must address the problem yourself (for example, by rebooting the instance or by making instance configuration changes).
-
To review the CloudWatch metrics for status checks, select the instance, and then choose the Monitoring tab. Scroll until you see the graphs for the following metrics:
-
Status check failed (any)
-
Status check failed (instance)
-
Status check failed (system)
For more information, see Status check metrics.
-
View status using the command line
You can view status checks for running instances by using the describe-instance-status (Amazon CLI) command.
To view the status of all instances, use the following command.
aws ec2 describe-instance-status
To get the status of all instances with an instance status of
impaired
, use the following command.
aws ec2 describe-instance-status \ --filters Name=instance-status.status,Values=impaired
To get the status of a single instance, use the following command.
aws ec2 describe-instance-status \ --instance-ids
i-1234567890abcdef0
Alternatively, use the following commands:
-
Get-EC2InstanceStatus (Amazon Tools for Windows PowerShell)
-
DescribeInstanceStatus (Amazon EC2 Query API)
Report instance status
You can provide feedback if you are having problems with an instance whose status is not shown as impaired, or if you want to send Amazon additional details about the problems you are experiencing with an impaired instance.
We use reported feedback to identify issues impacting multiple customers, but do not respond to individual account issues. Providing feedback does not change the status check results that you currently see for the instance.
Report status feedback using the console
To report instance status (console)
-
Open the Amazon EC2 console at https://console.amazonaws.cn/ec2/
. -
In the navigation pane, choose Instances.
-
Select the instance, choose the Status Checks tab, choose Actions (the second Actions menu in the bottom half of the page), and then choose Report instance status.
-
Complete the Report instance status form, and then choose Submit.
Report status feedback using the command line
Use the report-instance-status (Amazon CLI) command to send feedback about the status of an impaired instance.
aws ec2 report-instance-status \ --instances
i-1234567890abcdef0
\ --status impaired \ --reason-codescode
Alternatively, use the following commands:
-
Send-EC2InstanceStatus (Amazon Tools for Windows PowerShell)
-
ReportInstanceStatus (Amazon EC2 Query API)
Create and edit status check alarms
You can use the status check metrics to create CloudWatch alarms to notify you when an instance has a failed status check.
Create a status check alarm using the console
Use the following procedure to configure an alarm that sends you a notification by email, or stops, terminates, or recovers an instance when it fails a status check.
To create a status check alarm (console)
Open the Amazon EC2 console at https://console.amazonaws.cn/ec2/
. -
In the navigation pane, choose Instances.
-
Select the instance, choose the Status Checks tab, and choose Actions, Create status check alarm.
-
On the Manage CloudWatch alarms page, under Add or edit alarm, choose Create an alarm.
-
For Alarm notification, turn the toggle on to configure Amazon Simple Notification Service (Amazon SNS) notifications. Select an existing Amazon SNS topic or enter a name to create a new topic.
If you add an email address to the list of recipients or created a new topic, Amazon SNS sends a subscription confirmation email message to each new address. Each recipient must confirm the subscription by choosing the link contained in that message. Alert notifications are sent only to confirmed addresses.
-
For Alarm action, turn the toggle on to specify an action to take when the alarm is triggered. Select the action.
-
For Alarm thresholds, specify the metric and criteria for the alarm.
You can leave the default settings for Group samples by (Average) and Type of data to sample (Status check failed:either), or you can change them to suit your needs.
For Consecutive period, set the number of periods to evaluate and, in Period, enter the evaluation period duration before triggering the alarm and sending an email.
-
(Optional) For Sample metric data, choose Add to dashboard.
-
Choose Create.
If you need to make changes to an instance status alarm, you can edit it.
To edit a status check alarm using the console
-
Open the Amazon EC2 console at https://console.amazonaws.cn/ec2/
. -
In the navigation pane, choose Instances.
-
Select the instance and choose Actions, Monitoring, Manage CloudWatch alarms.
-
On the Manage CloudWatch alarms page, under Add or edit alarm, choose Edit an alarm.
-
For Search for alarm, choose the alarm.
-
When you are finished making changes, choose Update.
Create a status check alarm using the Amazon CLI
In the following example, the alarm publishes a notification to an SNS topic,
arn:aws-cn:sns:us-west-2:111122223333:my-sns-topic
, when the
instance fails either the instance check or system status check for at least two
consecutive periods. The CloudWatch metric used is
StatusCheckFailed
.
To create a status check alarm using the Amazon CLI
-
Select an existing SNS topic or create a new one. For more information, see Using the Amazon CLI with Amazon SNS in the Amazon Command Line Interface User Guide.
-
Use the following list-metrics command to view the available Amazon CloudWatch metrics for Amazon EC2.
aws cloudwatch list-metrics --namespace AWS/EC2
-
Use the following put-metric-alarm command to create the alarm.
aws cloudwatch put-metric-alarm --alarm-name
StatusCheckFailed-Alarm-for-i-1234567890abcdef0
--metric-name StatusCheckFailed --namespace AWS/EC2 --statistic Maximum --dimensions Name=InstanceId,Value=i-1234567890abcdef0
--unit Count --period 300 --evaluation-periods 2 --threshold 1 --comparison-operator GreaterThanOrEqualToThreshold --alarm-actionsarn:aws-cn:sns:us-west-2:111122223333:my-sns-topic
The period is the time frame, in seconds, in which Amazon CloudWatch metrics are collected. This example uses 300, which is 60 seconds multiplied by 5 minutes. The evaluation period is the number of consecutive periods for which the value of the metric must be compared to the threshold. This example uses 2. The alarm actions are the actions to perform when this alarm is triggered. This example configures the alarm to send an email using Amazon SNS.