AWS ELB monitoring integration

Access to this feature depends on your subscription level. Requires Infrastructure Pro.

New Relic Infrastructure's integrations include an Amazon Elastic Load Balancing (ELB) integration for reporting ELB data to New Relic products. This document explains the integration's features, how to activate it, and what data can be reported.

Features

New Relic's integration for Amazon Elastic Load Balancing (ELB) reports ELB data including HTTP code message counts, healthy and unhealthy host counts, latency times, and ELB configuration states. AWS integration data is also available for querying and chart creation in New Relic Insights.

Amazon offers two types of load balancers: Classic Load Balancer and Application Load Balancer (ALB). For New Relic's ALB integration, see ALB integration.

Activate integration

To enable this integration:

  1. Make sure you have installed the Infrastructure agent before you activate AWS integrations from your Infrastructure account.
  2. Follow standard procedures to Connect AWS services to Infrastructure.

Configuration and polling

You can change the polling frequency and filter data using configuration options.

Default polling information for the AWS ELB integration:

  • New Relic polling interval: 5 minutes
  • Amazon CloudWatch data interval: 1 minute

Find and use data

To find this integration's data in Infrastructure, go to infrastructure.newrelic.com > Integrations > Amazon Web Services and select one of the ELB integration links.

In New Relic Insights, data is attached to the LoadBalancerSample event type, with a provider value of Elb.

For more on how to find and use integration data, see Understand integration data.

Metric data

The integration collects the following metrics:

For more details on these metrics, see Amazon's ELB Classic Load Balancer Metrics.

Name Description

backendConnectionErrors.Sum

Rate of the number of connections per second that were not successfully established between the load balancer and the registered instances. Because the load balancer retries the connection when there are errors, this count can exceed the request rate. Note that this count also includes any connection errors related to health checks.

healthyHostCount

unHealthyHostCount

The number of healthy or unhealthy instances registered with your load balancer. A newly registered instance is considered healthy after it passes the first health check. If cross-zone load balancing is enabled, the number of healthy instances for the LoadBalancerName dimension is calculated across all Availability Zones. Otherwise, it is calculated per Availability Zone.

httpCodeBackend2XX

httpCodeBackend3XX

httpCodeBackend4XX

httpCodeBackend5XX

[HTTP listener] The number of HTTP response codes generated per second by registered instances. This count does not include any response codes generated by the load balancer.
httpCodeElb4XX [HTTP listener] The number of HTTP 4XX client error codes generated by the load balancer per minute. Client errors are generated when a request is malformed or incomplete.
httpCodeElb5XX [HTTP listener] The number of HTTP 5XX server error codes generated by the load balancer per minute. This count does not include any response codes generated by the registered instances. The metric is reported if there are no healthy instances registered to the load balancer, or if the request rate exceeds the capacity of the instances (spillover) or the load balancer.

latency.Average

latency.Maximum

[HTTP listener] The total time elapsed, in seconds, from the time the load balancer sent the request to a registered instance until the instance started to send the response headers.

[TCP listener] The total time elapsed, in seconds, for the load balancer to successfully establish a connection to a registered instance.

requestCount The number of requests completed or connections made per second during the specified interval (1 or 5 minutes).
spilloverCount The total number of requests that were rejected per second, due to the surge queue being full.
surgeQueueLength.Average, Maximum, Minimum The total number of requests that are pending routing. The load balancer queues a request if it is unable to establish a connection with a healthy instance in order to route the request. The maximum size of the queue is 1,024. Additional requests are rejected when the queue is full. For more information, see SpilloverCount.

Inventory data

The following configuration options are available with the New Relic Amazon ELB integration:

Name Description
availabilityZone Lists one or more Availability Zones from the same region as the load balancer.
awsRegion

The AWS region that the load balancer runs in.

canonicalHostedZoneNameId

The ID of the Amazon Route 53 hosted zone name associated with the load balancer.

canonicalHostedZoneName

The name of the Amazon Route 53 hosted zone that is associated with the load balancer.

If you specify internal for the Elastic Load Balancing scheme, use DNSNameinstead. For an internal scheme, the load balancer doesn't have a CanonicalHostedZoneName value.

instances

A JSON string representing the list of IDs of EC2 instances associated with the load balancer.

listeners A JSON string representing the list of Listeners associated with the load balancer.
scheme For load balancers attached to an Amazon VPC, this parameter can be used to specify the type of load balancer to use. For more information, see AWS: :ElasticLoadBalancing: :LoadBalancer properties.
securityGroups

A JSON string representing the list of security groups assigned to your load balancer within your virtual private cloud (VPC).

sourceSecurityGroup The security group that you can use as part of your inbound rules for your load balancer's back-end Amazon EC2 application instances.
subnets A JSON string representing the list of subnet IDs in your virtual private cloud (VPC) to attach to your load balancer. Do not specify multiple subnets that are in the same Availability Zone. You can specify the AvailabilityZones or Subnets property, but not both.
vpcId The ID of the VPC that the load balancer has been configured in.

Child inventory data

Name Description
accessLog/enabled A boolean. If true, access logs are enabled for this load balancer.
connectionDraining/enabled A boolean. Use connection draining to ensure that a Classic Load Balancer does not send requests to unhealthy instances. For more information, see Configure Connection Draining for Your Classic Load Balancer.
connectionDraining/timeout

The number of seconds the load balancer waits before forcibly closing connections to the de-registering instance.

Valid values are 1 to 3600

connectionSettings/idleTimeout For more information, see Configure the Idle Connection Timeout for Your Classic Load Balancer.
crossZoneLoadBalancing/enabled A boolean. For more information, see Configure Cross-Zone Load Balancing for Your Classic Load Balancer.
healthCheck/healthyThreshold

The number of consecutive successful health checks that must occur before declaring an EC2 instance healthy.

Valid values: 2 to 10

healthCheck/interval

The amount of time in seconds between health checks of an individual instance.

Valid values: 5 to 300

healthCheck/target

Combination of three properties:

  • The protocol to use to connect with the instance.

    Valid values: TCP, HTTP, HTTPS, and SSL.

  • The port to use to connect with the instance, as a protocol:port pair. If the load balancer fails to connect with the instance at the specified port within the configured response timeout period, the instance is considered unhealthy.
  • The destination for the HTTP or HTTPS request.
healthCheck/timeout

The amount of time in seconds to wait when receiving a response from the health check.

Valid values: 2 to 60

healthCheck/unhealthyThreshold

The number of consecutive failed health checks that must occur before declaring an EC2 instance unhealthy.

Valid values: 2 to 10

policies/otherPolicies JSON string representing security policies associated with this load balancer.

For more help

Recommendations for learning more: