Amazon Elastic Load Balancing

概要

Amazon Elastic Load Balancing は、クラウド上の複数の Amazon EC2 インスタンスに受信アプリケーションのトラフィックを自動的に分散します。

Datadog は、AWS が提供する 3 種類の Elastic Load Balancer (Application (ALB)、Classic (ELB)、Network Load Balancers (NLB)) からメトリクスとメタデータを収集します。

このインテグレーションを有効にすると、Datadog にすべての Elastic Load Balancing メトリクスを表示できます。

注: このインテグレーションでは、’ec2:describe**’ と ’elasticloadbalancing:describe*’ の権限が完全に有効になっている必要があります。

セットアップ

インストール

Amazon Web Services インテグレーションをまだセットアップしていない場合は、最初にセットアップします。

メトリクスの収集

  1. AWS インテグレーションページで、ApplicationELBELBNetworkELBMetric Collection タブで有効になっていることを確認します。
  2. Datadog - Amazon ELB インテグレーションをインストールします。

ログ収集

Amazon ELB または ALB のログを有効にする

ログを収集するには、まずご自身の ELB または ALB でログを有効にしてください。ELB または ALB ログを 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 Forwarder Lambda 関数 をまだセットアップしていない場合は、セットアップします。
  2. 設定が完了したら、Datadog Forwarder Lambda 関数のページにアクセスします。ELB ログを保存する S3 バケットで、トリガーを自動または手動で設定してください。手動セットアップでは、All object create events のイベントタイプを使用します。
  3. ログエクスプローラーを使って、ログを確認します。

AWS Services のログを収集する方法については、Datadog Lambda 関数で AWS Services のログを送信するを参照してください。

収集データ

メトリクス

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 のサポートチームまでお問合せください。