本文档介绍了如何创建和运行自动安装 Ops Agent 的批量作业。安装 Ops Agent 可在 Cloud Monitoring 中提供有关作业资源性能的更多指标。如需详细了解如何使用作业的资源性能指标,请参阅 通过查看指标监控和优化作业资源。
准备工作
- 如果您之前未使用过 Batch,请查看 Batch 使用入门 ,并完成 项目和用户的前提条件以启用 Batch。
- 如果您的项目尚未启用 Cloud Monitoring 和 Cloud Logging API,请启用它们:
启用 API 所需的角色
如需启用 API,您需要拥有 Service Usage Admin IAM 角色 (
roles/serviceusage.serviceUsageAdmin),该角色包含serviceusage.services.enable权限。了解如何授予 角色。 -
如需获取创建作业所需的权限,请让您的管理员向您授予以下 IAM 角色:
-
如需创建作业:
- Batch Job Editor (
roles/batch.jobsEditor) 项目的 - Service Account User (
roles/iam.serviceAccountUser) 在作业的服务账号上,默认情况下为默认 Compute Engine 服务账号
- Batch Job Editor (
-
如需查看日志:
Logs Viewer (
roles/logging.viewer) 项目的
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
-
如需创建作业:
除非您使用 作业服务账号的默认配置, 否则请确保该服务账号具有必要的权限。
如需确保作业的服务帐号具有将 Ops Agent 指标写入 Monitoring 所需的 权限,请让您的管理员向作业的服务帐号授予以下 IAM 角色:
如果未能向正确的正文授予这些角色,可能会导致权限错误。- 项目的 Monitoring Metric Writer (
roles/monitoring.metricWriter) - Logs Writer (
roles/logging.logWriter) 项目的
- 项目的 Monitoring Metric Writer (
- 确保您计划的作业配置符合 Ops Agent 要求。
Ops Agent 要求
如需创建和运行使用 Ops Agent 的作业,您的作业必须满足以下所有要求:
确保作业的虚拟机使用 Ops Agent 支持的操作系统 (OS)。 如需详细了解作业的虚拟机操作系统映像,请参阅 作业的虚拟机操作系统环境概览。
如果您的作业使用非默认网络配置或使用 VPC Service Controls,请确保该作业满足 Ops Agent 的访问要求 。如需了解详情,请参阅 Google Cloud Observability 文档中的没有远程软件包访问权限的虚拟机 。
确保作业不会安装旧版 Cloud Logging 代理或 Cloud Monitoring 代理,例如通过自定义映像或实例模板。
如需详细了解 Ops Agent 的功能和要求, 请参阅 Ops Agent 概览 在 Google Cloud Observability 文档中。
创建自动安装 Ops Agent 的作业
使用 Google Cloud CLI 或 REST API 来
创建作业,该作业在
JSON 文件的正文中的 allocationPolicy.instances 字段中包含设置为 true 的
installOpsAgent 字段:
"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 指标,就像任何其他资源指标一样。如需了解详情,请参阅 通过查看指标监控和优化作业资源。