使用 Ops Agent 收集其他资源指标

本文档介绍了如何创建和运行自动安装 Ops Agent 的批量作业。安装 Ops Agent 可在 Cloud Monitoring 中提供有关作业资源性能的更多指标。如需详细了解如何使用作业的资源性能指标,请参阅 通过查看指标监控和优化作业资源

准备工作

  1. 如果您之前未使用过 Batch,请查看 Batch 使用入门 ,并完成 项目和用户的前提条件以启用 Batch。
  2. 如果您的项目尚未启用 Cloud Monitoring 和 Cloud Logging API,请启用它们:

    启用 API 所需的角色

    如需启用 API,您需要拥有 Service Usage Admin IAM 角色 (roles/serviceusage.serviceUsageAdmin),该角色包含 serviceusage.services.enable 权限。了解如何授予 角色

    启用 API

  3. 如需获取创建作业所需的权限,请让您的管理员向您授予以下 IAM 角色:

    如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

    您也可以通过自定义 角色或其他预定义 角色来获取所需的权限。

  4. 除非您使用 作业服务账号的默认配置, 否则请确保该服务账号具有必要的权限。

    如需确保作业的服务帐号具有将 Ops Agent 指标写入 Monitoring 所需的 权限,请让您的管理员向作业的服务帐号授予以下 IAM 角色:

  5. 确保您计划的作业配置符合 Ops Agent 要求

Ops Agent 要求

如需创建和运行使用 Ops Agent 的作业,您的作业必须满足以下所有要求:

如需详细了解 Ops Agent 的功能和要求, 请参阅 Ops Agent 概览 在 Google Cloud Observability 文档中。

创建自动安装 Ops Agent 的作业

使用 Google Cloud CLI 或 REST API 来 创建作业,该作业在 JSON 文件的正文中的 allocationPolicy.instances 字段中包含设置为 trueinstallOpsAgent 字段

"allocationPolicy": {
  "instances": [
    {
      "installOpsAgent": true
    }
  ]
}

例如,自动安装 Ops Agent 的作业可以具有类似于以下内容的 JSON 配置文件:

{
  "taskGroups": [
    {
      "taskSpec": {
        "runnables": [
          {
            "script": {
              "text": "echo Hello World! This is task $BATCH_TASK_INDEX."
            }
          }
        ]
      },
      "taskCount": 3,
    }
  ],
  "allocationPolicy": {
    "instances": [
      {
        "installOpsAgent": true
      }
    ]
  },
  "logsPolicy": {
      "destination": "CLOUD_LOGGING"
  }
}

作业的虚拟机开始运行后,您可以看到 Ops Agent 指标,就像任何其他资源指标一样。如需了解详情,请参阅 通过查看指标监控和优化作业资源

后续步骤