ElasticBeanstalk / Client / describe_environment_health
describe_environment_health#
- ElasticBeanstalk.Client.describe_environment_health(**kwargs)#
Returns information about the overall health of the specified environment. The DescribeEnvironmentHealth operation is only available with AWS Elastic Beanstalk Enhanced Health.
See also: AWS API Documentation
Request Syntax
response = client.describe_environment_health( EnvironmentName='string', EnvironmentId='string', AttributeNames=[ 'Status'|'Color'|'Causes'|'ApplicationMetrics'|'InstancesHealth'|'All'|'HealthStatus'|'RefreshedAt', ] )
- Parameters:
EnvironmentName (string) –
Specify the environment by name.
You must specify either this or an EnvironmentName, or both.
EnvironmentId (string) –
Specify the environment by ID.
You must specify either this or an EnvironmentName, or both.
AttributeNames (list) –
Specify the response elements to return. To retrieve all attributes, set to
All
. If no attribute names are specified, returns the name of the environment.(string) –
- Return type:
dict
- Returns:
Response Syntax
{ 'EnvironmentName': 'string', 'HealthStatus': 'string', 'Status': 'Green'|'Yellow'|'Red'|'Grey', 'Color': 'string', 'Causes': [ 'string', ], 'ApplicationMetrics': { 'Duration': 123, 'RequestCount': 123, 'StatusCodes': { 'Status2xx': 123, 'Status3xx': 123, 'Status4xx': 123, 'Status5xx': 123 }, 'Latency': { 'P999': 123.0, 'P99': 123.0, 'P95': 123.0, 'P90': 123.0, 'P85': 123.0, 'P75': 123.0, 'P50': 123.0, 'P10': 123.0 } }, 'InstancesHealth': { 'NoData': 123, 'Unknown': 123, 'Pending': 123, 'Ok': 123, 'Info': 123, 'Warning': 123, 'Degraded': 123, 'Severe': 123 }, 'RefreshedAt': datetime(2015, 1, 1) }
Response Structure
(dict) –
Health details for an AWS Elastic Beanstalk environment.
EnvironmentName (string) –
The environment’s name.
HealthStatus (string) –
The health status of the environment. For example,
Ok
.Status (string) –
The environment’s operational status.
Ready
,Launching
,Updating
,Terminating
, orTerminated
.Color (string) –
The health color of the environment.
Causes (list) –
Descriptions of the data that contributed to the environment’s current health status.
(string) –
ApplicationMetrics (dict) –
Application request metrics for the environment.
Duration (integer) –
The amount of time that the metrics cover (usually 10 seconds). For example, you might have 5 requests (
request_count
) within the most recent time slice of 10 seconds (duration
).RequestCount (integer) –
Average number of requests handled by the web server per second over the last 10 seconds.
StatusCodes (dict) –
Represents the percentage of requests over the last 10 seconds that resulted in each type of status code response.
Status2xx (integer) –
The percentage of requests over the last 10 seconds that resulted in a 2xx (200, 201, etc.) status code.
Status3xx (integer) –
The percentage of requests over the last 10 seconds that resulted in a 3xx (300, 301, etc.) status code.
Status4xx (integer) –
The percentage of requests over the last 10 seconds that resulted in a 4xx (400, 401, etc.) status code.
Status5xx (integer) –
The percentage of requests over the last 10 seconds that resulted in a 5xx (500, 501, etc.) status code.
Latency (dict) –
Represents the average latency for the slowest X percent of requests over the last 10 seconds. Latencies are in seconds with one millisecond resolution.
P999 (float) –
The average latency for the slowest 0.1 percent of requests over the last 10 seconds.
P99 (float) –
The average latency for the slowest 1 percent of requests over the last 10 seconds.
P95 (float) –
The average latency for the slowest 5 percent of requests over the last 10 seconds.
P90 (float) –
The average latency for the slowest 10 percent of requests over the last 10 seconds.
P85 (float) –
The average latency for the slowest 15 percent of requests over the last 10 seconds.
P75 (float) –
The average latency for the slowest 25 percent of requests over the last 10 seconds.
P50 (float) –
The average latency for the slowest 50 percent of requests over the last 10 seconds.
P10 (float) –
The average latency for the slowest 90 percent of requests over the last 10 seconds.
InstancesHealth (dict) –
Summary health information for the instances in the environment.
NoData (integer) –
Grey. AWS Elastic Beanstalk and the health agent are reporting no data on an instance.
Unknown (integer) –
Grey. AWS Elastic Beanstalk and the health agent are reporting an insufficient amount of data on an instance.
Pending (integer) –
Grey. An operation is in progress on an instance within the command timeout.
Ok (integer) –
Green. An instance is passing health checks and the health agent is not reporting any problems.
Info (integer) –
Green. An operation is in progress on an instance.
Warning (integer) –
Yellow. The health agent is reporting a moderate number of request failures or other issues for an instance or environment.
Degraded (integer) –
Red. The health agent is reporting a high number of request failures or other issues for an instance or environment.
Severe (integer) –
Red. The health agent is reporting a very high number of request failures or other issues for an instance or environment.
RefreshedAt (datetime) –
The date and time that the health information was retrieved.
Exceptions
ElasticBeanstalk.Client.exceptions.InvalidRequestException
ElasticBeanstalk.Client.exceptions.ElasticBeanstalkServiceException
Examples
The following operation retrieves overall health information for an environment named my-env:
response = client.describe_environment_health( AttributeNames=[ 'All', ], EnvironmentName='my-env', ) print(response)
Expected Output:
{ 'ApplicationMetrics': { 'Duration': 10, 'Latency': { 'P10': 0.001, 'P50': 0.001, 'P75': 0.002, 'P85': 0.003, 'P90': 0.003, 'P95': 0.004, 'P99': 0.004, 'P999': 0.004, }, 'RequestCount': 45, 'StatusCodes': { 'Status2xx': 45, 'Status3xx': 0, 'Status4xx': 0, 'Status5xx': 0, }, }, 'Causes': [ ], 'Color': 'Green', 'EnvironmentName': 'my-env', 'HealthStatus': 'Ok', 'InstancesHealth': { 'Degraded': 0, 'Info': 0, 'NoData': 0, 'Ok': 1, 'Pending': 0, 'Severe': 0, 'Unknown': 0, 'Warning': 0, }, 'RefreshedAt': datetime(2015, 8, 20, 21, 9, 18, 3, 232, 0), 'ResponseMetadata': { '...': '...', }, }