Amazon Load Balancer
セキュリティモニタリングが使用可能です セキュリティモニタリングが使用可能です

Amazon Load Balancer

Crawler Crawler

概要

Elastic Load Balancing (ELB) は、アプリケーションから異なるアベイラビリティーゾーンにある複数の Amazon EC2 バックエンドインスタンスに受信 Web トラフィックをディスパッチするために使用される AWS サービスです。ELB は、スムーズなユーザーエクスペリエンスを保証しつつ、フォールトトレランスを向上させ、トラフィックのピークや機能停止した EC2 インスタンスを中断なく処理します。

Datadog は、AWS が提供する 3 つのバリエーションの Elastic Load Balancer (Application、Classic、Network Load Balancer) からメトリクスとメタデータを収集します。

セットアップ

インストール

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

メトリクスの収集

  1. AWS インテグレーションタイルのメトリクス収集で、ELB をオンにします。Application ELB メトリクスの ApplicationELB チェックボックスと、Network ELB メトリクスの NetworkELB チェックボックスもオンにします。
  2. Amazon ELB のメトリクスを収集するには、次のアクセス許可を Datadog IAM ポリシーに追加します。ELB ポリシーの詳細については、AWS Web サイトのガイドを参照してください。

    AWS アクセス許可説明
    elasticloadbalancing:DescribeLoadBalancersELB を一覧表示し、タグとメトリクスを追加します。
    elasticloadbalancing:DescribeTagsELB メトリクスにカスタム ELB タグを追加します。
    elasticloadbalancing:DescribeInstanceHealthインスタンスの状態を追加します。
    elasticloadbalancing:DescribeTargetGroups指定したターゲットグループまたはすべてのターゲットグループを説明します。
  3. Datadog - AWS ELB インテグレーションをインストールします。

ログの収集

AWS ELB および ALB ログの有効化

ログを収集するには、まず ELB または ALB でログを有効にします。ELB または ALB ログを AWS S3 バケットに書き込み、Lambda 関数で使用することができます。詳細については、AWS のドキュメントを参照してください。

間隔を 5 分に設定し、S3 バケットを定義します。

ログを Datadog に送信する方法

  1. Datadog ログコレクション AWS Lambda 関数をまだセットアップしていない場合は、セットアップします。
  2. Lambda 関数がインストールされたら、AWS コンソールで ELB ログを含む S3 バケットに手動でトリガーを追加します。トリガーリストから S3 をクリックします。ELB ログを含む S3 バケットを選択してトリガーを構成し、イベントタイプを Object Created (All) に変更して、Add ボタンをクリックします。

完了したら、Datadog Log セクションに移動し、ログを確認します。

収集データ

メトリクスは次のネームスペースの下に収集されます。

Datadog ネームスペースAWS サービス
aws.applicationelbApplication Load Balancer
aws.elbClassic Elastic Load Balancing
aws.network.elbNetwork Load Balancer

メトリクス

aws.applicationelb.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.applicationelb.client_tlsnegotiation_error_count
(count)
Number of TLS negotiation errors
Shown as error
aws.applicationelb.consumed_lcus
(gauge)
The number of load balancer capacity units (LCU) used by your load balancer.
Shown as unit
aws.applicationelb.elb_auth_error
(count)
The number of user authentications that could not be completed because an authenticate action was misconfigured, the load balancer couldn't establish a connection with the IdP, or the load balancer couldn't complete the authentication flow due to an internal error.
Shown as error
aws.applicationelb.elb_auth_failure
(count)
The number of user authentications that could not be completed because the IdP denied access to the user or an authorization code was used more than once.
Shown as error
aws.applicationelb.elb_auth_latency
(gauge)
The time elapsed, in milliseconds, to query the IdP for the ID token and user info. If one or more of these operations fail, this is the time to failure.
Shown as millisecond
aws.applicationelb.elb_auth_refresh_token_success
(count)
The number of times the load balancer successfully refreshed user claims using a refresh token provided by the IdP.
Shown as success
aws.applicationelb.elb_auth_success
(count)
The number of authenticate actions that were successful.
Shown as success
aws.applicationelb.elb_authuser_claims_size_exceeded
(count)
The number of times that a configured IdP returned user claims that exceeded 11K bytes in size.
aws.applicationelb.healthy_host_count
(gauge)
Average number of healthy instances in each Availability Zone.
Shown as host
aws.applicationelb.healthy_host_count_deduped
(count)
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.applicationelb.healthy_host_count.maximum
(gauge)
Maximum number of healthy instances in each Availability Zone.
Shown as host
aws.applicationelb.healthy_host_count.minimum
(gauge)
Minimum number of healthy instances in each Availability Zone.
Shown as host
aws.applicationelb.httpcode_elb_3xx
(count)
The number of HTTP 3XX redirection codes that originate from the load balancer.
Shown as response
aws.applicationelb.httpcode_elb_4xx
(count)
Number of HTTP 4XX client error codes generated by the load balancer.
Shown as response
aws.applicationelb.httpcode_elb_5_0_0
(count)
The number of HTTP 500 error codes that originate from the load balancer.
Shown as response
aws.applicationelb.httpcode_elb_5_0_2
(count)
The number of HTTP 502 error codes that originate from the load balancer.
Shown as response
aws.applicationelb.httpcode_elb_5_0_3
(count)
The number of HTTP 503 error codes that originate from the load balancer.
Shown as response
aws.applicationelb.httpcode_elb_5_0_4
(count)
The number of HTTP 504 error codes that originate from the load balancer.
Shown as response
aws.applicationelb.httpcode_elb_5xx
(count)
Number of HTTP 5XX client error codes generated by the load balancer.
Shown as response
aws.applicationelb.httpcode_target_2xx
(count)
Number of HTTP 2XX response codes generated by registered instances.
Shown as response
aws.applicationelb.httpcode_target_3xx
(count)
Number of HTTP 3XX response codes generated by registered instances.
Shown as response
aws.applicationelb.httpcode_target_4xx
(count)
Number of HTTP 4XX response codes generated by registered instances.
Shown as response
aws.applicationelb.httpcode_target_5xx
(count)
Number of HTTP 5XX response codes generated by registered instances.
Shown as response
aws.applicationelb.httpcode_redirect
(count)
The number of redirect actions that were successful.
Shown as response
aws.applicationelb.httpfixed_response
(count)
The number of fixed-response actions that were successful.
Shown as response
aws.applicationelb.httpredirect
(count)
The number of redirect actions that were successful.
aws.applicationelb.httpredirect_url_limit_exceeded
(count)
The number of redirect actions that couldn't be completed because the URL in the response location header is larger than 8K.
aws.applicationelb.ipv_6processed_bytes
(count)
The total number of bytes processed by the load balancer over IPv6.
Shown as byte
aws.applicationelb.ipv_6request_count
(count)
The number of IPv6 requests received by the load balancer.
Shown as request
aws.applicationelb.lambda_internal_error
(count)
The number of requests to a Lambda function that failed because of an issue internal to the load balancer or AWS Lambda.
Shown as request
aws.applicationelb.lambda_target_processed_bytes
(gauge)
The total number of bytes processed by the load balancer for requests to and responses from a Lambda function.
Shown as byte
aws.applicationelb.lambda_user_error
(count)
The number of requests to a Lambda function that failed because of an issue with the Lambda function.
Shown as request
aws.applicationelb.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.applicationelb.non_sticky_request_count
(count)
The number of requests where the load balancer chose a new target because it couldn't use an existing sticky session.
Shown as request
aws.applicationelb.processed_bytes
(count)
The total number of bytes processed by the load balancer over IPv4 and IPv6.
Shown as byte
aws.applicationelb.rejected_connection_count
(count)
The number of connections that were rejected because the load balancer had reached its maximum number of connections.
Shown as connection
aws.applicationelb.request_count
(count)
Total number of completed requests that were received and routed to the registered instances.
Shown as request
aws.applicationelb.request_count_per_target
(count)
The average number of requests received by each target in a target group.
Shown as request
aws.applicationelb.rule_evaluations
(count)
The number of rules processed by the load balancer given a request rate averaged over an hour.
aws.applicationelb.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.applicationelb.target_response_time.average
(gauge)
Average time elapsed after the request leaves the load balancer until a response is received.
Shown as second
aws.applicationelb.target_response_time.maximum
(gauge)
Maximum time elapsed after the request leaves the load balancer until a response is received.
Shown as second
aws.applicationelb.target_response_time.p50
(gauge)
50th 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.p90
(gauge)
90th 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.p95
(gauge)
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)
99th percentile of the time elapsed after the request leaves the load balancer until a response is received.
Shown as second
aws.applicationelb.target_tlsnegotiation_error_count
(count)
The number of TLS connections initiated by the load balancer that did not establish a session with the target.
Shown as connection
aws.applicationelb.un_healthy_host_count
(gauge)
Average number of unhealthy instances in each Availability Zone.
Shown as host
aws.applicationelb.un_healthy_host_count_deduped
(count)
The number of unhealthy instances per Availability Zone, regardless of if the Cross-Zone Load Balancing option is enabled or not.
Shown as host
aws.applicationelb.un_healthy_host_count.maximum
(gauge)
Maximum number of unhealthy instances in each Availability Zone.
Shown as host
aws.applicationelb.un_healthy_host_count.minimum
(gauge)
Minimium number of unhealthy instances in each Availability Zone.
Shown as host
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_deduped
(count)
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.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.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_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.httpcode_redirect
(count)
The number of redirect actions that were successful.
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. (ELB v2)
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. (ELB v2)
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. (ELB v2)
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. (ELB v2)
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_deduped
(count)
The number of unhealthy instances per Availability Zone, regardless of if the Cross-Zone Load Balancing option is enabled or not.
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)
Minimium number of unhealthy instances in each Availability Zone.
Shown as host
aws.networkelb.active_flow_count
(gauge)
The average number of active established connections from clients to targets
Shown as connection
aws.networkelb.active_flow_count_tls
(count)
The total number of concurrent TLS flows (or connections) from clients to targets.
Shown as connection
aws.networkelb.active_flow_count.maximum
(gauge)
The maximum number of active established connections from clients to targets
Shown as connection
aws.networkelb.active_flow_count.minimum
(gauge)
The minimum number of active established connections from clients to targets
Shown as connection
aws.networkelb.client_tlsnegotiation_error_count
(count)
The total number of TLS handshakes that failed during negotiation between a client and a TLS listener.
Shown as error
aws.networkelb.consumed_lcus
(count)
The number of LCUs used by the load balancer
Shown as unit
aws.networkelb.healthy_host_count
(gauge)
Average number of healthy targets
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 connection
aws.networkelb.new_flow_count_tls
(count)
The total number of new TLS flows (or connections) established from clients to targets in the time period.
Shown as connection
aws.networkelb.processed_bytes
(count)
The number of LCUs used by the load balancer
Shown as byte
aws.networkelb.processed_bytes_tls
(gauge)
The total number of bytes processed by TLS listeners.
Shown as byte
aws.networkelb.target_tlsnegotiation_error_count
(count)
The total number of TLS handshakes that failed during negotiation between a TLS listener and a target.
Shown as error
aws.networkelb.tcpclient_reset_count
(count)
The number of reset (RST) packets created by a client and sent to a target
Shown as packet
aws.networkelb.tcpelbreset_count
(count)
The number of reset (RST) packets created by a load balancer
Shown as packet
aws.networkelb.tcptarget_reset_count
(count)
The number of reset (RST) packets created by a target and sent to a client
Shown as packet
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 から取得される各メトリクスには、ホスト名やセキュリティ グループなど、AWS コンソールに表示されるのと同じタグが割り当てられます。

イベント

AWS Elastic Load Balancing インテグレーションには、イベントは含まれません。

サービスのチェック

AWS Elastic Load Balancing インテグレーションには、サービスのチェック機能は含まれません。

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問合せください。

その他の参考資料

ELB のパフォーマンスメトリクスを監視する方法については、こちらの記事をご参照ください。キーパフォーマンスメトリクス、その収集方法、Datadog を使用して ELB を監視する方法について詳しく説明しています。