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_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
自动转换为小写的长期 Bug(例如 "My-Subscription"
变为 "my-subscription"
)。如果用户的多个资源的小写名称相同,则此 Bug 会产生意外行为。此行为也于 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 Console 页面顶部的激活 Cloud Shell。
点击 Cloud Shell 工具栏上的打开编辑器。如果主目录的工作区尚未打开,请依次选择文件和打开工作区以将其打开。选择带有您的用户名的工作区。
依次选择文件和新文件 (New File),创建一个名为
metadata_label_detection.py
的新文件。将metadata_label_detection.py
的文本粘贴到编辑器中。依次选择文件和保存以保存文件。点击 Cloud Shell 工具栏中的打开终端,以返回终端。
在 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 Console 进行更新的其他帮助,请参阅修改中列出的资源。
在某些情况下,您可能需要使用 Cloud Monitoring API,而不是 Google Cloud 控制台。该 API 可以表达一些无法通过其他方式构造的查询。
再次运行检测器脚本,以验证没有剩余的已弃用标签。
其他信息
如需了解资源元数据标签、过滤条件或特定受监控的资源类型,请参阅以下内容:
编辑
如需了解如何更新提醒政策、图表、信息中心和资源组,请参阅以下内容: