AWS ELB

There are three types of load balancers and metrics retrieved are also based on them.

They are:

  • Classic Load Balancer
  • Application Load Balancer
  • Network Load Balancer.

Learn about other supported AWS services on our AWS docs.

Sensor (Data Collection)

Tracked Configuration

ELB Instance Details

  • Name
  • Type
  • ARN
  • Status
  • DNS name
  • Hosted Zone
  • Scheme
  • Creation Time
  • VPC
  • Ip Address Type
  • AWS Grouping Zone

Metrics

Load balancer metrics are collected as total values, but also per availability zones they are in.

Classic Load Balancer

Total metrics

Name Description
Rejected Connections The number of connections that were rejected because the load balancer had reached its maximum number of connections.
Elb Status Code 4xx Count The number of HTTP 4XX client error codes that originate from the load balancer. Client errors are generated when requests are malformed or incomplete.
Elb Status Code 5xx Count The 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.

Per zone metrics

Name Description
Backend Connection Errors The number of connections 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.
Response Time (Latency) 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.
Requests count The number of requests completed or connections made during the interval.
Requests with Status Code 2xx,3xx,4xx,5xx HTTP listener: The number of HTTP response codes generated by registered instances. This count does not include any response codes generated by the load balancer.
Spillover Count The total number of requests that were rejected because the surge queue is full.
Surge Queue Length The total number of requests (HTTP listener) or connections (TCP listener) that are pending routing to a healthy instance.

Application Load Balancer

Total metrics

Name Description
Active Connections The total number of concurrent TCP connections active from clients to the load balancer and from the load balancer to targets.
New Connections The total number of new TCP connections established from clients to the load balancer and from the load balancer to targets.
Rejected Connections The number of connections that were rejected because the load balancer had reached its maximum number of connections.
Processed Bytes The total number of bytes processed by the load balancer over IPv4 and IPv6.
Elb Status Code 4xx Count The number of HTTP 4XX client error codes that originate from the load balancer. Client errors are generated when requests are malformed or incomplete.
Elb Status Code 5xx Count The 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.

Per zone metrics

Name Description
Requests count The number of requests processed over IPv4 and IPv6.
Target Response Time The number of TLS connections initiated by the client that did not establish a session with the load balancer. Possible causes include a mismatch of ciphers or protocols.
Target Connection Error Count The number of connections that were not successfully established between the load balancer and target. This metric does not apply if the target is a Lambda function.
Target TLS Negotiation Error Count The 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. This metric does not apply if the target is a Lambda function.
Client TLS Negotiation Error Count The number of TLS connections initiated by the client that did not establish a session with the load balancer. Possible causes include a mismatch of ciphers or protocols.

Network Load Balancer

Total metrics

Name Description
New Flow Count The total number of new flows (or connections) established from clients to targets in the time period.
Processed Bytes The total number of bytes processed by the load balancer over IPv4 and IPv6.
Client RST The 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.
Elb RST The total number of reset (RST) packets generated by the load balancer.
Target RST The 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.

Required Permissions

  • cloudwatch:GetMetricData
  • elasticloadbalancing:DescribeLoadBalancers
  • elasticloadbalancing:DescribeTags

Configuration

Metrics for ELB are pulled every 60 seconds, this can be changed via agent configuration in <agent_install_dir>/etc/instana/configuration.yml:

com.instana.plugin.aws.elb:
  cloudwatch_period: 60

To disable monitoring of ELB instances use the following configuration:

com.instana.plugin.aws.elb:
  enabled: false

Multiple tags can be defined, separated by a comma. Tags should be provided as a key-value pair separated by :. In order to make configuration easier, it is possible to define which tags you want to include in discovery or exclude from discovery. In case of defining tag in both lists (include and exclude), exclude list has higher priority. If there is no need for services filtering, the configuration should not be defined. It’s not mandatory to define all values in order to enable filtering.

Users are able to specify how often sensors will poll the AWS tagged resources using the tagged-servies-poll-rate configuration property (default 300 seconds).

To define how often sensors will poll the tagged resources use following configuration:

com.instana.plugin.aws:
  tagged-servies-poll-rate: 60 #default 300

To include services by tags into discovery use following configuration:

com.instana.plugin.aws.elb:
    include_tags: # Comma separated list of tags in key:value format (e.g. env:prod,env:staging)

To exclude services by tags from discovery use following configuration:

com.instana.plugin.aws.elb:
    exclude_tags: # Comma separated list of tags in key:value format (e.g. env:dev,env:test)

Instana Agent Tags

Please note that tags are currently only available in conjunction with the dedicated AWS Instana agent, described here AWS Agent Installation docs. More detail on using tags is described here.