IBM Cloud Docs
モニタリング指標の使用による IBM Cloud Monitoring

モニタリング指標の使用による IBM Cloud Monitoring

IBM Cloud Monitoring サービスのサポートは 2020 年 3 月 31 日に終了しました。IBM Cloud® Load Balancer モニターは、データ集約、使用状況アラート、および詳細な視覚化を専門とするサード・パーティーのモニター・ツールである IBM Cloud Monitoring で提供されるようになりました。 詳しくは、IBM Cloud Monitoring を参照してください。

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

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

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

  • 特定時点でのロード・バランサーへのアクティブ接続。
  • 特定の時間にわたってロード・バランサーを通過するデータのスループット。
  • 接続レート、またはロード・バランサーへの接続の数が増減したタイミングの分析データ。

これらの指標は、お客様のロードバランサーのトラフィックと使用パターンの追跡に役立ち、ピーク時のトラフィック、使用の中断、全体的な使用パターンに関する洞察を提供することができます。

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

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

アクティブ接続数

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

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

IBM Cloud Load Balancer アクティブな接続 メトリクス メタデータ
メタデータ 説明
メトリック名 ibm_cloud_load_balancer_active_connections
メトリック・タイプ gauge
値のタイプ none
セグメント化の方法 IBM Cloud Load Balancer appliance metrics および IBM Cloud Load Balancer listener metrics

接続レート

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

IBM Cloud Load Balancer 接続率 メトリクス メタデータ
メタデータ 説明
メトリック名 ibm_cloud_load_balancer_connection_rate
メトリック・タイプ gauge
値のタイプ none
セグメント化の方法 IBM Cloud Load Balancer appliance metrics および IBM Cloud Load Balancer listener metrics

スループット

スループットとは、一定期間におけるロードバランサーへのデータ入出力量です。

IBM Cloud Load Balancer スループット メトリクス メタデータ
メタデータ 説明
メトリック名 ibm_cloud_load_balancer_throughput
メトリック・タイプ gauge
値のタイプ byte
セグメント化の方法 IBM Cloud Load Balancer appliance metricsまたはIBM Cloud Load Balancer listener metrics

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

IBM Cloud Monitoring で表示されるデータを IBM Cloud Monitoring ダッシュボード内でさまざまな視覚表現に分割することで、ニーズに合った各種メトリックのビューを表示できるようになります。 例えば、複数のロード・バランサーを使用している場合や、それぞれ異なるロード・バランサーを使用する複数のアカウントがある場合に、特定のリスナー (フロントエンド・プロトコル) ポートのみでメトリックを確認できます。

例えば、active connectionsIBM Cloud Load Balancer listener portでセグメント化すると、使用しているリスナー・タイプごとに、ロード・バランサーに接続しているアクティブ・ユーザーの数を確認できます。 このことを例示するために、ご使用のロード・バランサーで 2 種類のリスナー・プロトコルがサポートされていると想定しましょう。1 つはポート 80 上の HTTP であり、もう 1 つはポート 8080 上の TCP です。 ダッシュボードには、ポート 80 上の HTTP を介して接続された 10 人のユーザーと、ポート 8080 上の TCP を介して接続された 6 人のユーザーが色分けされて別々の行で表示されます。

グローバル属性

以下の属性は、3 つすべての IBM Cloud Monitoring メトリックのセグメント化に使用できます。

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

追加の属性

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

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

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

サポートされているプロトコルは次のとおりです。

  • HTTP
  • HTTPS
  • TCP

リスナー・ポートを指定すると、そのリスナーに基づいてメトリックがフィルタリングされます。 例えば、ポートを指定しない場合に、メトリックが Throughput の場合は、IBM Cloud Monitoring はすべてのリスナー・プロトコルの合計スループットを報告します。 一方、リスナー・プロトコルがポート 80 上の HTTP である場合、IBM Cloud Monitoring は HTTP トラフィックのみのスループットを報告します。

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

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

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

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

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

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

  1. メトリック・モニタリング・ポータルにナビゲートして、**「モニタリング・インスタンスの作成 (Create a monitoring instance)」**をクリックします。

  2. IBM Cloud Monitoring インスタンスのリージョンを選択します。

    既存のロード・バランサーがない場合はサーバー・ロード・バランシングのための柔軟な IBM Cloud Load Balancer の使用を参照して、ロード・バランサーをプロビジョンします。

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

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

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

  4. インスタンスのサービス名を指定します。 これは任意の名前を付けることができ、機能に影響はありません。

    同じ名前の複数の IBM Cloud Monitoring インスタンスを作成しないでください。

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

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

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

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

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

数分以内に、新しいインスタンスが表示されます。 場合によっては、このインスタンスを表示するためにブラウザーを最新表示する必要があります。

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

IBM Cloud Monitoring メトリックを表示して操作するには、以下の手順を実行します。

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

  2. 操作する IBM Cloud Monitoring インスタンスのサービス名の横にある**「IBM Cloud Monitoring の表示」**をクリックします。

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

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

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

    時間選択バーを使用して、どの時間枠で指標を確認したいかを選択できます。 ズームインおよびズームアウトしてより細かく調整し、マウスをドラッグして特定の時間枠の選択範囲を作成することもできます。

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

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

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

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

  2. 操作する IBM Cloud Monitoring インスタンスのサービス名の横にある**「IBM Cloud Monitoring の表示」**をクリックします。 ダッシュボードが開きます。

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

  4. 「Blank」ダッシュボードを選択し、次に希望する視覚表現の種類を選択します。

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

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

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

    • **「メトリック」**フィールドに「ibm_cloud」と入力して、IBM IBM Cloud Monitoring ロード・バランサー・メトリックを表示します。 ここまで、ibm_cloud_load_balancer_active_connectionsibm_cloud_load_balancer_connection_rate、および ibm_cloud_load_balancer_throughput について説明しました。 各メトリックをクリックして追加した後、次のメトリックを選択するための新しいドロップダウン・メニューが表示されます。 3 つすべてを追加するまで、このプロセスを繰り返します。

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

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

    • また、定義した範囲全体にわたってメトリックを比較するためのセグメントを設定することもできます。 例えば、リスナー・ポートでセグメント化された特定のロード・バランサーのスループットを参照できます。

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

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

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

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

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

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

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

この情報を収集し、メトリッククエリAPIを使用して IBM Cloud Monitoring インスタンスでの作業を開始するには、以下の手順に従います

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

  2. API トークンは、**「IBM Cloud Monitoring モニター API トークン」フィールドに配置されている英数字ストリングです。 鍵の右側にある「コピー」**ボタンをクリックして、トークンをクリップボードに格納します。

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

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

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

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

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

    • IBM Cloud Monitoring Monitor API トークン。

    • IBM Cloud Monitoring インスタンスのエンドポイント。

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

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

    • 結果を表示するメトリック・タイプ。 この例では ibm_cloud_load_balancer_throughput を使用していますが、ibm_cloud_load_balancer_active_connectionsibm_cloud_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=\"908461\"",
             "metrics": {
                 "k0": "timestamp",
                 “v1”: "ibm_cloud_load_balancer_throughput"
             },
             "time": {
                 "from": 1584396900000000,
                 "to": 1584402600000000,
    	              “sampling”: 600000000
             },
             "group": {
                 "by": [
                     {
                         "metric": "k0",
                         “value” : 600000000
                     }
                 ],
                 "aggregations": {
                     “v1”: "sum"
                 },
                 "groupAggregations": {
                     “v1”: "sum"
                 }
             }
         }
       ]
     }