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.

See Application metrics

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

AWS Elastic Load Balancing

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 NameMetric Display NameUnitAggregation 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.
HealthyHostCountCountAverage
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.
UnHealthyHostCountCountAverage
aws_elb_RequestCount

Number count of completed requests that were received and routed to the back-end instances.
RequestCountCountAverage
aws_elb_Latency

Measures the time elapsed in seconds after the request leaves Load balancer until the response is received.
LatencysecsAverage
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_4XXCountAverage
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_5XXCountAverage
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_2XXCountAverage
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_3XXCountAverage
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_4XXCountAverage
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_5XXCountAverage
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.
BackendConnectionErrorsCountAverage
aws_elb_SurgeQueueLength

Total number count of requests that are pending submission to a registered instance.
SurgeQueueLengthCountAverage
aws_elb_SpilloverCount

Total number count of requests that were rejected due to the queue being full.
SpilloverCountCountAverage
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 LCUsCountAverage
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 CountCountAverage
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 CountCountAverage
aws_elb_EstimatedProcessedBytes

The estimated number of bytes processed by an Application Load Balancer.
Estimated Processed BytesBytesAverage
cloud.instance.state

Status/State
Status/Staten/an/a

Application metrics

Metric NameMetric Display NameUnitAggregation Type
cloud.instance.state

Status/State
Status/Staten/an/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)CountAverage
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)CountAverage
aws_applicationelb_HealthyHostCount

Number of targets that are considered healthy.
HealthyHostCount(Application)CountAverage
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)CountAverage
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)CountAverage
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)CountAverage
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)CountAverage
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)CountAverage
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)CountAverage
aws_applicationelb_NewConnectionCount

Total number of new TCP connections established from clients to Load balancer and from the load balancer to targets.
NewConnectionCount(Application)CountAverage
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)CountAverage
aws_applicationelb_ProcessedBytes

Total number of bytes processed by the load balancer.
ProcessedBytes(Application)CountAverage
aws_applicationelb_RequestCount

Number of requests received by the load balancer.
RequestCount(Application)CountAverage
aws_applicationelb_TargetConnectionErrorCount

TNumber of connections that were not successfully established betweenthe load balancer and target.
TargetConnectionErrorCount(Application)CountAverage
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)CountAverage
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)CountAverage
aws_applicationelb_UnHealthyHostCount

Number of targets that are considered unhealthy.
UnHealthyHostCount(Application)CountAverage
aws_applicationelb_HTTP_Fixed_Response_Count

Number of fixed-response actions that were successful.
HTTP Fixed Response CountSumCount
aws_applicationelb_HTTP_Redirect_Count

Number of redirect actions that were successful.
HTTP Redirect CountSumCount
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 CountSumCount
aws_applicationelb_HTTPCode_ELB_3XX_Count

Number of HTTP 3XX redirection codes that originate from the load balancer.
HTTPCode ELB 3XX CountSumCount
aws_applicationelb_HTTPCode_ELB_500_Count

Number of HTTP 500 error codes that originate from the load balancer.
HTTPCode ELB 500 CountSumCount
aws_applicationelb_HTTPCode_ELB_502_Count

Number of HTTP 502 error codes that originate from the load balancer.
HTTPCode ELB 502 CountSumCount
aws_applicationelb_HTTPCode_ELB_503_Count

Number of HTTP 503 error codes that originate from the load balancer.
HTTPCode ELB 503 CountSumCount
aws_applicationelb_HTTPCode_ELB_504_Count

Number of HTTP 504 error codes that originate from the load balancer.
HTTPCode ELB 504 CountSumCount
aws_applicationelb_IPv6RequestCount

Number of IPv6 requests received by the load balancer.
IPv6 Request CountSumCount
aws_applicationelb_IPv6ProcessedBytes

Total number of bytes processed by the load balancer over IPv6. This count is included in ProcessedBytes.
IPv6 Processed BytesSumBytes
aws_applicationelb_RuleEvaluations

Number of rules processed by the load balancer given a request rate averaged over an hour.
Rule EvaluationsSumCount
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 ErrorSumCount
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 FailureSumCount
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 LatencySumCount
aws_applicationelb_ELBAuthRefreshTokenSuccess

Number of times Load balancer successfully refreshed user claims using a refresh token provided by the IdP.
ELB Auth Refresh Token SuccessSumCount
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 SuccessSumCount
aws_applicationelb_ELBAuthUserClaimsSizeExceeded

Number of times that a configured IdP returned user claims that exceeded 11K bytes in size.
ELB Auth User Claims Size ExceededSumCount

Network metrics

Metric NameMetric Display NameUnitAggregation 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)CountAverage
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)CountAverage
aws_networkelb_NewFlowCount

Total number of new TCP flows (or connections) established from clients to targets in the time period.
New flow count(Network)CountSum
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)CountSum
aws_networkelb_TCP_ELB_Reset_Count

Total number of reset (RST) packets generated by the load balancer.
Load balancer reset count(Network)CountSum
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)CountSum
aws_networkelb_ProcessedBytes

Total number of bytes processed by the load balancer, including TCP/IP headers.
Processed Bytes(Network)BytesSum
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 TCPCountAverage
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 TLSCountAverage
aws_networkelb_ActiveFlowCount_UDP

Total number of concurrent UDP flows (or connections) from clients to targets.
Active Flow Count UDPCountAverage
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 TCPCountAverage
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 TLSCountAverage
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 UDPCountAverage
aws_networkelb_NewFlowCount_TCP

Total number of new TCP flows (or connections) established from clients to targets in the time period.
New Flow Count TCPCountAverage
aws_networkelb_NewFlowCount_TLS

Total number of new TLS flows (or connections) established from clients to targets in the time period.
New Flow Count TLSCountAverage
aws_networkelb_NewFlowCount_UDP

Total number of new UDP flows (or connections) established from clients to targets in the time period.
New Flow Count UDPCountAverage
aws_networkelb_ProcessedBytes_TCP

Total number of bytes processed by TCP listeners.
Processed Bytes TCPBytesAverage
aws_networkelb_ProcessedBytes_TLS

Total number of bytes processed by TLS listeners.
Processed Bytes TLSBytesAverage
aws_networkelb_ProcessedBytes_UDP

Total number of bytes processed by UDP listeners.
Processed Bytes UDPBytesAverage