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_with
或has_substring
函式搭配project_id
標籤。
† 針對 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_topic
和 pubsub_subscription
資源:我們已修正長期存在的錯誤,導致 metadata.system_labels.name
會自動轉換為小寫 (例如 "My-Subscription"
變成 "my-subscription"
)。當使用者擁有多個資源,且這些資源的小寫名稱相同時,就會發生這種情況,導致發生非預期的行為。這項行為也已於 2020 年 7 月 31 日結束。在這個日期之後,中繼資料系統標籤 name
會反映主題或訂閱項目的實際名稱 (例如 "My-Subscription"
)。
我需要做些什麼?
大致步驟如下:
判斷您是否使用受此停用項目影響的中繼資料標籤。如要瞭解如何執行提供的偵測器指令碼,請參閱「尋找已淘汰的中繼資料標籤」一文。
如果您使用任何受影響的中繼資料標籤,請更新或移除這些標籤。詳情請參閱「更新篩選器」一文。
找出已淘汰的中繼資料標籤
您可以使用這個 Python 指令碼,找出已淘汰的中繼資料標籤參照:metadata_label_detection.py
。
語法摘要: python3 metadata_label_detection.py PROJECT_ID_OR_NUMBER
PROJECT_ID_OR_NUMBER
可以是專案 ID (例如 my-project
),也可以是專案編號 (例如 123456789
)。請勿加入 projects/
前置字串。
下列步驟說明如何使用指令碼:
前往 Google Cloud 控制台。
在專案的 Google Cloud 控制台頁面頂端,按一下「啟用 Cloud Shell」。
按一下 Cloud Shell 工具列中的「開啟編輯器」。如果您尚未開啟主目錄的工作區,請依序選取「File」和「Open Workspace」,選擇使用者名稱所在的工作區。
請依序選取「File」和「New File」,建立名為
metadata_label_detection.py
的新檔案。將metadata_label_detection.py
的文字貼到編輯器中。依序選取「File」和「Save」,即可儲存檔案。按一下 Cloud Shell 工具列上的「Open Terminal」,即可返回終端機。
在 Cloud Shell 的指令列提示中,執行下列指令來安裝指令碼依附元件:
sudo pip3 install google-cloud-monitoring=="1.*" google-cloud-monitoring-dashboards
安裝依附元件後,請執行偵測器指令碼:
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.
更新篩選器
如要更新快訊政策、圖表、評量表和資源群組,請按照下列步驟操作:
登入 Google Cloud 控制台。
按照「找出已淘汰的標籤」一節的說明,執行偵測器指令碼。
檢查每個警示政策、圖表和資源群組,確認您擷取的值是否來自指派的標籤。
如要檢查所有圖表,您必須檢查已定義的每個自訂資訊主頁上的每張圖表。
請注意,篩選器會使用前置字串
resource.metadata
,而非metadata.system_labels
。針對每個已淘汰的標籤,請執行下列任一操作:
如果標籤沒有替代方案,請移除標籤的使用情形,或刪除警示政策、圖表或資源群組。
如果標籤有替代標籤,請將已淘汰的標籤替換為替代標籤。
如果您沒有採取任何行動,受影響的警示政策、圖表或資源群組將無法運作。
如需有關使用 Google Cloud 控制台進行更新的其他說明,請參閱「編輯」一節中的資源。
在某些情況下,您可能需要使用 Cloud Monitoring API,而非 Google Cloud 主控台。這個 API 可表示無法以其他方式建構的某些查詢。
再次執行偵測器指令碼,確認沒有保留已淘汰的標籤。
其他資訊
如要進一步瞭解資源中繼資料標籤、篩選器或特定受控資源類型,請參閱以下文章:
編輯
如要瞭解如何更新快訊政策、圖表、資訊主頁和資源群組,請參閱以下文章: