Overview
Elastic Load Balancing automatically distributes incoming application traffic across multiple targets, including:
- Amazon EC2 instances
- Containers
- IP addresses
- Lambda functions
Elastic Load Balancing handles the varying load of application traffic in a single availability zone or across multiple availability zones. There are 3 types of load balancers:
- Elastic load balancer
- Application load balancer
- Network load balancer
Classic load balancer
The classic load balancer distributes incoming application traffic across multiple EC2 instances in multiple availability zones. This increases the fault tolerance of applications. Elastic Load Balancing detects unhealthy instances and routes traffic only to healthy instances.
See Classic metrics
Application load balance
The application load balancer functions at the application layer, the seventh layer of the Open Systems Interconnection (OSI) model. After the load balancer receives a request, it evaluates the listener rules in priority order to determine which rule to apply, and selects a target from the target group for the rule action.
Network load balancer
A network load balancer operates at the connection level (layer 4), it routes connections to targets. These targets are Amazon EC2 instances, microservices, or containers within the Amazon Virtual Private Cloud (Amazon VPC) based on IP protocol data.
Use the AWS public cloud integration to discover and collect metrics against the AWS service.
See Network metrics
External reference
Setup
To set up the AWS integration and discover the AWS service, go to AWS Integration Discovery Profile and select Load balancers
.
Event support
CloudTrail event support
- Supported (CreateLoadBalancer, DeleteLoadBalancer)
- Configurable in OpsRamp AWS Integration Discovery Profile.
CloudWatch alarm support
- Supported
- Configurable in OpsRamp AWS Integration Discovery Profile.
Supported metrics
Classic metrics
Metric Name | Metric Display Name | Unit | Aggregation Type |
---|---|---|---|
aws_elb_HealthyHostCount Number count of healthy instances in each Availability Zone. Hosts are declared healthy if they meet the threshold for Number of consecutive health checks that are successful. Hosts that have failed more health checks than the value of the unhealthy threshold are considered unhealthy. If cross-zone is enabled, the count of Number of healthy instances is calculated for all Availability Zones. | HealthyHostCount | Count | Average |
aws_elb_UnHealthyHostCount Number count of unhealthy instances in each Availability Zone. Hosts that have failed more health checks than the value of the unhealthy threshold are considered unhealthy. If cross-zone is enabled, the count of Number of unhealthy instances is calculated for all Availability Zones. Instances may become unhealthy due to connectivity issues, health checks returning non-200 responses (in the case of HTTP or HTTPS health checks), or timeouts when performing the health check. | UnHealthyHostCount | Count | Average |
aws_elb_RequestCount Number count of completed requests that were received and routed to the back-end instances. | RequestCount | Count | Average |
aws_elb_Latency Measures the time elapsed in seconds after the request leaves Load balancer until the response is received. | Latency | secs | Average |
aws_elb_HTTPCode_ELB_4XX Number count of HTTP 4XX client error codes generated by the load balancer when the listener is configured to use HTTP or HTTPS protocols. Client errors are generated when a request is malformed or is incomplete. | HTTPCode_ELB_4XX | Count | Average |
aws_elb_HTTPCode_ELB_5XX Number count of HTTP 5XX server error codes generated by the load balancer when the listener is configured to use HTTP or HTTPS protocols. This metric does not include any responses generated by back-end instances. | HTTPCode_ELB_5XX | Count | Average |
aws_elb_HTTPCode_Backend_2XX Number count of HTTP response codes generated by back-end instances. This metric does not include any response codes generated by the load balancer. The 2XX class status codes represent successful actions. | HTTPCode_Backend_2XX | Count | Average |
aws_elb_HTTPCode_Backend_3XX Number count of HTTP response codes generated by back-end instances. This metric does not include any response codes generated by the load balancer. The 3XX class status code indicates that the user agent requires action. | HTTPCode_Backend_3XX | Count | Average |
aws_elb_HTTPCode_Backend_4XX Number count of HTTP response codes generated by back-end instances. This metric does not include any response codes generated by the load balancer. The 4XX class status code represents client errors. | HTTPCode_Backend_4XX | Count | Average |
aws_elb_HTTPCode_Backend_5XX Number count of HTTP response codes generated by back-end instances. This metric does not include any response codes generated by the load balancer. The 5XX class status code represents back-end server errors. | HTTPCode_Backend_5XX | Count | Average |
aws_elb_BackendConnectionErrors Number count of connections that were not successfully established between Load balancer and the registered instances. Because Load balancer will retry when there are connection errors, this count can exceed the request rate. | BackendConnectionErrors | Count | Average |
aws_elb_SurgeQueueLength Total number count of requests that are pending submission to a registered instance. | SurgeQueueLength | Count | Average |
aws_elb_SpilloverCount Total number count of requests that were rejected due to the queue being full. | SpilloverCount | Count | Average |
aws_elb_EstimatedALBConsumedLCUs The estimated number of load balancer capacity units (LCU) used by an Application Load Balancer. You pay for Number of LCUs that you use per hour | Estimated ALB Consumed LCUs | Count | Average |
aws_elb_EstimatedALBActiveConnectionCount The estimated number of concurrent TCP connections active from clients to Load balancer and from the load balancer to targets. | Estimated ALB Active Connection Count | Count | Average |
aws_elb_EstimatedALBNewConnectionCount The estimated number of new TCP connections established from clients to Load balancer and from the load balancer to targets. | Estimated ALB New Connection Count | Count | Average |
aws_elb_EstimatedProcessedBytes The estimated number of bytes processed by an Application Load Balancer. | Estimated Processed Bytes | Bytes | Average |
cloud.instance.state Status/State | Status/State | n/a | n/a |
Application metrics
Metric Name | Metric Display Name | Unit | Aggregation Type |
---|---|---|---|
cloud.instance.state Status/State | Status/State | n/a | n/a |
aws_applicationelb_ActiveConnectionCount Total number of concurrent TCP connections active from clients to Load balancer and from the load balancer to targets. | ActiveConnectionCount(Application) | Count | Average |
aws_applicationelb_ClientTLSNegotiationErrorCount Number of TLS connections initiated by the client that did not establish a session with Load balancer. Possible causes include a mismatch of ciphers or protocols. | ClientTLSNegotiationErrorCount(Application) | Count | Average |
aws_applicationelb_HealthyHostCount Number of targets that are considered healthy. | HealthyHostCount(Application) | Count | Average |
aws_applicationelb_HTTPCode_ELB_4XX_Count Number of HTTP 4XX client error codes that originate from the load balancer. Client errors are generated when requests are malformed or incomplete. These requests have not been received by the target. This count does not include any response codes generated by the targets. | HTTPCode_ELB_4XX_Count(Application) | Count | Average |
aws_applicationelb_HTTPCode_ELB_5XX_Count Number of HTTP 5XX server error codes that originate from the load balancer. This count does not include any response codes generated by the targets. | HTTPCode_ELB_5XX_Count(Application) | Count | Average |
aws_applicationelb_HTTPCode_Target_2XX_Count Number of HTTP response codes generated by the targets. This does not include any response codes generated by the load balancer. | HTTPCode_Target_2XX_Count(Application) | Count | Average |
aws_applicationelb_HTTPCode_Target_3XX_Count Number of HTTP response codes generated by the targets. This does not include any response codes generated by the load balancer. | HTTPCode_Target_3XX_Count(Application) | Count | Average |
aws_applicationelb_HTTPCode_Target_4XX_Count Number of HTTP response codes generated by the targets. This does not include any response codes generated by the load balancer. | HTTPCode_Target_4XX_Count(Application) | Count | Average |
aws_applicationelb_HTTPCode_Target_5XX_Count Number of HTTP response codes generated by the targets. This does not include any response codes generated by the load balancer. | HTTPCode_Target_5XX_Count(Application) | Count | Average |
aws_applicationelb_NewConnectionCount Total number of new TCP connections established from clients to Load balancer and from the load balancer to targets. | NewConnectionCount(Application) | Count | Average |
aws_applicationelb_RejectedConnectionCount Number of connections that were rejected because Load balancer could not establish a connection with a healthy target to route the request. | RejectedConnectionCount(Application) | Count | Average |
aws_applicationelb_ProcessedBytes Total number of bytes processed by the load balancer. | ProcessedBytes(Application) | Count | Average |
aws_applicationelb_RequestCount Number of requests received by the load balancer. | RequestCount(Application) | Count | Average |
aws_applicationelb_TargetConnectionErrorCount TNumber of connections that were not successfully established betweenthe load balancer and target. | TargetConnectionErrorCount(Application) | Count | Average |
aws_applicationelb_TargetResponseTime The time elapsed, in seconds, after the request leaves the load balancer until a response from the target is received. This is equivalent to the target_processing_time field in the access logs. | TargetResponseTime(Application) | Count | Average |
aws_applicationelb_TargetTLSNegotiationErrorCount Number of TLS connections initiated by the load balancer that did not establish a session with the target. Possible causes include a mismatch of ciphers or protocols. | TargetTLSNegotiationErrorCount(Application) | Count | Average |
aws_applicationelb_UnHealthyHostCount Number of targets that are considered unhealthy. | UnHealthyHostCount(Application) | Count | Average |
aws_applicationelb_HTTP_Fixed_Response_Count Number of fixed-response actions that were successful. | HTTP Fixed Response Count | Sum | Count |
aws_applicationelb_HTTP_Redirect_Count Number of redirect actions that were successful. | HTTP Redirect Count | Sum | Count |
aws_applicationelb_HTTP_Redirect_Url_Limit_Exceeded_Count Number of redirect actions that could not be completed because the URL in the response location header is larger than 8K. | HTTP Redirect Url Limit Exceeded Count | Sum | Count |
aws_applicationelb_HTTPCode_ELB_3XX_Count Number of HTTP 3XX redirection codes that originate from the load balancer. | HTTPCode ELB 3XX Count | Sum | Count |
aws_applicationelb_HTTPCode_ELB_500_Count Number of HTTP 500 error codes that originate from the load balancer. | HTTPCode ELB 500 Count | Sum | Count |
aws_applicationelb_HTTPCode_ELB_502_Count Number of HTTP 502 error codes that originate from the load balancer. | HTTPCode ELB 502 Count | Sum | Count |
aws_applicationelb_HTTPCode_ELB_503_Count Number of HTTP 503 error codes that originate from the load balancer. | HTTPCode ELB 503 Count | Sum | Count |
aws_applicationelb_HTTPCode_ELB_504_Count Number of HTTP 504 error codes that originate from the load balancer. | HTTPCode ELB 504 Count | Sum | Count |
aws_applicationelb_IPv6RequestCount Number of IPv6 requests received by the load balancer. | IPv6 Request Count | Sum | Count |
aws_applicationelb_IPv6ProcessedBytes Total number of bytes processed by the load balancer over IPv6. This count is included in ProcessedBytes. | IPv6 Processed Bytes | Sum | Bytes |
aws_applicationelb_RuleEvaluations Number of rules processed by the load balancer given a request rate averaged over an hour. | Rule Evaluations | Sum | Count |
aws_applicationelb_ELBAuthError Number of user authentications that could not be completed because an authenticate action was misconfigured, Load balancer could not establish a connection with the IdP, or Load balancer could not complete the authentication flow due to an internal error. To get the error reason codes, check the error_reason field of the access log. | ELB Auth Error | Sum | Count |
aws_applicationelb_ELBAuthFailure Number of user authentications that could not be completed because the IdP denied access to the user or an authorization code was used more than once. To get the error reason codes, check the error_reason field of the access log. | ELB Auth Failure | Sum | Count |
aws_applicationelb_ELBAuthLatency Time elapsed, in milliseconds, to query the IdP for the ID token and user info. If one or more of these operations fail, this is the time to failure. | ELB Auth Latency | Sum | Count |
aws_applicationelb_ELBAuthRefreshTokenSuccess Number of times Load balancer successfully refreshed user claims using a refresh token provided by the IdP. | ELB Auth Refresh Token Success | Sum | Count |
aws_applicationelb_ELBAuthSuccess Number of authenticate actions that were successful. This metric is incremented at the end of the authentication workflow, after Load balancer has retrieved the user claims from the IdP. | ELB Auth Success | Sum | Count |
aws_applicationelb_ELBAuthUserClaimsSizeExceeded Number of times that a configured IdP returned user claims that exceeded 11K bytes in size. | ELB Auth User Claims Size Exceeded | Sum | Count |
Network metrics
Metric Name | Metric Display Name | Unit | Aggregation Type |
---|---|---|---|
aws_networkelb_ActiveFlowCount Total number of concurrent TCP flows (or connections) from clients to targets. This metric includes connections in the SYN_SENT and ESTABLISHED states. TCP connections are not terminated at the load balancer, so a client opening a TCP connection to a target counts as a single flow. | Active flow count(Network) | Count | Average |
aws_networkelb_ConsumedLCUs Number of load balancer capacity units (LCU) used by your load balancer. You pay for Number of LCUs that you use per hour. | ConsumedLBCapacityUnits(Network) | Count | Average |
aws_networkelb_NewFlowCount Total number of new TCP flows (or connections) established from clients to targets in the time period. | New flow count(Network) | Count | Sum |
aws_networkelb_TCP_Client_Reset_Count Total number of reset (RST) packets sent from a client to a target. These resets are generated by the client and forwarded by the load balancer. | Client reset count(Network) | Count | Sum |
aws_networkelb_TCP_ELB_Reset_Count Total number of reset (RST) packets generated by the load balancer. | Load balancer reset count(Network) | Count | Sum |
aws_networkelb_TCP_Target_Reset_Count Total number of reset (RST) packets sent from a target to a client. These resets are generated by the target and forwarded by the load balancer. | Target reset count(Network) | Count | Sum |
aws_networkelb_ProcessedBytes Total number of bytes processed by the load balancer, including TCP/IP headers. | Processed Bytes(Network) | Bytes | Sum |
aws_networkelb_ActiveFlowCount_TCP Total number of concurrent TCP flows (or connections) from clients to targets. This metric includes only connections in the ESTABLISHED state. TCP connections are not terminated at Load balancer, so a client opening a TCP connection to a target counts as a single flow. | Active Flow Count TCP | Count | Average |
aws_networkelb_ActiveFlowCount_TLS Total number of concurrent TLS flows (or connections) from clients to targets. This metric includes only connections in the ESTABLISHED state. | Active Flow Count TLS | Count | Average |
aws_networkelb_ActiveFlowCount_UDP Total number of concurrent UDP flows (or connections) from clients to targets. | Active Flow Count UDP | Count | Average |
aws_networkelb_ConsumedLCUs_TCP Number of load balancer capacity units (LCU) used by the load balancer for TCP. Pay for number of LCUs used per hour. | Consumed LCUs TCP | Count | Average |
aws_networkelb_ConsumedLCUs_TLS Number of load balancer capacity units (LCU) used by your load balancer for TLS. Pay for number of LCUs used per hour. | Consumed LCUs TLS | Count | Average |
aws_networkelb_ConsumedLCUs_UDP Number of load balancer capacity units (LCU) used by your load balancer for UDP. Pay for number of LCUs used per hour. | Consumed LCUs UDP | Count | Average |
aws_networkelb_NewFlowCount_TCP Total number of new TCP flows (or connections) established from clients to targets in the time period. | New Flow Count TCP | Count | Average |
aws_networkelb_NewFlowCount_TLS Total number of new TLS flows (or connections) established from clients to targets in the time period. | New Flow Count TLS | Count | Average |
aws_networkelb_NewFlowCount_UDP Total number of new UDP flows (or connections) established from clients to targets in the time period. | New Flow Count UDP | Count | Average |
aws_networkelb_ProcessedBytes_TCP Total number of bytes processed by TCP listeners. | Processed Bytes TCP | Bytes | Average |
aws_networkelb_ProcessedBytes_TLS Total number of bytes processed by TLS listeners. | Processed Bytes TLS | Bytes | Average |
aws_networkelb_ProcessedBytes_UDP Total number of bytes processed by UDP listeners. | Processed Bytes UDP | Bytes | Average |