ElasticBeanstalk / Client / describe_instances_health

describe_instances_health#

ElasticBeanstalk.Client.describe_instances_health(**kwargs)#

Retrieves detailed information about the health of instances in your AWS Elastic Beanstalk. This operation requires enhanced health reporting.

See also: AWS API Documentation

Request Syntax

response = client.describe_instances_health(
    EnvironmentName='string',
    EnvironmentId='string',
    AttributeNames=[
        'HealthStatus'|'Color'|'Causes'|'ApplicationMetrics'|'RefreshedAt'|'LaunchedAt'|'System'|'Deployment'|'AvailabilityZone'|'InstanceType'|'All',
    ],
    NextToken='string'
)
Parameters:
  • EnvironmentName (string) – Specify the AWS Elastic Beanstalk environment by name.

  • EnvironmentId (string) – Specify the AWS Elastic Beanstalk environment by ID.

  • AttributeNames (list) –

    Specifies the response elements you wish to receive. To retrieve all attributes, set to All. If no attribute names are specified, returns a list of instances.

    • (string) –

  • NextToken (string) – Specify the pagination token returned by a previous call.

Return type:

dict

Returns:

Response Syntax

{
    'InstanceHealthList': [
        {
            'InstanceId': 'string',
            'HealthStatus': 'string',
            'Color': 'string',
            'Causes': [
                'string',
            ],
            'LaunchedAt': datetime(2015, 1, 1),
            '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
                }
            },
            'System': {
                'CPUUtilization': {
                    'User': 123.0,
                    'Nice': 123.0,
                    'System': 123.0,
                    'Idle': 123.0,
                    'IOWait': 123.0,
                    'IRQ': 123.0,
                    'SoftIRQ': 123.0,
                    'Privileged': 123.0
                },
                'LoadAverage': [
                    123.0,
                ]
            },
            'Deployment': {
                'VersionLabel': 'string',
                'DeploymentId': 123,
                'Status': 'string',
                'DeploymentTime': datetime(2015, 1, 1)
            },
            'AvailabilityZone': 'string',
            'InstanceType': 'string'
        },
    ],
    'RefreshedAt': datetime(2015, 1, 1),
    'NextToken': 'string'
}

Response Structure

  • (dict) –

    Detailed health information about the Amazon EC2 instances in an AWS Elastic Beanstalk environment.

    • InstanceHealthList (list) –

      Detailed health information about each instance.

      The output differs slightly between Linux and Windows environments. There is a difference in the members that are supported under the <CPUUtilization> type.

      • (dict) –

        Detailed health information about an Amazon EC2 instance in your Elastic Beanstalk environment.

        • InstanceId (string) –

          The ID of the Amazon EC2 instance.

        • HealthStatus (string) –

          Returns the health status of the specified instance. For more information, see Health Colors and Statuses.

        • Color (string) –

          Represents the color indicator that gives you information about the health of the EC2 instance. For more information, see Health Colors and Statuses.

        • Causes (list) –

          Represents the causes, which provide more information about the current health status.

          • (string) –

        • LaunchedAt (datetime) –

          The time at which the EC2 instance was launched.

        • ApplicationMetrics (dict) –

          Request metrics from your application.

          • 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.

        • System (dict) –

          Operating system metrics from the instance.

          • CPUUtilization (dict) –

            CPU utilization metrics for the instance.

            • User (float) –

              Percentage of time that the CPU has spent in the User state over the last 10 seconds.

            • Nice (float) –

              Available on Linux environments only.

              Percentage of time that the CPU has spent in the Nice state over the last 10 seconds.

            • System (float) –

              Available on Linux environments only.

              Percentage of time that the CPU has spent in the System state over the last 10 seconds.

            • Idle (float) –

              Percentage of time that the CPU has spent in the Idle state over the last 10 seconds.

            • IOWait (float) –

              Available on Linux environments only.

              Percentage of time that the CPU has spent in the I/O Wait state over the last 10 seconds.

            • IRQ (float) –

              Available on Linux environments only.

              Percentage of time that the CPU has spent in the IRQ state over the last 10 seconds.

            • SoftIRQ (float) –

              Available on Linux environments only.

              Percentage of time that the CPU has spent in the SoftIRQ state over the last 10 seconds.

            • Privileged (float) –

              Available on Windows environments only.

              Percentage of time that the CPU has spent in the Privileged state over the last 10 seconds.

          • LoadAverage (list) –

            Load average in the last 1-minute, 5-minute, and 15-minute periods. For more information, see Operating System Metrics.

            • (float) –

        • Deployment (dict) –

          Information about the most recent deployment to an instance.

          • VersionLabel (string) –

            The version label of the application version in the deployment.

          • DeploymentId (integer) –

            The ID of the deployment. This number increases by one each time that you deploy source code or change instance configuration settings.

          • Status (string) –

            The status of the deployment:

            • In Progress : The deployment is in progress.

            • Deployed : The deployment succeeded.

            • Failed : The deployment failed.

          • DeploymentTime (datetime) –

            For in-progress deployments, the time that the deployment started.

            For completed deployments, the time that the deployment ended.

        • AvailabilityZone (string) –

          The availability zone in which the instance runs.

        • InstanceType (string) –

          The instance’s type.

    • RefreshedAt (datetime) –

      The date and time that the health information was retrieved.

    • NextToken (string) –

      Pagination token for the next page of results, if available.

Exceptions

  • ElasticBeanstalk.Client.exceptions.InvalidRequestException

  • ElasticBeanstalk.Client.exceptions.ElasticBeanstalkServiceException

Examples

The following operation retrieves health information for instances in an environment named my-env:

response = client.describe_instances_health(
    AttributeNames=[
        'All',
    ],
    EnvironmentName='my-env',
)

print(response)

Expected Output:

{
    'InstanceHealthList': [
        {
            'ApplicationMetrics': {
                'Duration': 10,
                'Latency': {
                    'P10': 0,
                    'P50': 0.001,
                    'P75': 0.002,
                    'P85': 0.003,
                    'P90': 0.004,
                    'P95': 0.005,
                    'P99': 0.006,
                    'P999': 0.006,
                },
                'RequestCount': 48,
                'StatusCodes': {
                    'Status2xx': 47,
                    'Status3xx': 0,
                    'Status4xx': 1,
                    'Status5xx': 0,
                },
            },
            'Causes': [
            ],
            'Color': 'Green',
            'HealthStatus': 'Ok',
            'InstanceId': 'i-08691cc7',
            'LaunchedAt': datetime(2015, 8, 13, 19, 17, 9, 3, 225, 0),
            'System': {
                'CPUUtilization': {
                    'IOWait': 0.2,
                    'IRQ': 0,
                    'Idle': 97.8,
                    'Nice': 0.1,
                    'SoftIRQ': 0.1,
                    'System': 0.3,
                    'User': 1.5,
                },
                'LoadAverage': [
                    0,
                    0.02,
                    0.05,
                ],
            },
        },
    ],
    'RefreshedAt': datetime(2015, 8, 20, 21, 9, 8, 3, 232, 0),
    'ResponseMetadata': {
        '...': '...',
    },
}