ElasticBeanstalk / Client / describe_instances_health

describe_instances_health

ElasticBeanstalk.Client.describe_instances_health(**kwargs)

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

This action only returns information about environments that the calling principle has IAM permissions to access. For example, consider a case where a user only has permission to access one of three environments. When the user calls this action, the response will only include the one environment that the user has permission to access instead of all three environments. If the user doesn’t have access to any of the environments an empty result is returned.

Note

The AWSElasticBeanstalkReadOnly managed policy allows operators to view information about resources related to Elastic Beanstalk environments. For more information, see Managing Elastic Beanstalk user policies in the Elastic Beanstalk Developer Guide. For detailed instructions to attach a policy to a user or group, see the section Controlling access with managed policies in the same topic.

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 Elastic Beanstalk environment by name.

  • EnvironmentId (string) – Specify the 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 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

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': {
        '...': '...',
    },
}