Network Load Balancer の CloudWatch メトリクス - Elastic Load Balancing

Network Load Balancer の CloudWatch メトリクス

Elastic Load Balancing は、ロードバランサーとターゲットのデータポイントを Amazon CloudWatch に発行します。CloudWatch では、それらのデータポイントについての統計を、(メトリクスと呼ばれる) 順序付けられた時系列データのセットとして取得できます。メトリクスは監視対象の変数、データポイントは時間の経過と共に変わる変数の値と考えることができます。たとえば、指定した期間中のロードバランサーの正常なターゲットの合計数を監視することができます。各データポイントには、タイムスタンプと、オプションの測定単位が関連付けられています。

メトリクスを使用して、システムが正常に実行されていることを確認できます。たとえば、メトリクスが許容範囲外になる場合、CloudWatch アラームを作成して、指定されたメトリクスを監視し、アクション (E メールアドレスに通知を送信するなど) を開始することができます。

Elastic Load Balancing は、ロードバランサー経由でリクエストが伝達される場合にのみ、メトリクスを CloudWatch にレポートします。ロードバランサーを経由するリクエストがある場合、Elastic Load Balancing は 60 秒間隔でメトリクスを測定し、送信します。ロードバランサーを経由するリクエストがないか、メトリクスのデータがない場合、メトリクスは報告されません。

詳細については、Amazon CloudWatch ユーザーガイドを参照してください。

Network Load Balancer メトリクス

AWS/NetworkELB 名前空間には、次のメトリクスが含まれます。

メトリクス 説明
ActiveFlowCount

クライアントからターゲットへの同時フロー (または接続) の合計数。このメトリクスには、SYN_SENT 状態と ESTABLISHED 状態の接続が含まれます。TCP 接続はロードバランサーで終了しないため、ターゲットへの TCP 接続を開いているクライアントは単一のフローとしてカウントされます。

レポート条件: ゼロ以外の値がある。

統計: 最も有用な統計は AverageMaximum、および Minimum です。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ActiveFlowCount_TCP

クライアントからターゲットへの同時 TCP フロー (または接続) の合計数。このメトリクスには、ESTABLISHED 状態の接続のみが含まれます。TCP 接続はロードバランサーで終了しないため、ターゲットへの TCP 接続を開いているクライアントは単一のフローとしてカウントされます。

レポート条件: ゼロ以外の値がある

統計: 最も有用な統計は AverageMaximum、および Minimum です。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ActiveFlowCount_TLS

クライアントからターゲットへの同時 TLS フロー (または接続) の合計数。このメトリクスには、ESTABLISHED 状態の接続のみが含まれます。

レポート条件: ゼロ以外の値がある。

統計: 最も有用な統計は AverageMaximum、および Minimum です。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ActiveFlowCount_UDP

クライアントからターゲットへの同時 UDP フロー (または接続) の合計数。

レポート条件: ゼロ以外の値がある。

統計: 最も有用な統計は AverageMaximum、および Minimum です。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ClientTLSNegotiationErrorCount

クライアントと TLS リスナー間でネゴシエーション中に失敗した TLS ハンドシェイクの合計数。

レポート条件: ゼロ以外の値がある。

統計: 最も有用な統計は Sum です。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ConsumedLCUs

ロードバランサーが使用するロードバランサーキャパシティーユニット (LCU) の数です。1 時間当たりで使用する LCU 数の料金をお支払いいただきます。 詳細については、Elastic Load Balancing の料金表を参照してください。

レポート条件: 常に報告される。

統計: All

Dimensions

  • LoadBalancer

ConsumedLCUs_TCP

TCP のロードバランサーが使用するロードバランサーキャパシティーユニット (LCU) の数です。1 時間当たりで使用する LCU 数の料金をお支払いいただきます。 詳細については、Elastic Load Balancing の料金表を参照してください。

レポート条件: 常に報告される。

統計: All

Dimensions

  • LoadBalancer

ConsumedLCUs_TLS

TLS のロードバランサーが使用するロードバランサーキャパシティーユニット (LCU) の数です。1 時間当たりで使用する LCU 数の料金をお支払いいただきます。 詳細については、Elastic Load Balancing の料金表を参照してください。

レポート条件: 常に報告される。

統計: All

Dimensions

  • LoadBalancer

ConsumedLCUs_UDP

UDP のロードバランサーが使用するロードバランサーキャパシティーユニット (LCU) の数です。1 時間当たりで使用する LCU 数の料金をお支払いいただきます。 詳細については、Elastic Load Balancing の料金表を参照してください。

レポート条件: 常に報告される。

統計: All

Dimensions

  • LoadBalancer

HealthyHostCount

正常と見なされるターゲットの数。

レポート条件: ヘルスチェックが有効になっている場合にレポートされます。

