過時的資源中繼資料標籤

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
none
consider resource.labels.project_id
none
consider resource.labels.module_id
none
consider 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 篩選器語法不允許使用 resources.labels.project_id 標籤,但可靈活使用 metadata.system_labels.cloud_account 標籤。舉例來說,您無法執行以下操作:

  • 使用 OR 結合使用 project_id 標籤的運算式,以及使用中繼資料標籤的運算式。
  • 使用加上 project_id 標記的 != 運算。
  • 使用 starts_withhas_substring 函式搭配 project_id 標籤。

針對 gae_app 資源:已註明的資源標籤與已淘汰的中繼資料標籤相似,因此可能會是理想的替代方案。但由於兩者僅相似,因此並未自動遷移。

針對 gce_diskgce_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 控制台。

    前往 Google Cloud 控制台

  2. 在專案的 Google Cloud 控制台頁面頂端,按一下「啟用 Cloud Shell」

  3. 按一下 Cloud Shell 工具列中的「開啟編輯器」。如果您尚未開啟主目錄的工作區,請依序選取「File」和「Open Workspace」,選擇使用者名稱所在的工作區。

  4. 請依序選取「File」和「New File」,建立名為 metadata_label_detection.py 的新檔案。將 metadata_label_detection.py 的文字貼到編輯器中。依序選取「File」和「Save」,即可儲存檔案。

  5. 按一下 Cloud Shell 工具列上的「Open Terminal」,即可返回終端機。

  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 控制台。

  2. 按照「找出已淘汰的標籤」一節的說明,執行偵測器指令碼。

  3. 檢查每個警示政策、圖表和資源群組,確認您擷取的值是否來自指派的標籤。

    如要檢查所有圖表,您必須檢查已定義的每個自訂資訊主頁上的每張圖表。

    請注意,篩選器會使用前置字串 resource.metadata,而非 metadata.system_labels

    針對每個已淘汰的標籤,請執行下列任一操作:

    • 如果標籤沒有替代方案,請移除標籤的使用情形,或刪除警示政策、圖表或資源群組。

    • 如果標籤有替代標籤,請將已淘汰的標籤替換為替代標籤。

    如果您沒有採取任何行動,受影響的警示政策、圖表或資源群組將無法運作。

    如需有關使用 Google Cloud 控制台進行更新的其他說明,請參閱「編輯」一節中的資源。

    在某些情況下,您可能需要使用 Cloud Monitoring API,而非 Google Cloud 主控台。這個 API 可表示無法以其他方式建構的某些查詢。

  4. 再次執行偵測器指令碼,確認沒有保留已淘汰的標籤。

其他資訊

如要進一步瞭解資源中繼資料標籤、篩選器或特定受控資源類型,請參閱以下文章:

編輯

如要瞭解如何更新快訊政策、圖表、資訊主頁和資源群組,請參閱以下文章: