Datadog-AWS Load Balancer Integration

ELB default dashboard

Overview

Elastic Load Balancing (ELB) is an AWS service used to dispatch incoming web traffic from your applications across your Amazon EC2 backend instances, which may be in different availability zones. ELB helps ensure a smooth user experience and provide increased fault tolerance, handling traffic peaks and failed EC2 instances without interruption.

Datadog collects metrics and metadata from all three flavors of Elastic Load Balancers that AWS offers: Application, Classic, and Network Load Balancers.

Setup

Installation

If you haven’t already, set up the Amazon Web Services integration first. There are no other installation steps that need to be performed.

Configuration

In the Amazon Web Services integration tile, ensure the ELB checkbox is checked for Classic ELB metrics, the ApplicationELB checkbox is checked for Application ELB metrics, and the NetworkELB checkbox is checked for Network ELB metrics.

Data Collected

Metrics

aws.elb.healthy_host_count
(gauge)
Average number of healthy instances in each Availability Zone.
shown as host
aws.elb.healthy_host_count.minimum
(gauge)
Minimum number of healthy instances in each Availability Zone.
shown as host
aws.elb.healthy_host_count.maximum
(gauge)
Maximum number of healthy instances in each Availability Zone.
shown as host
aws.elb.un_healthy_host_count
(gauge)
Average number of unhealthy instances in each Availability Zone.
shown as host
aws.elb.un_healthy_host_count.minimum
(gauge)
Minimium number of unhealthy instances in each Availability Zone.
shown as host
aws.elb.un_healthy_host_count.maximum
(gauge)
Maximum number of unhealthy instances in each Availability Zone.
shown as host
aws.elb.healthy_host_count_deduped
(gauge)
Deduped number of healthy instances in each Availability Zone.
shown as host
aws.elb.unhealthy_host_count_deduped
(gauge)
Deduped number of unhealthy instances in each Availability Zone.
shown as host
aws.elb.request_count
(rate)
Total number of completed requests that were received and routed to the registered instances.
shown as request
aws.elb.backend_connection_errors
(rate)
Number of connections that were not successfully established between the load balancer and the registered instances.
shown as error
aws.elb.estimated_processed_bytes
(count)
The estimated total number of bytes processed by an Application Load Balancer.
shown as byte
aws.elb.estimated_albnew_connection_count
(count)
The estimated total number of new TCP connections established from clients to the load balancer and from the load balancer to targets
shown as
aws.elb.estimated_albconsumed_lcus
(gauge)
The estimated total number of load balancer capacity units (LCU) used by an Application Load Balancer.
shown as
aws.elb.estimated_albactive_connection_count
(gauge)
The estimated total number of concurrent TCP connections active from clients to the load balancer and from the load balancer to targets.
shown as
aws.elb.surge_queue_length
(gauge)
Maximum number of requests that are pending submission to a registered instance.
shown as request
aws.elb.latency
(gauge)
Average time elapsed after the request leaves the load balancer until a response is received.
shown as second
aws.elb.latency.maximum
(gauge)
Maximum time elapsed after the request leaves the load balancer until a response is received.
shown as second
aws.elb.latency.p95
(gauge)
95th percentile of the time elapsed after the request leaves the load balancer until a response is received.
shown as second
aws.elb.latency.p99
(gauge)
99th percentile of the time elapsed after the request leaves the load balancer until a response is received.
shown as second
aws.elb.latency.minimum
(gauge)
Minimum time elapsed after the request leaves the load balancer until a response is received.
shown as second
aws.elb.spillover_count
(rate)
Total number of requests that were rejected because the queue was full.
shown as request
aws.elb.spillover_count.maximum
(rate)
Maximum number of requests that were rejected because the queue was full per load balancer node.
shown as request
aws.elb.httpcode_backend_2xx
(rate)
Number of HTTP 2XX response codes generated by registered instances.
shown as response
aws.elb.httpcode_backend_3xx
(rate)
Number of HTTP 3XX response codes generated by registered instances.
shown as response
aws.elb.httpcode_backend_4xx
(rate)
Number of HTTP 4XX response codes generated by registered instances.
shown as response
aws.elb.httpcode_backend_5xx
(rate)
Number of HTTP 5XX response codes generated by registered instances.
shown as response
aws.elb.httpcode_elb_4xx
(rate)
Number of HTTP 4XX client error codes generated by the load balancer.
shown as response
aws.elb.httpcode_elb_5xx
(rate)
Number of HTTP 5XX client error codes generated by the load balancer.
shown as response
aws.elb.httpcode_target_2xx
(count)
Number of HTTP 2XX response codes generated by registered instances.
shown as response
aws.elb.httpcode_target_3xx
(count)
Number of HTTP 3XX response codes generated by registered instances.
shown as response
aws.elb.httpcode_target_4xx
(count)
Number of HTTP 4XX response codes generated by registered instances.
shown as response
aws.elb.httpcode_target_5xx
(count)
Number of HTTP 5XX response codes generated by registered instances.
shown as response
aws.elb.target_response_time.maximum
(gauge)
Maximum time elapsed after the request leaves the load balancer until a response is received.
shown as second
aws.elb.target_response_time.average
(gauge)
Average time elapsed after the request leaves the load balancer until a response is received.
shown as second
aws.elb.target_response_time.p95
(gauge)
(beta) 95th percentile of the time elapsed after the request leaves the load balancer until a response is received.
shown as second
aws.elb.target_response_time.p99
(gauge)
(beta) 99th percentile of the time elapsed after the request leaves the load balancer until a response is received.
shown as second
aws.elb.target_connection_error_count
(count)
Number of connections that were not successfully established between the load balancer and the registered instances.
shown as error
aws.elb.client_tlsnegotiation_error_count
(count)
Number of TLS negociation errors
shown as error
aws.elb.consumed_lbcapacity_units
(gauge)
Number of ELB capacity units consumed
shown as unit
aws.applicationelb.consumed_lbcapacity_units
(gauge)
(beta) Number of ELB capacity units consumed
shown as unit
aws.applicationelb.client_tlsnegotiation_error_count
(gauge)
(beta) Number of TLS negociation errors
shown as error
aws.applicationelb.httpcode_elb_4xx
(count)
(beta) Number of HTTP 4XX client error codes generated by the load balancer.
shown as response
aws.applicationelb.httpcode_elb_5xx
(count)
(beta) Number of HTTP 5XX client error codes generated by the load balancer.
shown as response
aws.applicationelb.httpcode_target_2xx
(count)
(beta) Number of HTTP 2XX response codes generated by registered instances.
shown as response
aws.applicationelb.httpcode_target_3xx
(count)
(beta) Number of HTTP 3XX response codes generated by registered instances.
shown as response
aws.applicationelb.httpcode_target_4xx
(count)
(beta) Number of HTTP 4XX response codes generated by registered instances.
shown as response
aws.applicationelb.httpcode_target_5xx
(count)
(beta) Number of HTTP 5XX response codes generated by registered instances.
shown as response
aws.applicationelb.request_count
(count)
(beta) Total number of completed requests that were received and routed to the registered instances.
shown as request
aws.applicationelb.target_connection_error_count
(count)
(beta) Number of connections that were not successfully established between the load balancer and the registered instances.
shown as error
aws.applicationelb.healthy_host_count
(gauge)
(beta) Average number of healthy instances in each Availability Zone.
shown as host
aws.applicationelb.healthy_host_count.minimum
(gauge)
(beta) Minimum number of healthy instances in each Availability Zone.
shown as host
aws.applicationelb.healthy_host_count.maximum
(gauge)
(beta) Maximum number of healthy instances in each Availability Zone.
shown as host
aws.applicationelb.un_healthy_host_count
(gauge)
(beta) Average number of unhealthy instances in each Availability Zone.
shown as host
aws.applicationelb.un_healthy_host_count.minimum
(gauge)
(beta) Minimium number of unhealthy instances in each Availability Zone.
shown as host
aws.applicationelb.un_healthy_host_count.maximum
(gauge)
(beta) Maximum number of unhealthy instances in each Availability Zone.
shown as host
aws.applicationelb.healthy_host_count_deduped
(gauge)
(beta) Deduped number of healthy instances in each Availability Zone.
shown as host
aws.applicationelb.unhealthy_host_count_deduped
(gauge)
(beta) Deduped number of unhealthy instances in each Availability Zone.
shown as host
aws.applicationelb.target_response_time.maximum
(gauge)
(beta) Maximum time elapsed after the request leaves the load balancer until a response is received.
shown as second
aws.applicationelb.target_response_time.average
(gauge)
(beta) Average time elapsed after the request leaves the load balancer until a response is received.
shown as second
aws.applicationelb.target_response_time.p95
(gauge)
(beta) 95th percentile of the time elapsed after the request leaves the load balancer until a response is received.
shown as second
aws.applicationelb.target_response_time.p99
(gauge)
(beta) 99th percentile of the time elapsed after the request leaves the load balancer until a response is received.
shown as second
aws.applicationelb.ipv_6request_count
(count)
The number of IPv6 requests received by the load balancer.
shown as request
aws.applicationelb.ipv_6processed_bytes
(count)
The total number of bytes processed by the load balancer over IPv6.
shown as byte
aws.applicationelb.active_connection_count
(gauge)
The total number of concurrent TCP connections active from clients to the load balancer and from the load balancer to targets.
shown as
aws.applicationelb.processed_bytes
(count)
The total number of bytes processed by the load balancer over IPv4 and IPv6.
shown as byte
aws.applicationelb.consumed_lcus
(gauge)
The number of load balancer capacity units (LCU) used by your load balancer.
shown as
aws.applicationelb.new_connection_count
(count)
The number of IPv6 requests received by the load balancer.
shown as
aws.networkelb.active_flow_count
(gauge)
The average number of active established connections from clients to targets
shown as
aws.networkelb.active_flow_count.maximum
(gauge)
The maximum number of active established connections from clients to targets
shown as
aws.networkelb.active_flow_count.minimum
(gauge)
The minimum number of active established connections from clients to targets
shown as
aws.networkelb.consumed_lcus
(count)
The number of LCUs used by the load balancer
shown as
aws.networkelb.healthy_host_count
(gauge)
Average number of healthy targets
shown as host
aws.networkelb.healthy_host_count_deduped
(gauge)
Deduped number of healthy instances in each Availability Zone
shown as host
aws.networkelb.healthy_host_count.maximum
(gauge)
Maximum number of healthy targets
shown as host
aws.networkelb.healthy_host_count.minimum
(gauge)
Minimum number of healthy targets
shown as host
aws.networkelb.new_flow_count
(count)
The number of new TCP connections from clients to targets
shown as
aws.networkelb.processed_bytes
(count)
The number of LCUs used by the load balancer
shown as byte
aws.networkelb.tcpclient_reset_count
()
The number of reset (RST) packets created by a client and sent to a target
shown as
aws.networkelb.tcpelbreset_count
(count)
The number of reset (RST) packets created by a load balancer
shown as
aws.networkelb.tcptarget_reset_count
(count)
The number of reset (RST) packets created by a target and sent to a client
shown as
aws.networkelb.un_healthy_host_count
(gauge)
Average number of unhealthy targets
shown as host
aws.networkelb.un_healthy_host_count.maximum
(gauge)
Maximum number of unhealthy targets
shown as host
aws.networkelb.un_healthy_host_count.minimum
(gauge)
Minimum number of unhealthy targets
shown as host
aws.networkelb.un_healthy_host_count_deduped
(gauge)
Deduped number of unhealthy instances in each Availability Zone
shown as host

Each of the metrics retrieved from AWS will be assigned the same tags that appear in the AWS console, including but not limited to host name, security-groups, and more.

Further Reading

Learn more about how to monitor ELB performance metrics thanks to our series of posts. We detail the key performance metrics, how to collect them, and how to use Datadog to monitor ELB.