本文档介绍了如何通过查看 Cloud Monitoring 中的指标来监控 Batch 作业的资源并尝试优化这些资源。如需详细了解作业运行所用的资源,请参阅作业资源。
对于任何作业,Monitoring 都会提供 CPU 利用率和网络流量等基本指标。不过,某些指标(例如内存和进程利用率)只有在作业安装了 Ops Agent 后才能收集。作业的资源指标可帮助您评估每种资源的性能和利用率。此信息可帮助您确定作业的任何未来迭代版本需要改进的地方。例如,您可以移除未充分利用的资源,以帮助优化费用;也可以改进或增加资源紧张的资源,以帮助提升性能。
准备工作
- 如果您之前未使用过 Batch,请查看开始使用 Batch 并完成项目和用户的前提条件,以启用 Batch。
- 可选:如需为作业收集更多指标,请创建并运行可自动安装 Ops Agent 的作业。
- 如果您的项目尚未启用 Monitoring API,请启用该 API:
-
如需获得查看可观测性指标所需的权限,请让您的管理员为您授予项目的 Monitoring Metric Viewer (
roles/monitoring.metricViewer
) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
查看作业资源的指标
Compute Engine 文档中的观测和监控虚拟机提供了有关虚拟机指标的相关概念信息;不过,建议使用不同的方法来查看 Batch 作业的虚拟机指标。具体而言,Compute Engine 文档介绍了如何使用 Compute Engine 的预定义 Monitoring 信息中心或 Google Cloud 控制台中的 Compute Engine 页面查看指标。但重要的是,这些方法不会显示有关已删除虚拟机的信息。因此,除非您只想在 Batch 作业运行时查看其指标,否则请勿使用这些方法。
如本部分中所述,使用 Metrics Explorer 图表查看正在运行和已完成的 Batch 作业的指标。请注意,除非您将图表保存到自定义信息中心,否则图表是临时性的。
如需创建用于查看一个或多个指标的图表,请执行以下操作:
- 可选:如果您打算保存图表,请确定或创建图表的自定义信息中心。
为一项或多项指标创建 Metrics Explorer 图表。
如果不使用过滤条件,图表中的每个虚拟机指标都会包含项目内所有虚拟机的数据。(可选)如果您想过滤图表,使其仅包含来自所有或特定 Batch 作业的指标,请添加以下过滤条件:
group=RESOURCE_GROUP_NAME
将
RESOURCE_GROUP_NAME
替换为 Batch 作业的资源组的名称。如需了解详情,请参阅本文档中的创建资源组以过滤指标。
创建资源组以过滤指标
您可以使用资源组作为 Metrics Explorer 图表的可自定义过滤条件。如需为项目中的所有或特定 Batch 作业创建资源组,请执行以下操作:
选择一个标签作为成员资格条件,以确定要将哪些作业纳入群组:
- 所有 Batch 作业:使用预定义的
batch-node
标签,该标签会自动应用于所有 Batch 作业的所有资源,并且具有 null 值。 特定 Batch 作业:使用仅应用于特定 Batch 作业的资源的标签。
例如,如果您想根据完整或部分职位名称创建群组,请使用预定义的
batch-job-id
标签名称并指定相应的值。batch-job-id
标签会自动应用于所有批处理作业的所有资源,并使用作业名称进行定义。或者,如果您使用自定义标签,则必须在创建作业时将自定义标签应用于您希望纳入该组的所有 Batch 作业资源。
- 所有 Batch 作业:使用预定义的
确保您的项目至少有一个具有所选标签的作业,并且该作业处于
RUNNING
状态。否则,当您尝试创建资源组时,此标签不会显示为选项。创建资源组。 指定会员资格条件时,请执行以下操作:
- 将类型设置为标记。
将标记字段设置为所选标签的名称。然后,根据您希望群组包含的标签值设置以下字段。
例如,如果您希望此组包含所有批处理作业,请将标记设置为
batch-node
,并将运算符设置为存在。 或者,如果您希望此群组包含名称以test
开头的 Batch 作业,请将标记设置为batch-job-id
,将运算符设置为开头为,并将值设置为test
。
后续步骤
- 详细了解作业资源指标:
- 了解监控和优化 Batch 作业的其他方法: