Once you’ve integrated with AWS CloudWatch, you have access to metrics from AWS ApplicationELB, which distributes your incoming traffic over a variety of targets, including IP addresses, EC2 instances, and containers in one or more Availability Zones. It keeps an eye on the wellbeing of the targets it has registered and only sends traffic to those that are in good shape. Your load balancer is scaled as a result of elastic load balancing as your incoming traffic varies over time. The vast majority of workloads can be scaled automatically.
You can create a pre-built dashboard for this integration when you add the integration to Cloud Observability or from the Dashboard list view.
To verify metrics are reporting, search for the metrics on the Metric details page in Settings.
The following table shows the ApplicationELB metrics ingested by Cloud Observability.
Metric Name | Unit | Description |
---|---|---|
aws.application_elb.active_connection_count | count | The total number of active TCP connections that are being used by clients and load balancers to connect to targets simultaneously |
aws.application_elb.client_tls_negotiation_error_count | count | The quantity of TLS connections that the client started but that failed to connect to the load balancer because of a TLS error A mismatch in ciphers or protocols, a client failure to validate the server certificate, or a client disconnecting from the server are all potential causes. |
aws.application_elb.consumed_lc_us | count | How many load balancer capacity units (LCU) your load balancer is using. You are charged based on how many LCUs you consume each hour. See Elastic Load Balancing Pricing for further details. |
aws.application_elb.desync_mitigation_mode_non_compliant_request_count | count | The quantity of RFC 7230-incompliant requests. |
aws.application_elb.dropped_invalid_header_request_count | count | How many requests had HTTP headers with invalid header fields deleted by the load balancer before routing the request. Only if the routing changes does the load balancer remove these headers. The value of the attribute http.drop invalid header fields.enabled is true. |
aws.application_elb.forwarded_invalid_header_request_count | count | How many requests the load balancer handled had HTTP headers with invalid header fields. Only if the routing is correct does the load balancer forward requests with these headers. The value of the attribute http.drop invalid header fields.enabled is false. |
aws.application_elb.grpc_request_count | count | Processed gRPC requests across IPv4 and IPv6: Sum is the most helpful metric. Average, Minimum, and Maximum all return 1. |
aws.application_elb.http_fixed_response_count | count | The quantity of effective fixed-response activities. |
aws.application_elb.http_redirect_count | count | How many redirect attempts were successful. |
aws.application_elb.http_redirect_url_limit_exceeded_count | count | The number of redirection requests that were blocked because the answer location header's URL was more over 8K in size. |
aws.application_elb.http_code_elb_3xx_count | count | The quantity of load balancer-generated HTTP 3XX redirection codes. The response codes that targets produce are not included in this total. |
aws.application_elb.http_code_elb_4xx_count | count | The quantity of HTTP 4XX client error codes produced by the load balancer. This sum does not include the response codes that targets generate. The client creates requests that are incorrect or insufficient. The target did not get any of these requests, unless the load balancer returned an HTTP 460 error code. This sum excludes any response codes generated by the targets. |
aws.application_elb.http_code_elb_5xx_count | count | The quantity of load balancer-caused HTTP 5XX server error codes. Any response codes produced by the targets are not included in this total. |
aws.application_elb.http_code_elb_500_count | count | The quantity of load balancer-caused HTTP 500 errors that occur. Sum is the only significant statistic. |
aws.application_elb.http_code_elb_502_count | count | How many load balancer-caused HTTP 502 errors there are overall. |
aws.application_elb.http_code_elb_503_count | count | How many load balancer-caused HTTP 503 errors there are overall. |
aws.application_elb.http_code_elb_504_count | count | How many load balancer-caused HTTP 504 errors there are overall. |
aws.application_elb.i_pv_6_processed_bytes | bytes | The total amount of IPv6 bytes that the load balancer has processed. ProcessedBytes includes this total. |
aws.application_elb.i_pv_6_request_count | count | The quantity of IPv6 requests the load balancer has received. |
aws.application_elb.new_connection_count | count | The total number of new TCP connections that were made from clients to the load balancer and from the load balancer to targets. |
aws.application_elb.non_sticky_request_count | count | How many requests the load balancer failed to utilise an existing sticky session for and instead chose a new target for. For instance, if it was the first request from a new client, no stickiness cookie was provided; if one was provided, it did not specify a target that was registered with this target group; if one was provided, it was invalid or had expired; or if a load balancer internal error prevented it from reading the stickiness cookie. |
aws.application_elb.processed_bytes | bytes | The total amount of bytes the load balancer processed across IPv4 and IPv6 (HTTP header and HTTP payload). This count comprises traffic to and from clients, Lambda functions, and, if user authentication is enabled, traffic from an Identity Provider (IdP). |
aws.application_elb.rejected_connection_count | count | The quantity of connections that were turned down because the load balancer could handle no more connections. |
aws.application_elb.request_count | count | The quantity of requests handled using IPv4 and IPv6. Only requests for which the load balancer node was able to select a target result in an increment of this measure. This metric does not account for requests that are turned down before a goal is determined. |
aws.application_elb.rule_evaluations | count | The load balancer handled an average of one hour's worth of rules per request rate. |
aws.application_elb.healthy_host_count | count | The quantity of goals that are deemed healthy. |
aws.application_elb.http_code_target_2xx_count | count | The quantity of HTTP response codes that the targets produced. Any response codes produced by the load balancer are not included in this. |
aws.application_elb.http_code_target_3xx_count | count | The quantity of HTTP response codes that the targets produced. Any response codes produced by the load balancer are not included in this. |
aws.application_elb.http_code_target_4xx_count | count | The quantity of HTTP response codes that the targets produced. Any response codes produced by the load balancer are not included in this. |
aws.application_elb.http_code_target_5xx_count | count | The quantity of HTTP response codes that the targets produced. Any response codes produced by the load balancer are not included in this. |
aws.application_elb.request_count_per_target | count | The typical volume of requests each target in a target group receives. Using the TargetGroup dimension, you must define the target group. If the target is a Lambda function, then this statistic is not applicable. |
aws.application_elb.target_connection_error_count | count | The number of connections between the target and load balancer that could not be made. When a Lambda function is the target, this statistic is not relevant. |
aws.application_elb.target_response_time | count | The amount of time, measured in seconds, between the request leaving the load balancer and the target responding. This is the same as the access logs' target processing time column. |
aws.application_elb.target_tls_negotiation_error_count | count | The quantity of TLS connections that the load balancer started but did not result in a session being established with the target. Mismatched ciphers or protocols are a couple of the potential culprits. If the target is a Lambda function, then this statistic is not applicable. |
aws.application_elb.un_healthy_host_count | count | The quantity of goals that are deemed unhealthy. |
aws.application_elb.lambda_internal_error | count | The quantity of calls to a Lambda function that were unsuccessful due of a problem with the load balancer or AWS Lambda. Check the access log's error reason field to obtain the error reason codes. |
aws.application_elb.lambda_target_processed_bytes | bytes | The total amount of data that the load balancer processed for requests made to and responses returned by a Lambda function. |
aws.application_elb.lambda_user_error | count | The quantity of calls to a Lambda function that were unsuccessful because of a Lambda function error. For instance, the load balancer may have been denied permission to call the function, received JSON from the function that was incomplete or missing required fields, or exceeded the 1 MB limit for request body or response size. Check the access log's error reason field to obtain the error reason codes. |
aws.application_elb.elb_auth_error | count | The number of user authentications that failed because an authenticate action was improperly defined, the load balancer was unable to connect to the IdP, or an internal problem prevented the load balancer from completing the authentication flow. Check the access log's error reason field to obtain the error reason codes. |
aws.application_elb.elb_auth_failure | count | How many user authentication attempts were unsuccessful because the IdP refused to provide the user access or an authorization code was entered more than once. Check the access log's error reason field to obtain the error reason codes. |
aws.application_elb.elb_auth_latency | count | The amount of time spent requesting the ID token and user information from the IdP, in milliseconds. This is the time to fail if any of these operations go wrong. Every statistic has value. |
aws.application_elb.elb_auth_refresh_token_success | count | The number of times a user's claims have been successfully renewed by the load balancer using a refresh token that the IdP has given them. |
aws.application_elb.elb_auth_success | count | The quantity of successful authenticate actions. At the conclusion of the authentication workflow, following the load balancer's retrieval of the user claims from the IdP, this metric is incremented. |
aws.application_elb.elb_auth_user_claims_size_exceeded | count | The quantity of times a configured IdP returned user claims that were larger than 11K bytes. |
Updated Dec 1, 2022