割り当て指標の使用

このページでは、アラート ポリシーやグラフを作成して、割り当ての使用状況をモニタリングまたは表示する方法について説明します。数量に基づく割り当てと頻度に基づく割り当てに関する情報など、割り当ての詳細については、割り当ての操作をご覧ください。

このページのすべてのアラート ポリシーとグラフでは、モニタリング対象リソースは consumer_quota です。このリソースの指標は、serviceruntime指標のサブセットです。

  • ゲージ、デルタ、累積という用語の定義については、指標の種類をご覧ください。
  • 時系列の結合に使用するフィールドの詳細については、AlignerReducer をご覧ください。

ユーザー割り当てについて

特定の割り当ての割り当て使用量を表示するには、quota_metric ラベルの特定の値で時系列をフィルタリングする必要があります。このセクションの例では、時系列データを表示して、このラベルの正しい値を識別する方法を示しています。特定の API 割り当てのこのラベルの値を決定するには、次の手順を使用できます。

  1. Google Cloud Console で、[Identity and Access Management] の [割り当て] ページに移動します。

    Quotas に移動

  2. 目的の割り当てを見つけて、[すべての割り当て] をクリックします。

  3. サービスが割り当て指標をサポートしている場合は、[割り当て指標] フィールドが表示され、この API の quota_metric ラベルの値が表示されます。次のスクリーンショットは、Compute Engine API サブネットワークの割り当ての quota_metric ラベルが compute.googleapis.com/subnetworks であることを示しています。

    割り当て指標の詳細ページの例。

    サービスが割り当て指標をサポートしていない場合、[割り当て指標] フィールドは表示されません。

Compute Engine の合計ディスク ストレージ割り当てをリージョン別に表示するグラフを作成することが目標です。

  1. Google Cloud Console で [Cloud Monitoring] を選択し、Metrics Explorer を選択します。

  2. リソースタイプを [Consumer Quota] に設定し、指標タイプを [Allocation quota usage] に設定して、Metrics Explorer で割り当て使用量が表示されるように構成します。

    ユーザー割り当てを選択。

    グラフには、割り当て使用量が 6 週間の棒グラフとして表示されます。凡例を表示すると、グラフに複数のサービスの割り当て使用量が表示されます。

    Cloud Monitoring API を使用する場合、同等のフィルタ値は次のとおりです。

    metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota"
    
  3. 表示を Compute Engine サービスに制限するには、フィルタ service = "compute.googleapis.com" を追加します。

    コンピューティング サービスでユーザー割り当てをフィルタ。

    Compute Engine 割り当てに割り当てられている割り当て使用量の時系列がグラフに表示されます。凡例には、表示されている各時系列の quota_metric ラベルの値が表示されます。この値は特定の割り当てを示します。たとえば、compute.googleapis.com/disks_total_storage は、時系列が Compute Engine の合計ディスク ストレージ割り当て用であることを示します。グラフには、使用量を記録した割り当ての割り当てのみが表示されます。たとえば、プロジェクトに Compute Engine リソースがない場合、このフィルタによりデータのないグラフが作成されます。

    Cloud Monitoring API を使用する場合、同等のフィルタ値は次のとおりです。

    metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota" resource.label.service="compute.googleapis.com"
    
  4. Compute Engine の合計ディスク割り当て使用量を表示するグラフを作成するには、フィルタ quota_metric = "compute.googleapis.com/disks_total_storage" を追加します。

    割り当て指標でユーザー割り当てをフィルタ。

    Cloud Monitoring API を使用する場合、同等のフィルタ値は次のとおりです。

    metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota" metric.label.quota_metric="compute.googleapis.com/disks_total_storage"
    
  5. 前のグラフでは、リージョン us-centra1us-east1 の時系列と、ゾーン us-central1-a を含む複数のゾーンの時系列が表示されています。リージョンの割り当て使用量のみを表示するには、location ラベルに基づくフィルタを追加します。この例で、両方のリージョンが us- で始まり 1 で終わる場合、正規表現 location =~"^us.*1$" を使用するフィルタが正常に機能します。

    割り当て指標とリージョンでフィルタ。

ユーザー割り当ての場合、quota_metric ラベルの値は、サービスとモニタリングされる特定の割り当て使用量の両方を識別します。この情報を使用して、特定の割り当て指標をモニタリングするグラフまたはアラート ポリシーを作成できます。

アラート ポリシーの例

アラート ポリシーとは、次のような条件と通知情報の集合です。

  • 条件では、モニタリング対象、そのリソースの時系列データの結合方法、およびアラートの生成のタイミングを記述します。アラート ポリシーには少なくとも 1 つの条件の指定が必要です。
  • 通知チャネルは、アラートが発生したときの通知先と通知方法を指定します。たとえば、特定のユーザーまたはグループにメールを送信するようにアラート ポリシーを構成できます。

このセクションの残りの部分では、各サブセクションにアラート ポリシーの JSON 表現を含めます。Google Cloud Console を使用してポリシーを作成できる場合は、次の 2 つの表も含まれます。

  • 最初の表は、モニタリング対象とデータの結合方法を示しています。
  • 2 番目の表は、アラートが生成されるタイミングを示しています。

これらのテーブルの値を使用して、アラート ポリシーの条件を構成できます。

割り当て上限に対する割り当て量の使用率のアラート通知

アラート ポリシーを作成して、Google Cloud プロジェクトのサービスへの割り当て上限に対する割り当て量の使用率が 80% を超えた場合に通知を受領できます。このタイプのポリシーは、Cloud Monitoring API を使用する場合のみに作成できます。

Cloud Monitoring API の使用

このアラート ポリシーは、API メソッド alertPolicies.create を使用して作成できます。 Cloud Monitoring API は、gcloud コマンドライン ツールまたはクライアント イブラリを使用して、直接呼び出すことができます。詳細については、ポリシーの作成をご覧ください。

JSON または YAML のアラート ポリシーの表現の詳細については、サンプル ポリシーをご覧ください。

このポリシー サンプルでは、割り当て制限に対する Identity and Access Management API の割り当て使用量の比率をモニタリングします。割り当て上限の結合は意味がないため、この例ではロケーションが指定されています。

{
    "combiner": "OR",
    "conditions": [
      {
        "conditionThreshold": {
          "filter": "metric.type=\"serviceruntime.googleapis.com/quota/allocation/usage\" resource.type=\"consumer_quota\" resource.label.\"service\"=\"iam.googleapis.com\"",
          "aggregations": [
            {
              "alignmentPeriod": "86400s",
              "crossSeriesReducer": "REDUCE_SUM",
              "groupByFields": [
                "metric.label.quota_metric"
              ],
              "perSeriesAligner": "ALIGN_NEXT_OLDER"
            }
          ],
          "denominatorFilter": "metric.type=\"serviceruntime.googleapis.com/quota/limit\" resource.type=\"consumer_quota\" resource.label.\"service\"=\"iam.googleapis.com\"",
          "denominatorAggregations" : [
            {
              "alignmentPeriod": "86400s",
              "crossSeriesReducer": "REDUCE_SUM",
              "groupByFields": [
                "metric.label.quota_metric"
              ],
              "perSeriesAligner": "ALIGN_NEXT_OLDER"
            }
          ],
          "comparison": "COMPARISON_GT",
          "duration": "60s",
          "thresholdValue": 0.8,
          "trigger": {
            "count": 1
          }
        },
        "displayName": "Ratio quota usage for iam.googleapis.com by label.quota_metric [SUM]",
      }
    ],
    "displayName": "Ratio quota usage to limit",
    "enabled": true,
  }

quota/exceeded エラーのアラート

Google Cloud プロジェクトのいずれかのサービスが割り当て超過エラーを報告している場合に通知するアラート ポリシーを作成できます。 このタイプのポリシーを作成するには、Google Cloud Console または Cloud Monitoring API を使用します。

Google Cloud Console の使用

このサブセクションの以降の内容は、アラート ポリシーの [Conditions] ダイアログについて説明します。

次の表の設定を使用して、[Target] ダイアログを完成させます。これらの設定では、Google Cloud プロジェクトのすべてのサービスの serviceruntime 指標 /quota/exceeded の時系列データのモニタリング、および割り当て上限によるデータのグループ化を指定します。

[Target] ペイン
フィールド

リソースの種類 consumer_quota」と入力します。
指標 serviceruntime.googleapis.com/quota/exceeded を選択
フィルタ

空白のままにする

このフィールドを空のままにすると、利用可能なすべての指標データがグラフに含まれます。表示されるデータを制限するには、フィルタを追加します。たとえば、データをロギング サービスに制限するには、フィルタ service = logging.googleapis.com を追加します。

Group By

quota_metric を選択します。

このオプションでは、quota_metric の名前のタイプでデータをグループ化します。

Aggregator

sum を選択します。

データがグループ化されると、集計フィールドは自動的に sum に設定されます。この設定では、個々の時系列データを組み合わせる方法を定義します。

期間 1 m を選択する
Advanced Aggregation Aligner: count true

この指標は、GAUGE 型についてで、時系列の各データポイントが瞬間的な測定値であることを意味します。値の型は BOOL です。true の値が、割り当てが超過したことを示します。

この指標では、count truecount の整列指定子の設定が等価です。

次の設定を使用して、[Configuration] ダイアログを完了します。これらの設定では、割り当て超過エラーの数が 1 分間 0 を超えると、アラート ポリシーがアラートを作成します。ここでは、値 0 が選択されています。これは、割り当て超過エラーは予期せず、割り当てを増やす必要があること、または API リクエストを減らすためにサービスを変更する必要があることを示しているためです。より高いしきい値を使用することもできます。

[Configuration] ペイン
フィールド

Condition triggers if Any time series violates
Condition is above
Threshold 0
For 1 分

Cloud Monitoring API の使用

このアラート ポリシーは、API メソッド alertPolicies.create を使用して作成できます。 Cloud Monitoring API は、gcloud コマンドライン ツールまたはクライアント イブラリを使用して、直接呼び出すことができます。詳細については、ポリシーの作成をご覧ください。

JSON または YAML のアラート ポリシーの表現の詳細については、サンプル ポリシーをご覧ください。

このポリシー サンプルでは、割り当て制限に対する Identity and Access Management API の割り当て使用量の比率をモニタリングします。割り当て上限の結合は意味がないため、この例ではロケーションが指定されています。

{
    "combiner": "OR",
    "conditions": [
      {
        "conditionThreshold": {
          "aggregations": [
            {
              "alignmentPeriod": "60s",
              "crossSeriesReducer": "REDUCE_SUM",
              "groupByFields": [
                "metric.label.quota_metric"
              ],
              "perSeriesAligner": "ALIGN_COUNT_TRUE"
            }
          ],
          "comparison": "COMPARISON_GT",
          "duration": "60s",
          "filter": "metric.type=\"serviceruntime.googleapis.com/quota/exceeded\" resource.type=\"consumer_quota\"",
          "trigger": {
            "count": 1
          }
        },
        "displayName": "Quota exceeded error by label.quota_metric SUM",
      }
    ],
    "displayName": "Quota exceeded policy",
  }

絶対値 quota/allocation/usage でのアラート

Google Cloud プロジェクトの特定のサービスの割り当て量の使用率の割り当てがユーザー指定のしきい値を超えた場合に通知するアラート ポリシーを作成できます。 このタイプのポリシーを作成するには、Google Cloud Console または Cloud Monitoring API を使用します。

Google Cloud Console の使用

このサブセクションの以降の内容は、アラート ポリシーの [Conditions] ダイアログです。

次の表の設定を使用して、[Target] ダイアログを完成させます。これらの設定では、Google Cloud プロジェクトの 1 つのサービスの serviceruntime 指標 /quota/allocation/usage の時系列データのモニタリング、および割り当て上限によるデータのグループ化を指定します。

[Target] ペイン
フィールド

リソースの種類 consumer_quota」と入力します。
指標 serviceruntime.googleapis.com/quota/allocation/usage を選択
フィルタ フィルタ service = iam.googleapis.com を追加します。

iam.googleapis.com を、モニタリングするサービスの名前に置き換えます。この例では、この一般的なサービスが選択されています。

Group By

quota_metric を選択します。

このオプションでは、quota_metric の名前のタイプでデータをグループ化します。

Aggregator

sum を選択します。

データがグループ化されると、集計フィールドは自動的に sum に設定されます。この設定では、個々の時系列データを組み合わせる方法を定義します。

期間 1440 m を選択する

期間はこの指標のサンプリング間隔に一致します。

Advanced Aggregation Aligner: next older

この GAUGE 指標の測定値を含めるには、整列指定子を next older に設定します。

次の設定を使用して、[Configuration] ダイアログを完了します。これらの設定により、時系列の値が 1,440 分あたり 2.5 を超える場合に、アラート ポリシーでアラートが作成されます。1,440 分 の値は、アライメント期間に一致します。 2.5 の値はテストシステムの通常値よりわずかに高いため、この例では 2.5 が選択されています。モニタリングするサービスに基づいて、指標の値の想定範囲の理解と併せて、しきい値を選択する必要があります。

[Configuration] ペイン
フィールド

Condition triggers if Any time series violates
Condition is above
Threshold 2.5
For 1,440 分

Cloud Monitoring API の使用

このアラート ポリシーは、API メソッド alertPolicies.create を使用して作成できます。 Cloud Monitoring API は、gcloud コマンドライン ツールまたはクライアント イブラリを使用して、直接呼び出すことができます。詳細については、ポリシーの作成をご覧ください。

JSON または YAML のアラート ポリシーの表現の詳細については、サンプル ポリシーをご覧ください。

このポリシー サンプルでは、割り当て制限に対する Identity and Access Management API の割り当て使用量の比率をモニタリングします。割り当て上限の結合は意味がないため、この例ではロケーションが指定されています。

{
    "combiner": "OR",
    "conditions": [
      {
        "conditionThreshold": {
          "aggregations": [
            {
              "alignmentPeriod": "86400s",
              "crossSeriesReducer": "REDUCE_SUM",
              "groupByFields": [
                "metric.label.quota_metric"
              ],
              "perSeriesAligner": "ALIGN_NEXT_OLDER"
            }
          ],
          "comparison": "COMPARISON_GT",
          "duration": "84600s",
          "filter": "metric.type=\"serviceruntime.googleapis.com/quota/allocation/usage\" resource.type=\"consumer_quota\" resource.label.\"service\"=\"iam.googleapis.com\"",
          "thresholdValue": 2.5,
          "trigger": {
            "count": 1
          }
        },
        "displayName": "Allocation quota usage for iam.googleapis.com by label.quota_metric SUM",
      }
    ],
    "displayName": "Absolute quota usage policy",
  }

グラフの例

グラフには、時系列データが表示されます。 Metrics Explorer を使用して、グラフを作成できます。 Metrics Explorer では、不要になったチャートの破棄や、ダッシュボードへの保存ができます。ダッシュボード ビューでは、グラフをダッシュボードに追加できます。

グラフを作成するには、表示するデータとその表示方法を指定します。このセクションの残りの部分には、グラフの作成に使用できる設定が含まれています。アラート ポリシーの [Target] ダイアログの設定を使用してグラフを作成することもできます。

quota/allocation/usage の時間間隔あたりの最大使用量

Google Cloud プロジェクトのすべてのサービスで、データが割り当て指標の名前でグループ化され、25 時間間隔あたりの指標の最大値が表示されるように、serviceruntime 指標 quota/allocation/usage の時系列データを表示するには、次の設定を使用します。

[Target] ペイン
フィールド

リソースの種類 consumer_quota」と入力します。
指標 serviceruntime.googleapis.com/quota/allocation/usage を選択
フィルタ フィルタ service = iam.googleapis.com を追加します。

iam.googleapis.com を、モニタリングするサービスの名前に置き換えます。この例では、この一般的なサービスが選択されています。

Group By

quota_metric を選択します。

このオプションでは、quota_metric の名前のタイプでデータをグループ化します。

Aggregator

sum を選択します。

データがグループ化されると、集計フィールドは自動的に sum に設定されます。この設定では、個々の時系列データを組み合わせる方法を定義します。

期間 1500 m を選択する

期間(25 時間)は、この指標のサンプリング間隔よりわずかに長くなります。

Advanced Aggregation Aligner: max
Secondary aggregator: sum

整列指定子は、アライメント期間中に測定された指標の最大値を表示するように設定されています。 セカンダリ アグリゲータは、さまざまなサービスの時系列を 1 つの時系列に結合します。

quota/rate/net_usage の時系列

Google Cloud プロジェクトのすべてのサービスで、データが割り当て指標の名前でグループ化され、使用率が表示されるように、serviceruntime 指標 quota/rate/net_usage の時系列データを表示するには、次の設定を使用します。

[Target] ペイン
フィールド

リソースの種類 consumer_quota」と入力します。
指標 serviceruntime.googleapis.com/quota/rate/net_usage を選択
フィルタ フィルタ service = iam.googleapis.com を追加します。

iam.googleapis.com を、モニタリングするサービスの名前に置き換えます。この例では、この一般的なサービスが選択されています。

Group By

quota_metric を選択します。

このオプションでは、quota_metric の名前のタイプでデータをグループ化します。

Aggregator

sum を選択します。

データがグループ化されると、集計フィールドは自動的に sum に設定されます。この設定では、個々の時系列データを組み合わせる方法を定義します。

期間 1 m を選択する

1 分間の期間が、この指標のサンプリング間隔と一致します。

Advanced Aggregation Aligner: rate

整列指定子を rate の値に設定することにより、この DELTA 指標の時系列に格納された値は、レートデータを格納する新しい時系列に変換されます。グラフの Y 軸には、1 秒あたりの割り当ての単位が表示されます。

quota/limit の時系列

Google Cloud プロジェクトのすべてのサービスで、25 時間以上のデータが集計されるように、serviceruntime 指標 quota/limit の時系列データを表示するには、次の設定を使用します。

[Target] ペイン
フィールド

リソースの種類 consumer_quota」と入力します。
指標 serviceruntime.googleapis.com/quota/limit を選択
フィルタ フィルタ service = iam.googleapis.com を追加します。

iam.googleapis.com を、モニタリングするサービスの名前に置き換えます。この例では、この一般的なサービスが選択されています。

Group By 空白のままにする
Aggregator none
期間 1500 m を選択する

期間はこの指標のサンプリング間隔に一致します。

Advanced Aggregation Aligner: next older

この GAUGE 指標の測定値を表示するには、整列指定子を next older に設定します。アライメント期間(25 時間)は、この指標のサンプリング間隔よりわずかに長くなります。