资源元数据标签

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 过滤条件语法无法使 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 自动转换为小写的长期 Bug(例如 "My-Subscription" 变为 "my-subscription")。如果用户的多个资源的小写名称相同,则此 Bug 会产生意外行为。此行为也于 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. 依次选择文件新文件 (New File),创建一个名为 metadata_label_detection.py 的新文件。将 metadata_label_detection.py 的文本粘贴到编辑器中。依次选择文件保存以保存文件。

  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. 检查您的每个提醒政策、图表和资源组,以检查您检索的值是否来自脚本标识的已弃用标签之一。

    要检查所有图表,您必须检查每个已定义的自定义信息中心上的每个图表。

    请注意,过滤条件使用前缀 resource.metadata 而不是 metadata.system_labels

    对于每个已弃用的标签,请执行以下操作之一:

    • 如果标签没有替代标签,请移除该标签的使用或删除提醒政策、图表或资源组。

    • 如果标签具有替代标签,请使用替代标签替换已弃用的标签。

    如果您不执行任何操作,受影响的提醒政策、图表或资源组将失效。

    如需有关使用 Google Cloud Console 进行更新的其他帮助,请参阅修改中列出的资源。

    在某些情况下,您可能需要使用 Cloud Monitoring API,而不是 Cloud Console。该 API 可以表达一些无法通过其他方式构造的查询。

  4. 再次运行检测器脚本,以验证没有剩余的已弃用标签。

其他信息

如需了解资源元数据标签、过滤条件或特定受监控的资源类型,请参阅以下内容:

修改

如需了解如何更新提醒政策、图表、信息中心和资源组,请参阅以下内容: