Amazon Elastic Load Balancing

개요

Amazon Elastic Load Balancing은 클라우드에 있는 다수의 Amazon EC2 인스턴스 전반에서 수신되는 애플리케이션 트래픽을 자동으로 배포합니다.

Datadog는 AWS에서 제공하는 세 가지 Elastic Load Balancers  요소, 애플리케이션(ALB), 클래식(ELB) 및 네트워크 로드 밸런서(NLB) 모두에서 메트릭과 메타데이터를 수집합니다.

이 통합을 활성화하여 Datadog에서 Elastic Load Balancing 전체 메트릭을 확인하세요.

참고: 이 통합이 완전히 활성화되려면 ’ec2:describe**’ 및 ’elasticloadbalancing:describe*’ 권한이 필요합니다.

설정

설치

아직 설정하지 않은 경우 먼저 Amazon Web Services 통합을 설정하세요.

메트릭 수집

  1. AWS 통합 페이지에서 Metric Collection 탭 아래에서 ApplicationELB, ELB, NetworkELB가 활성화되어 있는지 확인합니다.
  2. Datadog - Amazon ELB 통합을 설치합니다.

로그 수집

Amazon ELB 또는 ALB 로깅 활성화

ELB 또는 ALB에서 로깅을 먼저 활성화하고 로그를 수집합니다. ALB와 ELB 로그는 Amazon S3 버킷에서 작성될 수 있으며 Lambda 함수에 사용될 수 있습니다. 자세한 정보는 Classic Load Balancer에서 로그 액세스 활성화를 참고하세요.

Amazon ELB 로그 활성화

간격을 5분으로 설정하고 S3 버킷과 접두사를 정의합니다. S3 이벤트 알림 구성을 명확하지 않게 정의하는 것을 예방하려면 다른 로드 밸런서의 로그 위치와 중복되지 않는 고유한 위치를 사용하세요. 여러 로드 밸런서가 한 버킷에서 로깅을 할 경우에는 my-bucket-for-elb-logs/my-elb-name과 같이 고유한 접두사를 사용하여 다른 위치에 로그가 저장되도록 합니다.

Amazon ELB 로그 구성

Datadog로 로그 전송

  1. 이미 하지 않은 경우 AWS 계정에서 Datadog 포워더 람다 함수를 설정합니다.
  2. 설정을 완료하면, Datadog Forwarder Lambda 함수로 이동합니다. 내 ELB 로그를 포함하고 있는 S3 버킷에 자동 또는 수동으로 트리거를 설정합니다. 수동 설정을 하려면 이벤트 유형 All object create events를 사용합니다.
  3. 로그 탐색기를 사용해 로그를 탐색합니다.

AWS 서비스 로그 수집에 대한 자세한 정보는 Datadog Lambda 함수를 사용해 AWS 서비스 로그 전송을 참고하세요.

수집한 데이터

메트릭

aws.elb.active_connection_count
(count)
The total number of concurrent TCP connections active from clients to the load balancer and from the load balancer to targets.
Shown as connection
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.client_tlsnegotiation_error_count
(count)
Number of TLS negotiation errors.
Shown as error
aws.elb.consumed_lbcapacity_units
(gauge)
Number of ELB capacity units consumed.
Shown as unit
aws.elb.consumed_lcus
(gauge)
The number of load balancer capacity units (LCU) used by your load balancer.
Shown as unit
aws.elb.estimated_albactive_connection_count
(count)
The estimated total number of concurrent TCP connections active from clients to the load balancer and from the load balancer to targets.
Shown as connection
aws.elb.estimated_albconsumed_lcus
(gauge)
The estimated total number of load balancer capacity units (LCU) used by an Application Load Balancer.
Shown as unit
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 connection
aws.elb.estimated_processed_bytes
(count)
The estimated total number of bytes processed by an Application Load Balancer.
Shown as byte
aws.elb.healthy_host_count
(gauge)
Average 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.healthy_host_count.minimum
(gauge)
Minimum number of healthy instances in each Availability Zone.
Shown as host
aws.elb.healthy_host_count_deduped
(gauge)
The number of healthy instances per Availability Zone, regardless of if the Cross-Zone Load Balancing option is enabled or not.
Shown as host
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_5_0_0
(count)
The number of HTTP 500 error codes that originate from the load balancer.
Shown as response
aws.elb.httpcode_elb_5_0_2
(count)
The number of HTTP 502 error codes that originate from the load balancer.
Shown as response
aws.elb.httpcode_elb_5_0_3
(count)
The number of HTTP 503 error codes that originate from the load balancer.
Shown as response
aws.elb.httpcode_elb_5_0_4
(count)
The number of HTTP 504 error codes that originate from 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_redirect
(count)
The number of redirect actions that were successful.
Shown as response
aws.elb.httpcode_target_2xx
(count)
Number of HTTP 2XX response codes generated by the targets.
Shown as response
aws.elb.httpcode_target_3xx
(count)
Number of HTTP 3XX response codes generated by the targets.
Shown as response
aws.elb.httpcode_target_4xx
(count)
Number of HTTP 4XX response codes generated by the targets.
Shown as response
aws.elb.httpcode_target_5xx
(count)
Number of HTTP 5XX response codes generated by the targets.
Shown as response
aws.elb.ipv_6processed_bytes
(count)
The total number of bytes processed by the load balancer over IPv6.
Shown as byte
aws.elb.ipv_6request_count
(count)
The number of IPv6 requests received by the load balancer.
Shown as request
aws.elb.latency
(gauge)
Average time elapsed after the request leaves the load balancer until a response is received. (ELB v1)
Shown as second
aws.elb.latency.maximum
(gauge)
Maximum time elapsed after the request leaves the load balancer until a response is received. (ELB v1)
Shown as second
aws.elb.latency.minimum
(gauge)
Minimum time elapsed after the request leaves the load balancer until a response is received. (ELB v1)
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. (ELB v1)
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. (ELB v1)
Shown as second
aws.elb.new_connection_count
(count)
The total number of new TCP connections established from clients to the load balancer and from the load balancer to targets.
Shown as connection
aws.elb.processed_bytes
(count)
The total number of bytes processed by the load balancer over IPv4 and IPv6.
Shown as byte
aws.elb.request_count
(rate)
Total number of completed requests that were received and routed to the registered instances.
Shown as request
aws.elb.request_count_per_target
(count)
The average number of requests received by each target in a target group.
Shown as request
aws.elb.rule_evaluations
(count)
The number of rules processed by the load balancer given a request rate averaged over an hour.
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.surge_queue_length
(gauge)
Maximum number of requests that are pending submission to a registered instance.
Shown as request
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.target_response_time.average
(gauge)
Average time elapsed after the request leaves the load balancer until a response is received. Identical to aws.applicationelb.target_response_time.average.
Shown as second
aws.elb.target_response_time.maximum
(gauge)
Maximum time elapsed after the request leaves the load balancer until a response is received. Identical to aws.applicationelb.target_response_time.maximum.
Shown as second
aws.elb.target_response_time.p95
(gauge)
95th percentile of the time elapsed after the request leaves the load balancer until a response is received. Identical to aws.applicationelb.target_response_time.p95.
Shown as second
aws.elb.target_response_time.p99
(gauge)
99th percentile of the time elapsed after the request leaves the load balancer until a response is received. Identical to aws.applicationelb.target_response_time.p99.
Shown as second
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.maximum
(gauge)
Maximum number of unhealthy instances in each Availability Zone.
Shown as host
aws.elb.un_healthy_host_count.minimum
(gauge)
Minimum number of unhealthy instances in each Availability Zone.
Shown as host
aws.elb.un_healthy_host_count_deduped
(gauge)
The number of unhealthy instances per Availability Zone, regardless of if the Cross-Zone Load Balancing option is enabled or not.
Shown as host

이벤트

Amazon Elastic Load Balancing 통합은 이벤트를 포함하지 않습니다.

서비스 점검

Amazon Elastic Load Balancing 통합은 서비스 점검을 포함하지 않습니다.

트러블슈팅

도움이 필요하시면 Datadog 지원팀에 문의하세요.