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',
]
)
Specify the environment by name.
You must specify either this or an EnvironmentName, or both.
Specify the environment by ID.
You must specify either this or an EnvironmentName, or both.
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.
dict
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
, or Terminated
.
Color (string) --
The health color of the environment.
Causes (list) --
Descriptions of the data that contributed to the environment's current health status.
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': {
'...': '...',
},
}