ネットワーク・ロード・バランサー・メトリックのモニター

IBM Cloud® Network Load Balancer for VPC のモニタリング・メトリックは、データ集計、使用状況アラート、詳細な視覚表現に特化したサービスである IBM Cloud Monitoring で提供されます。 詳しくは、IBM Cloud Monitoring を参照してください。

以下の情報は、プライベート パス ネットワーク ロード バランサーには適用されません。

ネットワーク・ロード・バランサーはメトリックを計算し、さまざまなタイプの使用状況とトラフィックを反映したモニター・インスタンスにそれらのメトリックを送信します。 IBM Cloud Monitoring のダッシュボードまたは API から、メトリックを視覚化および分析できます。

サービス・プランで使用可能なメトリック

サポートされているモニタリング・メトリックとしては、以下が挙げられます。

  • 特定時点でのロード・バランサーへのアクティブ接続。
  • 接続レート、またはロード・バランサーへの接続の数が増減したタイミングの分析データ。

これらのメトリックから、NLB のトラフィックと使用パターンを追跡できます。また、ピーク・トラフィック時間、使用量のドロップオフ、および全体的な使用パターンについての洞察を得ることができます。

各メトリックは、以下のメタデータ・タイプで構成されています。

  • メトリック名 - 収集されたメトリックの名前。
  • メトリック・タイプ - メトリック・タイプは、メトリック値がカウンター・メトリックであるかゲージ・メトリックであるかを決定します。 これらの各メトリックは、時間の経過とともに任意に変動できる単一の数値を表す gauge タイプのものです。
  • 値タイプ - 特定メトリックの単位。 例えば、バイトやカウントなどです。 none という値タイプは、メトリック値がそのメトリック・タイプの個別オカレンスを表していることを意味します。
  • セグメント化 - モニタリング・メトリックをどのように分割して表示するかを指定します。

アクティブ接続数

アクティブ接続数は、1 つのロード・バランサー上で特定の時点で確立されている接続の数です。

アクティブ接続メトリックには、以下のメタデータが含まれます。

IBM VPCアクティブコネクションのメトリクス、メタデータ用のロードバランサー
メタデータ 説明
メトリック名 ibm_is_load_balancer_active_connections
メトリック・タイプ gauge
値のタイプ none
セグメント化の方法 IBM Load Balancer for VPC appliance metrics および IBM Load Balancer for VPC listener metrics

接続レート

接続レートは、ご使用のロード・バランサーに対する 1 秒当たりの新規着信アクティブ接続の数です。

IBM VPC接続率のメトリックのメタデータ用ロードバランサー
メタデータ 説明
メトリック名 ibm_is_load_balancer_connection_rate
メトリック・タイプ gauge
値のタイプ none
セグメント化の方法 IBM Load Balancer for VPC appliance metrics および IBM Load Balancer for VPC listener metrics

メトリックのセグメント化

IBM Cloud Monitoring で表示されるデータをダッシュボード内でさまざまな視覚表現に分割することで、好みに応じて各種メトリックのビューを表示できるようになります。 例えば、複数のロード・バランサーを使用している場合や、各アカウント内に異なるロード・バランサーが含まれた複数のアカウントを使用している場合は、特定のリスナー・ポートに重点を置くことができます。

例えば、active connectionsIBM Load Balancer for VPC listener port によってセグメント化することで、各リスナー・タイプを介して当該ロード・バランサーに接続されているアクティブ・ユーザーの数を表示できます。 これについて説明するために、ネットワーク・ロード・バランサーに、ポート 8080 で TCP プロトコルを listen するリスナーがあると想定してみましょう。 ダッシュボードには、ポート 80 上の HTTP を介して接続された 10 人のユーザーと、ポート 8080 上の TCP を介して接続された 6 人のユーザーが色分けされて別々の行で表示されます。

グローバル属性

前述の 3 つのメトリックをセグメント化するために、以下の属性を使用できます。

グローバル属性
属性 属性名 属性の説明
Resource ibm_resource ロード・バランサーの固有 ID
Scope ibm_scope 特定のロード・バランサーに関連付けられているアカウント
Service name ibm_service_name ibm-is-load-balancer