Statistics: 最も有用な統計は Maximum および Minimum です。

Dimensions

  • LoadBalancer, TargetGroup

  • AvailabilityZone, LoadBalancer, TargetGroup

NewFlowCount

期間内にクライアントからターゲットに確立された新しいフロー (または接続) の合計数。

レポート条件: ゼロ以外の値がある。

統計: 最も有用な統計は Sum です。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

NewFlowCount_TCP

期間内にクライアントからターゲットに確立された新しい TCP フロー (または接続) の合計数。

レポート条件: ゼロ以外の値がある。

統計: 最も有用な統計は Sum です。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

NewFlowCount_TLS

期間内にクライアントからターゲットに確立された新しい TLS フロー (または接続) の合計数。

レポート条件: ゼロ以外の値がある。

統計: 最も有用な統計は Sum です。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

NewFlowCount_UDP

期間内にクライアントからターゲットに確立された新しい UDP フロー (または接続) の合計数。

レポート条件: ゼロ以外の値がある。

統計: 最も有用な統計は Sum です。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

PeakBytesPerSecond

サンプリングウィンドウの間に 10 秒間隔で計算される最大スループットの平均値(バイト/秒)。このメトリクスには、ヘルスチェックトラフィックが含まれます。

レポート条件: ゼロ以外の値がある。

統計: 最も有用な統計は Maximum です。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

PeakPacketsPerSecond

サンプリングウィンドウの間に 10 秒間隔で計算される最大パケットレートの平均値(1 秒あたりの処理パケット数)。このメトリクスには、ヘルスチェックトラフィックが含まれます。

レポート条件: ゼロ以外の値がある。

統計: 最も有用な統計は Maximum です。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ProcessedBytes

TCP/IP ヘッダーを含む、ロードバランサーによって処理された合計バイト数。この数には、ターゲットとの間のトラフィックからヘルスチェックトラフィックを引いたものが含まれます。

レポート条件: ゼロ以外の値がある。

統計: 最も有用な統計は Sum です。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ProcessedBytes_TCP

TCP リスナーによって処理される総バイト数。

レポート条件: ゼロ以外の値がある。

統計: 最も有用な統計は Sum です。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ProcessedBytes_TLS

TLS リスナーによって処理される総バイト数。

レポート条件: ゼロ以外の値がある。

統計: 最も有用な統計は Sum です。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ProcessedBytes_UDP

UDP リスナーによって処理される総バイト数。

レポート条件: ゼロ以外の値がある

統計: 最も有用な統計は Sum です。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ProcessedPackets

ロードバランサーによって処理される総バイト数。この数には、ヘルスチェックトラフィックを含む、ターゲットとの間のトラフィックが含まれます。

レポート条件: ゼロ以外の値がある。

統計: 最も有用な統計は Sum です。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

TargetTLSNegotiationErrorCount

TLS リスナーとターゲット間でネゴシエーション中に失敗した TLS ハンドシェイクの合計数。

レポート条件: ゼロ以外の値がある。

統計: 最も有用な統計は Sum です。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

TCP_Client_Reset_Count

クライアントからターゲットに送信されたリセット (RST) パケットの合計数。これらのリセットは、クライアントによって生成され、ロードバランサーによって転送されます。

レポート条件: ゼロ以外の値がある。

統計: 最も有用な統計は Sum です。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

TCP_ELB_Reset_Count

ロードバランサーによって生成されたリセット (RST) パケットの合計数。

レポート条件: ゼロ以外の値がある。

統計: 最も有用な統計は Sum です。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

TCP_Target_Reset_Count

ターゲットからクライアントに送信されたリセット (RST) パケットの合計数。これらのリセットは、ターゲットによって生成され、ロードバランサーによって転送されます。

レポート条件: ゼロ以外の値がある。

統計: 最も有用な統計は Sum です。

Dimensions

  • LoadBalancer

  • AvailabilityZone, LoadBalancer

UnHealthyHostCount

異常と見なされるターゲットの数。

レポート条件: ヘルスチェックが有効になっている場合にレポートされます。

Statistics: 最も有用な統計は Maximum および Minimum です。

Dimensions

  • LoadBalancer, TargetGroup

  • AvailabilityZone, LoadBalancer, TargetGroup

Network Load Balancer のメトリクスディメンション

ロードバランサーのメトリクスを絞り込むには、次のディメンションを使用できます。

ディメンション 説明
AvailabilityZone

アベイラビリティーゾーン別にメトリクスデータをフィルタリングします。

LoadBalancer

ロードバランサーでメトリクスデータをフィルタリングします。ロードバランサーを次のように指定します。net/ロードバランサー名/1234567890123456 (ロードバランサー ARN の最後の部分)。

TargetGroup

ターゲットグループでメトリクスデータをフィルタリングします。ターゲットグループを次のように指定します。targetgroup/ターゲットグループ名/1234567890123456 (ターゲットグループ ARN の最後の部分)。

Network Load Balancer メトリクスの統計

CloudWatch では、Elastic Load Balancing で発行されたメトリクスのデータポイントに基づいた統計が提供されます。統計とは、メトリクスデータを指定した期間で集約したものです。統計を要求した場合、返されるデータストリームはメトリクス名とディメンションによって識別されます。ディメンションは、メトリクスを一意に識別する名前/値のペアです。たとえば、特定のアベイラビリティーゾーンで起動されたロードバランサーの配下のすべての正常な EC2 インスタンスの統計をリクエストできます。

Minimum および Maximum の統計は、各サンプリングウィンドウの個別のロードバランサーノードから報告されるデータポイントの最小値と最大値を反映します。HealthyHostCount の最大値の増加は、UnHealthyHostCount の最小値の減少に対応します。したがって、HealthyHostCount の最大値または UnHealthyHostCount の最小値のいずれかを使用して Network Load Balancer をモニタリングすることをお勧めします。

Sum 統計は、すべてのロードバランサーノードにおける集計値です。メトリクスには期間あたり複数のレポートが含まれているため、Sum はすべてのロードバランサーノードで集計されたメトリクスのみに適用されます。

SampleCount 統計は測定されたサンプルの数です。メトリクスはサンプリング間隔とイベントに基づいて集計されるため、通常、この統計は有用ではありません。たとえば、HealthyHostCountSampleCount は、正常なホストの数ではなく各ロードバランサーノードが報告するサンプル数に基づいています。

ロードバランサーの CloudWatch メトリクスの表示

Amazon EC2 コンソールを使用して、ロードバランサーに関する CloudWatch メトリクスを表示できます。これらのメトリクスは、モニタリング用のグラフのように表示されます。ロードバランサーがアクティブでリクエストを受信しているときにのみ、モニタリング用のグラフにデータポイントが表示されます。

別の方法としては、ロードバランサーのメトリクスの表示に、CloudWatch コンソールを使用することもできます。

Amazon EC2 コンソールを使用してメトリクスを表示するには

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ターゲットグループによってフィルタリングされたメトリクスを表示するには、以下の作業を実行します。

    1. ナビゲーションペインで、[Target Groups] を選択します。

    2. ターゲットグループを選択し、[Monitoring] を選択します。

    3. (オプション) 結果を時間でフィルタリングするには、[Showing data for] から時間範囲を選択します。

    4. 1 つのメトリクスの大きいビューを取得するには、グラフを選択します。

  3. ロードバランサーでフィルタリングされたメトリクスを表示するには、以下の操作を実行します。

    1. ナビゲーションペインで、[Load Balancers] を選択します。

    2. ロードバランサーを選択し、[Monitoring] タブを選択します。

    3. (オプション) 結果を時間でフィルタリングするには、[Showing data for] から時間範囲を選択します。

    4. 1 つのメトリクスの大きいビューを取得するには、グラフを選択します。

CloudWatch コンソールを使用してメトリクスを表示するには

  1. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

  2. ナビゲーションペインで [Metrics (メトリクス)] を選択します。

  3. [NetworkELB] 名前空間を選択します。

  4. (オプション) すべてのディメンションでメトリクスを表示するには、検索フィールドに名称を入力します。

を使ってメトリクスを表示するにはAWS CLI

使用可能なメトリクスを表示するには、次の list-metrics コマンドを使用します。

aws cloudwatch list-metrics --namespace AWS/NetworkELB

AWS CLI を使用してメトリクスの統計を取得するには

get-metric-statistics コマンドを使用して、指定されたメトリクスとディメンションの統計情報を取得します。CloudWatch は、ディメンションの一意の組み合わせをそれぞれ別のメトリクスとして扱うことに注意してください。特に発行されていないディメンションの組み合わせを使用した統計を取得することはできません。メトリクス作成時に使用した同じディメンションを指定する必要があります。

aws cloudwatch get-metric-statistics --namespace AWS/NetworkELB \ --metric-name UnHealthyHostCount --statistics Average --period 3600 \ --dimensions Name=LoadBalancer,Value=net/my-load-balancer/50dc6c495c0c9188 \ Name=TargetGroup,Value=targetgroup/my-targets/73e2d6bc24d8a067 \ --start-time 2017-04-18T00:00:00Z --end-time 2017-04-21T00:00:00Z

出力例を次に示します。

{ "Datapoints": [ { "Timestamp": "2017-04-18T22:00:00Z", "Average": 0.0, "Unit": "Count" }, { "Timestamp": "2017-04-18T04:00:00Z", "Average": 0.0, "Unit": "Count" }, ... ], "Label": "UnHealthyHostCount" }