リソース メタデータ ラベルの廃止

Cloud Monitoring のモニタリング対象リソースには、モニタリング対象リソースのタイプの特定インスタンスを識別するために使用されるラベル群が割り当てられます。これらのラベルは、モニタリング対象リソースリストのモニタリング対象リソースタイプごとに文書化されます。

さらに、Monitoring は、モニタリング対象リソースに関するメタデータをキャプチャするために追加のラベルを作成する場合があります。これらのシステム メタデータ ラベルは、読み取り専用の値として使用できます。ユーザーは独自のリソース メタデータ ラベルを作成することもできます。詳細については、リソース メタデータ ラベルをご覧ください。

モニタリング対象リソースのメタデータ ラベルのグループは、サポートが終了しています。セット内のラベルは冗長で、既存の同等のラベルで置き換え可能なものや、Cloud Monitoring のアラート ポリシー、グラフ、スコアカード、リソース グループでサポートされなくなったコンセプトを表すものです。

サポート終了の影響

モニタリング対象リソースを指定し、置換ラベルの特定にメタデータ ラベルを使用するすべてのアラート ポリシー、グラフ、スコアカード、リソース グループは、2020 年 7 月 31 日までに自動的に移行されています。その他の目的で使用している非推奨ラベルは手動で移行する必要があります。 このページでは、その移行方法について説明します。

2020 年 7 月 31 日までに自動的または手動で移行されていないメタデータ ラベルを使用するアラート ポリシー、グラフ、スコアカード、リソース グループはサポート対象外になっているため、動作しない可能性があります。

必要な操作

サポートが終了したメタデータ ラベルが原因で機能しなくなったアラート ポリシー、グラフ、スコアカード、リソース グループを修復するには、いくつかの操作を行う必要があります。アラート ポリシー、グラフ、スコアカード、グループは削除できます。また、これらの非推奨ラベルを使用するフィルタを変更して、類似の動作を提供するラベルを使用することもできます。

同様に、メタデータ ラベルを使用するものの、モニタリング対象リソースを指定しないフィルタがある場合、これらのラベルが非推奨かどうかを自動的に判定することはできません。これらを手動で評価して対処する必要があります。

このページには、サポートが終了したメタデータ ラベルの使用を識別するためのスクリプトが含まれています。

サポートが終了したメタデータ ラベル

次の表に、非推奨になるリソース メタデータ ラベルとそれを置換するラベルを示します。


モニタリング対象のリソースタイプ サポート終了のラベル 同等のラベル
すべての Google Cloud タイプ metadata.system_labels.cloud_account* resource.labels.project_id
cloud_tasks_queue metadata.system_labels.name
metadata.system_labels.state
resource.labels.queue_id
なし
dataflow_job metadata.system_labels.name
metadata.system_labels.state
resource.labels.job_name
なし
gae_app metadata.system_labels.gaeapp

metadata.system_labels.gaemodule

metadata.system_labels.gaeversion
なし
resource.labels.project_id を考慮
なし
resource.labels.module_id を考慮
なし
resource.labels.version_id を考慮
gce_disk metadata.user_labels.name metadata.system_labels.name
gce_instance metadata.user_labels.name metadata.system_labels.name
l7_lb_rule metadata.system_labels.state なし
pubsub_topic metadata.system_labels.name# metadata.system_labels.name
pubsub_subscription metadata.system_labels.name#
metadata.system_labels.name
vpn_gateway metadata.system_labels.region resource.labels.region

* Cloud Monitoring のフィルタ構文では、metadata.system_labels.cloud_account ラベルほど柔軟に resources.labels.project_id ラベルを使用することはできません。たとえば、次のことはできません。

  • project_id ラベルとメタデータ ラベルを使用した式を結合するには、OR を使用します。
  • != オペレーションと project_id ラベルを使用します。
  • project_id ラベルと starts_with 関数または has_substring 関数を使用します。

gae_app リソースの場合: 注記されているリソースラベルは非推奨のメタデータのラベルに似ているため、代用として適していると考えられます。これらは似ているため、自動的には移行されません。

gce_disk リソースと gce_instance リソースの場合: metadata.user_labels.name を設定していない場合は、metadata.system_labels.name から値が自動的に入力されていました。この自動入力は 2020 年 7 月 31 日で終了しました。自動入力された metadata.user_labels.name 値でフィルタするアラート ポリシー、グラフ、スコアカード、リソース グループは、metadata.system_labels.name を使用するように移行されました。

# pubsub_topicpubsub_subscription のリソース: metadata.system_labels.name が自動的に小文字に変換される長年のバグ("My-Subscription""my-subscription" に変わるなど)を修正しました。これが原因で、複数のリソースに同じ小文字の名前がある場合に予期しない動作が発生していました。この動作も 2020 年 7 月 31 日に終了しました。この日以降、メタデータ システムラベル name には、トピックまたはサブスクリプションの実際の名前("My-Subscription" など)が反映されます。

必要なご対応

全体の手順は次のとおりです。

  1. このサポート終了の影響を受けるメタデータ ラベルを使用しているかどうかを確認します。提供されている検出スクリプトの実行方法については、非推奨のメタデータ ラベルを検索するをご覧ください。

  2. 影響を受けるメタデータ ラベルを使用している場合は、それらを更新または削除します。詳細な手順については、フィルタの更新をご覧ください。

サポートが終了したメタデータ ラベルを見つける

この Python スクリプトを使用すると、サポートが終了したメタデータ ラベル metadata_label_detection.py への参照を特定できます。

構文の概要: python3 metadata_label_detection.py PROJECT_ID_OR_NUMBER

PROJECT_ID_OR_NUMBER は、プロジェクト ID(my-project など)またはプロジェクト番号(123456789 など)のいずれかです。projects/ 接頭辞を付加しないでください。

以下の手順では、このスクリプトの使用方法を説明します。

  1. Google Cloud Console に移動します。

    Cloud Console に移動

  2. プロジェクトの Google Cloud Console ページの上部にある「Cloud Shell をアクティブにする」をクリックします。

  3. Cloud Shell ツールバーの [エディタを開く] をクリックします。ホーム ディレクトリのワークスペースがまだ開いていない場合は、[ファイル]、[ワークスペースを開く] の順に選択して開きます。ユーザー名が含まれるワークスペースを選択します。

  4. [File]、[New File] の順に選択し、metadata_label_detection.py という名前で新しいファイルを作成します。metadata_label_detection.py の内容をエディタに貼り付けます。[File]、[Save] の順に選択してファイルを保存します。

  5. Cloud Shell ツールバーの [ターミナルを開く] をクリックしてターミナルに戻ります。

  6. Cloud Shell のコマンドライン プロンプトで、次のコマンドを実行してスクリプトの依存関係をインストールします。

    sudo pip3 install google-cloud-monitoring=="1.*" google-cloud-monitoring-dashboards
    
  7. 依存関係をインストールしたら、以下のとおり検出スクリプトを実行します。

    python3 metadata_label_detection.py $GOOGLE_CLOUD_PROJECT
    

このスクリプトにより、次のような出力が表示されます。

Alert "Test alert" (projects/PROJECT_ID/alertPolicies/8401129027900817186) is affected.
URL: https://console.cloud.google.com/monitoring/alerting/policies/8401129027900817186?project=PROJECT_ID
        metadata.system_labels.cloud_account is deprecated for non-AWS resource
types. Please manually remove the reference.

Group "Test group" (projects/PROJECT_ID/groups/4518177785663978371) might be affected,
depending on the type of resources it is used for.
URL: https://console.cloud.google.com/monitoring/groups/4518177785663978371?project=PROJECT_ID
        metadata.system_labels.name is deprecated for dataflow_job. Please
manually remove the reference if this group is used for dataflow_job resources.
        metadata.system_labels.name is deprecated for cloud_tasks_queue. Please
manually remove the reference if this group is used for cloud_tasks_queue resources.

Xy_chart "Test chart" in dashboard "Demo dashboard" (projects/PROJECT_ID/dashboards/2826428163455705326) is affected.
URL: https://console.cloud.google.com/monitoring/dashboards/custom/2826428163455705326?project=PROJECT_ID
        metadata.user_labels.name is deprecated for gce_instance. Please
manually remove the reference.

フィルタを更新する

アラート ポリシー、グラフ、スコアカード、リソース グループを更新するには:

  1. Google Cloud Console にログインします。

  2. 非推奨ラベルを検索するの説明に従って、検出スクリプトを実行します。

  3. 各アラート ポリシー、グラフ、リソース グループを調べて、取得した値がスクリプトにより特定されたサポート終了のラベルかどうかを確認します。

    すべてのグラフを確認するには、定義したカスタム ダッシュボードごとに、各グラフを確認する必要があります。

    フィルタでは接頭辞 metadata.system_labels ではなく resource.metadata を使用してください。

    非推奨の各ラベルについて、次のいずれかを行います。

    • ラベルが置換されていない場合は、ラベルの使用を止めるか、アラート ポリシー、グラフ、またはリソース グループを削除します。

    • 置き換え可能な新しいラベルがある場合は、そのラベルで非推奨のラベルを置き換えます。

    何もしなければ、影響を受けるアラート ポリシー、グラフ、リソース グループは機能しません。

    Google Cloud Console での更新の詳細については、編集にあるリソースをご覧ください。

    場合によっては、Cloud Console ではなく Cloud Monitoring API を使用する必要があります。API では、他の方法では作成できないクエリを表現できます。

  4. 検出スクリプトを再度実行して、非推奨のラベルが残っていないことを確認します。

詳細情報

リソース メタデータ ラベル、フィルタ、または具体的なモニタリング対象リソースのタイプについては、以下に示すページをご覧ください。

編集

アラート ポリシー、グラフ、ダッシュボード、リソース グループの更新については、以下に示すページをご覧ください。