Question: How do I resolve a yellow or red health status warning in my Elastic Beanstalk environment?

I want to repair the health status of my AWS Elastic Beanstalk environment when it is in yellow (Warning) or red (Degraded) status.

Short descriptionA yellow or red health status warning in your Elastic Beanstalk environment can result from some of the following common issues:The health agent is reporting an insufficient amount of data on an Amazon Elastic Compute Cloud (Amazon EC2) instance.An operation is in progress on an instance within the command timeout.An Elastic Beanstalk environment is updating.Load balancer health checks are failing.The health agent is reporting a high number of request failures.An environment resource, such as an instance, is unavailable.An operation on an instance is taking a long time.An instance is in a Severe state.The Elastic Beanstalk health daemon failed.The Elastic Beanstalk environment failed one or more health checks.Elastic Beanstalk is receiving an increased number of 4xx or 5xx HTTP return codes.There are deployment failures with command timeouts.For more information on warnings, see Health colors and statuses.

ResolutionIdentify the cause of the health warningOpen the Elastic Beanstalk console.Choose your application.In the navigation pane, choose Events.In the Type column, look for recent events with a Severity type of WARN, and then note these events for troubleshooting later on.In the navigation pane, choose Dashboard.In the Health section, choose Causes.Now, you can view the overall health of your environment on the Enhanced Health Overview page.For more information, see Enhanced health monitoring with the environment management console.Troubleshoot the identified cause of the health warningBased on the health issues that you identify in the Enhanced Health Overview page, choose one of the following troubleshooting approaches:For failing load balancer health checks see How do I troubleshoot ELB health checks with Elastic Beanstalk?For other health check failures, see Basic health reporting, or see Enhanced health reporting and monitoring if you're using enhanced health reporting.For operations that are taking too long, identify the operation in progress using the Elastic Beanstalk event stream. Or, monitor the /var/log/eb-engine.log by logging in to your Amazon EC2 instance.Note: Operations that take longer than usual are typically environment deployments or configuration updates.For an increased number of 4xx and 5xx HTTP return codes, identify the cause by monitoring the access logs of the proxy server. Then, compare the access logs with the application logs to identify the pattern of increased errors. For more information, see Common errors.Note: The proxy server logs can be the access logs for Apache ( /var/log/httpd/access_log), NGINX ( /var/log/nginx/access_log), or Internet Information Services (C:\inetpub\logs\LogFiles), depending on your platform.For instances in a Severe state, choose a solution based on the warning issued. For more information, see Troubleshoot EC2 instances.Note: Your instances can be in a Severe state due to an ongoing deployment, failed health daemon on the Amazon EC2 instance, or high resource utilization. In most cases, the warning state in your environment is temporary and transitions to green (OK) after you address the cause of the issue. For more information, see Health colors and statuses.For a failed Elastic Beanstalk health daemon, log in to your Amazon EC2 instance and monitor /var/log/messages and /var/log/healthd/daemon.log to identify the cause.Note: If you see a message saying None of the instances are sending data, then see Resolving errors from EC2 instances failing to communicate.For any warnings related to CPU or memory utilization issues, check How do I troubleshoot memory and CPU issues in Elastic Beanstalk?