追加の属性

以下の属性は、1 つ以上のグローバル属性をセグメント化するために使用できます。 セグメント化のオプションについては、個々のメトリックを参照してください。

追加の属性
属性 属性名 属性の説明
IBM Load Balancer for VPC appliance metrics ibm_is_load_balancer_appliance_ip ロード・バランサー・バックエンドから得られるメトリック。 ロード・バランサーは高可用性であるため、冗長性を確保するために各ロード・バランサーは複数のアプライアンスによってサポートされます。
IBM Load Balancer for VPC listener metrics ibm_is_load_balancer_listener_port 個々のリスナーとそのポートから収集されるメトリック。 ロード・バランサーの設定でこれらのリスナーを構成します。 モニタリング・メトリックには、これらのリスナーから提供されるメトリックが反映されます。

表示されるメトリックには、UNIX エポック時間のタイム・スタンプと、そのタイム・スタンプ時刻に終了する時間間隔のメトリック値が含まれています。 さまざまな範囲を指定できるとともに、メトリックを報告する時間間隔を指定できます。

ネットワーク・ロード・バランサーでサポートされるリスナー・プロトコルは、次のとおりです。

  • TCP

また、メトリックを報告する時間間隔を指定することもできます。 ダッシュボードでサポートされている時間間隔は以下のとおりです。

  • 10 秒間
  • 1 分間
  • 10 分間
  • 1 時間
  • 6 時間
  • 2 週間
  • カスタム

報告できるデータ・ポイントの数は、どの時間間隔でもほぼ同じです。 例えば、間隔が 1 時間の場合、各データ・ポイントは 5 分間分のデータを示します。 間隔が 2 週間の場合、各データ・ポイントは 24 時間分のデータを示します。

メトリック・モニタリングの有効化

モニタリング・メトリックを受け取るには、モニター・インスタンスを指定して IBM Cloud Monitoring をセットアップする必要があります。

これを行うには、以下の手順を実行します。

  1. メトリクス・モニタリング・ポータルに移動し、 モニタリング・インスタンスの作成をクリックします。

  2. モニター・インスタンスのリージョンを選択します。

    既存のロード・バランサーがない場合はネットワーク・ロード・バランサーの作成を参照して、ロード・バランサーをプロビジョンします。

    リージョンは、既存のロード・バランサーの場所に一致する必要があります。

  3. 価格プランを選択します。

    価格プランの詳細は、選択ウィンドウで説明されています。 各自の要件に最も適合するプランを選択してください。

  4. インスタンスの固有のサービス名を指定します。

  5. オプションで、リソース・グループを選択します。 リソース・グループは、アカウント・リソースをカスタマイズ可能なグループに分けて編成するための手段です。 IBM Cloud® Identity and Access Management (IAM) アクセスコントロールを使用して管理されるアカウントリソースは、アカウント内のリソースグループに属します。

    事前構成済みのリソース・グループがない場合や、このリソースを取捨選択して共有する理由がない場合は、デフォルトの選択内容を使用してください。

    自身のアカウントに複数のリソース・グループがある場合は、このモニター・インスタンスにアクセス可能にするリソース・グループをそれらの中から選択できます。 これにより、メトリックを一部のリソース・グループで使用可能にする一方で、他のリソース・グループでは使用不可にすることができます。

  6. **「プラットフォーム・メトリックの有効化 (Enable Platform Metrics)」**チェック・ボックスを選択します。 ロード・バランサーからメトリックを受信するには、このチェック・ボックスを選択する必要があります。

  7. 「作成」 をクリックします。 モニタリング・メトリックのホーム・ページに自動的に戻ります。

数分以内に、新規のモニター・インスタンスといくつかの構成が表示されます。 場合によっては、このインスタンスを表示するためにブラウザーを最新表示する必要があります。

IBM Cloud Monitoring ダッシュボードの操作

モニタリング・メトリックを表示して操作するには、以下の手順を実行します。

  1. メトリック・モニター・ポータルにナビゲートします。

  2. 操作するモニター・インスタンスのサービス名の横にある**「ダッシュボードを開く (Open Dashboard)」**をクリックします。

    モニター・インスタンスに初めてアクセスするときに、内部セットアップの一部として複数のウィンドウが表示されます。 これらの選択対象はデフォルト項目のままにして、クリックを繰り返してページを移動してメイン・ページまで進みます。

  3. 左側のサイドバーにある**「ダッシュボード」を選択して、IBM Load Balancer モニタリング・メトリック・ダッシュボードを開きます。 次に、「デフォルト・ダッシュボード (Default Dashboards)」>「IBM」>「ロード・バランサーのモニタリング・メトリック (Load Balancer Monitoring Metrics)」**をクリックします。 デフォルトのダッシュボードは編集できません。

  4. ダッシュボードの 2 つの主要なメトリックである「アクティブ接続数 (Active Connections)」および「接続レート (Connection Rate)」が表示されます。 パラメーターを変更して、メトリックをロード・バランサー ID またはリスナー・ポートによってセグメント化するには、カスタム・ダッシュボードを作成する必要があります。

    最下部のバーを使用して、どの時間枠のメトリックを表示するのかを選択できます。

カスタム・メトリック・ダッシュボードの作成

独自のダッシュボードを作成してモニタリング・メトリックをカスタマイズすることで、例えば、特定のロード・バランサーに関する情報を表示したり、特定のリスナーを経由するトラフィックのみを表示したりできます。

ダッシュボードをカスタマイズするには、以下の手順を実行します。

  1. メトリック・モニター・ポータルにナビゲートします。

  2. 操作するモニター・インスタンスのサービス名の横にある**「ダッシュボードを開く (Open Dashboard)」**をクリックします。 ダッシュボードが表示されます。

  3. 左側のサイドバーで、**「ダッシュボード」**を選択します。 次に、パネル内の緑色の + 記号をクリックします。

  4. **「ブランク・ダッシュボード (Blank dashboard)」**を選択してから、希望の視覚表現のタイプを選択します。

    IBM Cloud Monitoring では、ダッシュボード用に 8 種類の視覚表現が提供されます。 各視覚表現の説明を参照してから、各自の要件に最も適合するものを選択してください。

    「折れ線 (Line)」(「一定期間にわたる傾向の表示」) が最も簡単で基本的なオプションです。 これは、最も頻繁に選択されるオプションでもあります。 このトピックの例では、ライン・ベースの視覚表現を示しています。

  5. カスタム・ダッシュボードを構成します。

    • **「メトリック」**フィールドに「ibm_is」と入力して、2 つのロード・バランサー・メトリックである ibm_is_load_balancer_active_connections および ibm_is_load_balancer_connection_rate を表示します。

      リスナー・ポートのトラフィックをモニターするには、ibm_is_load_balancer_listener_port メトリックを有効にします。

    • ダッシュボードに表示する範囲を選択するには、**「ダッシュボード範囲のオーバーライド (Override Dashboard Scope)」**をクリックします。 例えば、特定のロード・バランサーのメトリックを表示することができます。

    • また、定義した範囲全体にわたってメトリックを比較するためのセグメントを設定することもできます。 例えば、特定のロード・バランサーの「アクティブ接続数 (Active connections)」を、リスナー・ポート別にセグメント化して表示することができます。

  6. 新しいカスタム・ダッシュボードをアクセス可能にするには、**「保存」**をクリックします。

    デフォルトでは、ダッシュボードの初期名は「ブランク・ダッシュボード (blank dashboard)」です。 サイドバーからダッシュボードを選択し、名前の横にある編集アイコン クリックすると、名前を変更できます。

任意の時点でデフォルトのダッシュボードに戻るには、**「ダッシュボード」>「デフォルト・ダッシュボード (Default Dashboards)」>「IBM」>「ロード・バランサーのモニタリング・メトリック (Load Balancer Monitoring Metrics)」**を選択します。

API を使用した IBM Cloud Monitoring の操作

メトリック照会 API を使用してモニター・インスタンスを操作することもできます。 この方法が望ましいのは、未加工のデータ・ポイントが必要な場合や、ダッシュボードを使用する代わりにコマンド・ライン・インターフェースからメトリックを扱う場合です。

