VM インスタンスの分析情報を表示して理解する


仮想マシン(VM)インスタンスの分析情報は、Compute Engine VM の CPU、メモリ、ネットワークの使用状況を理解するのに役立ちます。分析情報は、システム指標または Cloud Monitoring によって収集された指標に基づいて自動的に生成されます。分析情報を使用して、VM リソースをより効率的に使用するためのマシンタイプのサイズ変更に関する決定に役立てることができます。

分析情報の詳細については、分析情報をご覧ください。

始める前に

  • まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。

VM の推奨事項の分析情報を表示する

Compute Engine は、リソースの分析情報に基づいて推奨事項を生成します。推奨事項には、マシンタイプの推奨事項アイドル状態の VM の推奨事項が含まれます。

特定の VM に関連付けられた分析情報を表示して、VM の CPU、メモリ、ネットワーク使用率の詳細を確認できます。

特定の推奨事項を生成する元となった分析情報を表示するには、gcloud CLI または API を使用します。

gcloud

特定のゾーンで利用可能なすべての分析情報の詳細を表示するには、insights list コマンドを使用して --format オプションを指定します。

gcloud recommender insights list --project=PROJECT_ID \
  --location=LOCATION \
  --insight-type=INSIGHT_TYPE_ID \
  --format=FORMAT

次のように置き換えます。

insights list コマンドの json 出力形式を使用した一般的な出力は次のようになります。

[
  {
    "associatedRecommendations": [
      {
        "recommendation": "projects/PROJECT_ID/locations/us-central1-a/recommenders/google.compute.instance.MachineTypeRecommender/recommendations/7618763b-fee2-42e5-8b9b-e6eee0b2077f"
      }
    ],
    "category": "PERFORMANCE",
    "content": {
      "predictedCpuCores": 0.15
    },
    "description": "Predicted CPU usage is 0.1 vCPUs.",
    "etag": "\"fdb51460cac758a0\"",
    "insightSubtype": "CPU_USAGE_PREDICTION",
    "lastRefreshTime": "2021-09-15T06:50:45Z",
    "name": "projects/PROJECT_ID/locations/us-central1-a/insightTypes/google.compute.instance.CpuUsagePredictionInsight/insights/cb2ab4e6-2c5e-4f0e-8cbe-1487e8bae8c0",
    "observationPeriod": "604800s",
    "severity": "LOW",
    "stateInfo": {
      "state": "ACTIVE"
    },
    "targetResources": [
      "//compute.googleapis.com/projects/PROJECT_ID/zones/us-central1-a/instances/instance-name-1"
    ]
  }
]

REST

特定のゾーンで利用可能なすべての分析情報を詳細に表示するには、insights.list メソッドを使用します。

GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/INSIGHT_TYPE_ID/insights

次のように置き換えます。

insights.list メソッドの一般的な出力は次のようになります。

[
  {
    "associatedRecommendations": [
      {
        "recommendation": "projects/PROJECT_ID/locations/us-central1-a/recommenders/google.compute.instance.MachineTypeRecommender/recommendations/7618763b-fee2-42e5-8b9b-e6eee0b2077f"
      }
    ],
    "category": "PERFORMANCE",
    "content": {
      "predictedCpuCores": 0.15
    },
    "description": "Predicted CPU usage is 0.1 vCPUs.",
    "etag": "\"fdb51460cac758a0\"",
    "insightSubtype": "CPU_USAGE_PREDICTION",
    "lastRefreshTime": "2021-09-15T06:50:45Z",
    "name": "projects/PROJECT_ID/locations/us-central1-a/insightTypes/google.compute.instance.CpuUsagePredictionInsight/insights/cb2ab4e6-2c5e-4f0e-8cbe-1487e8bae8c0",
    "observationPeriod": "604800s",
    "severity": "LOW",
    "stateInfo": {
      "state": "ACTIVE"
    },
    "targetResources": [
      "//compute.googleapis.com/projects/PROJECT_ID/zones/us-central1-a/instances/instance-name-1"
    ]
  }
]

分析情報の詳細については、リファレンス ドキュメントをご覧ください。

VM インスタンスの分析情報のタイプ

さまざまな分析情報を使用して、VM のパフォーマンスに関する情報を取得できます。各分析情報タイプには特定のコンテンツ属性があります。

次のセクションでは、利用可能な VM 分析情報について説明します。

CPU 使用率に関する分析情報

Compute Engine は、VM の CPU 使用率が直近のモニタリング期間で通常を上回るか下回った場合に、CPU 使用率の分析情報を作成します。

分析情報タイプ ID は google.compute.instance.CpuUsageInsight です。

使用可能なサブタイプは次のとおりです。

  • HIGH_CPU_USAGE
  • LOW_CPU_USAGE

これらは、以下のような分析情報の説明に関連付けられます。

  • In the last 12 days for 90% of the time, CPU usage was greater than or equal to 83%.
  • In the last 10 days for 70% of the time, CPU usage was lower than or equal to 20%.

次の表に、CPU 使用率に関する分析情報に関連するコンテンツの詳細を示します。

属性 タイプ 説明
points 配列 オブジェクトの配列。各オブジェクトには次のプロパティが含まれています。
  • sampleProbability:(DOUBLE)分位関数の値を下回る CPU 使用率サンプルの相対量。
  • quantileFunctionValue:(DOUBLE)サンプルの少なくとも一部(サンプル確率)を保持する CPU 使用率の上限。
    この値は、vCPU の合計量の比率を表し、[0, 1] の範囲です。

CPU 使用率の予測に関する分析情報

Compute Engine では、CPU 使用率予測の分析情報が作成され、翌日の予想 CPU 使用率が示されます。

分析情報タイプ ID は google.compute.instance.CpuUsagePredictionInsight です。

この分析情報の一般的な説明は次のようになります。

  • Predicted CPU usage is 0.1 vCPUs.

次の表に、CPU 使用率予測に関する分析情報に関連するコンテンツの詳細を示します。

属性 タイプ 説明
predicted_cpu_cores DOUBLE CPU コアの予測量。

CPU 使用率のトレンドに関する分析情報

Compute Engine では、直近のモニタリング期間で CPU 使用率が上昇または減少するトレンドを示すと、CPU 使用率のトレンドに関する分析情報が作成されます。

分析情報タイプ ID は google.compute.instance.CpuUsageTrendInsight です。

使用可能なサブタイプは次のとおりです。

  • CPU_USAGE_INCREASE
  • CPU_USAGE_DECREASE

これらは通常、以下のような分析情報の説明に関連付けられます。

  • In the last 7 days, average daily CPU usage has increased by 8% from 65% to 73%.
  • In the last 7 days, average daily CPU usage has decreased by 10% from 55% to 45%.

次の表に、CPU 使用率のトレンドに関する分析情報に関連するコンテンツの詳細を示します。

属性 タイプ 説明
cpu_usage_percentage_at_start DOUBLE 測定対象: モニタリング期間開始時の CPU 使用量の日平均。

この値は、vCPU の総数に対する割合を表し、[0, 100] の範囲です。

cpu_usage_percentage_at_end DOUBLE 測定対象: モニタリング期間の終了時の CPU 使用率の日平均。

この値は、vCPU の総数に対する割合を表し、[0, 100] の範囲です。

cpu_usage_percentage_change DOUBLE モニタリング期間中の CPU 使用率の 1 日あたりの平均の変化を予測します。

予測では、線形回帰を使用して 1 日あたりの CPU 使用率の変化をモデル化します。

この値は、vCPU の総数に対する割合を表し、[0, 100] の範囲です。

メモリ使用量の分析情報

Compute Engine では、モニタリング期間中にメモリ使用量が異常に高い場合または低い場合に、メモリ使用量に関する分析情報が作成されます。

分析情報タイプ ID は google.compute.instance.MemoryUsageInsight です。

使用可能なサブタイプは次のとおりです。

  • HIGH_MEMORY_USAGE
  • LOW_MEMORY_USAGE

これらは通常、以下のような分析情報の説明に関連付けられます。

  • In the last 12 days for 80% of the time, memory usage was greater than or equal to 64%.
  • In the last 7 days for 50% of the time, memory usage was lower than or equal to 10%.

次の表に、メモリ使用量に関する分析情報に関連するコンテンツの詳細をいくつか示します。

属性 タイプ 説明
points 配列 オブジェクトの配列。各オブジェクトには次のプロパティが含まれています。
  • sampleProbability:(DOUBLE)分位関数の値を下回るメモリ使用量のサンプルの相対量。
  • quantileFunctionValue:(DOUBLE)サンプルの少なくとも一部(サンプル確率)を保持するメモリ使用率の上限。
    この値は、メモリの合計量の比率を表し、[0, 1] の範囲です。

メモリ使用量の予測に関する分析情報

Compute Engine では、メモリ使用量に関する予測分析情報が作成され、翌日の予測メモリ使用量が示されます。

分析情報タイプ ID は google.compute.instance.MemoryUsagePredictionInsight です。

分析情報の一般的な説明は次のとおりです。

  • Predicted memory usage is 1536 MB.

次の表に、メモリ使用量の予測に関する分析情報に関連するコンテンツの詳細をいくつか示します。

属性 タイプ 説明
predicted_memory_mb DOUBLE メモリの予測量(MB)。

ネットワーク スループットの分析情報

Compute Engine は、モニタリング期間内のネットワーク スループットが受信トラフィックまたは送信トラフィックで非常に低い場合、ネットワーク スループットの分析情報を作成します。

分析情報タイプ ID は google.compute.instance.NetworkThroughputInsight です。

使用可能なサブタイプは次のとおりです。

  • LOW_RECEIVED_NETWORK_THROUGHPUT
  • LOW_SENT_NETWORK_THROGHPUT

これらは通常、以下のような分析情報の説明に関連付けられます。

  • In the last 7 days for 80% of the time, received network throughput was lower than or equal to 500 B/s.
  • In the last 7 days for 80% of the time, sent network throughput was lower than or equal to 200 B/s.

次の表に、ネットワーク スループットの分析情報に関連する内容の詳細を示します。

属性 タイプ 説明
sample_probability DOUBLE 分位関数値を下回るネットワーク スループット サンプルの相対量。

値の範囲は [0, 1] です。

quantile_function_value_in_bytes_per_second DOUBLE サンプルの少なくとも一部(サンプル確率)を保持するネットワーク スループットの上限。値は 1 秒あたりのバイト数で表します。

次のステップ