IBM Cloud Monitoring インスタンスを作成した後に、以下の 2 つの情報を取得する必要があります。

  • Monitor API トークン
  • IBM Cloud Monitoring インスタンスのエンドポイント

これらの情報を収集し、メトリック照会 API を使用してモニター・インスタンスの操作を開始するには、以下の手順を実行します。

  1. モニタリング・ホームページにアクセスし、作業するインスタンスの横にある [ ダッシュボードを開く] をクリックします。 IBM Cloud Monitoring ダッシュボードが表示されたら、左側のサイドバーにある「アカウント・プロファイル (Account Profile)」アイコンを選択して、**「設定」**を選択します。 アカウント設定が表示されます。

  2. Monitor API トークンは、**「Monitor API トークン (Monitor API Token)」フィールドに表示されている英数字ストリングです。 鍵の右側にある「コピー」**ボタンをクリックして、トークンをクリップボードに格納します。

    この API トークンを共有しないでください。 この API トークンを持っているどのユーザーも、このユーザーのメトリックに対するフルアクセスを持ちます。

  3. IBM Cloud Monitoring インスタンスのエンドポイントを取得するには、ブラウザーでメイン・ダッシュボードにナビゲートします。 次に、下記の例のようなダッシュボードの URL を選択します。

    https://us-south.monitoring.cloud.ibm.com/#/default-dashboard/ibm_is_load_balancer?last=3600
    

    この URL の前半部分 (この例では us-south.monitoring.cloud.ibm.com) がエンドポイントです。 この値をメモしてください。

  4. API トークンとエンドポイントの両方が得られたら、POST 要求をフォーマット設定できます。 以下の POST 要求の例には、ユーザーが変更できるすべてのパラメーターが含まれています。 これらのパラメーターは次のとおりです。

    • Monitor API トークン。

    • モニター・インスタンスのエンドポイント。

    • ibm_resource の値 (これはメトリックを表示するロード・バランサー ID です)。

      すべてのロード・バランサーについてこのメトリックを表示するには、scope 属性の値を入力しないでください。 例えば、"scope" : "" を使用してください。

    • 結果を表示するメトリック・タイプ。 この例では ibm_is_load_balancer_active_connections を使用していますが、ibm_is_load_balancer_connection_rate も有効なオプションです。

    • from 属性と to 属性では、スキャンを集中させる時間を定義します。これらの値は、エポック時間に基づいてマイクロ秒単位で設定します。

    • sampling 属性と value 属性では、POST 要求で返されるデータ内容の細分度を設定します。

IBM Cloud Monitoring には大量のデータが保管されているため、特定の細分度レベルを選択することが重要です。IBM Cloud Monitoring が特定の要求で一度に返すことができるデータ・ポイントは 600 個のみです。 したがって、sampling 属性と value 属性は重要です。 これら 2 つの行を要求から除外した場合は、代わりにその期間の合計が返されます。

fromto で指定した時間範囲が長い場合 (例えば 4 日間の場合) に、samplingvalue で 10 秒を定義した場合は、10 秒ごとに分割された 4 日分のデータを受け取ることになります。 この場合は大量のデータが返されるため、これは有用なサンプリングではありません。 これより長い時間幅を指定することをお勧めします (例えば 10 秒ではなく 1 時間など)。

curl \
-H 'Authorization: Bearer <API_TOKEN>’ \
-H 'Content-Type: application/json' \
https://us-south.monitoring.cloud.ibm.com/api/data/batch  \
-d '{
 "requests": [
     {
         "format": {
             "type": "data"
         },
         "scope": "ibm_resource = \"cfc851b1-f30b-4a06-b354-5b64526c0a69\"",
         "metrics": {
             "k0": "timestamp",
             “v1”: "ibm_is_load_balancer_active_connections"
         },
         "time": {
             "from": 1584396900000000,
             "to": 1584402600000000,
              “sampling”: 600000000
         },
         "group": {
             "by": [
                 {
                     "metric": "k0",
                     “value” : 600000000
                 }
             ],
             "aggregations": {
                 “v1”: "sum"
             },
             "groupAggregations": {
                 “v1”: "sum"
             }
         }
     }
 ]
}'