本文档介绍如何创建和运行自动安装 Ops Agent 的批处理作业。安装 Ops Agent,以在 Cloud Monitoring 中提供有关作业资源性能的其他指标。如需详细了解如何使用作业的资源性能指标,请参阅通过查看指标监控和优化作业资源。
准备工作
- 如果您之前未使用过 Batch,请查看 Batch 使用入门,并通过完成项目和用户的前提条件来启用 Batch。
- 如果您的项目尚未启用,请启用 Cloud Monitoring API 和 Cloud Logging API:
-
如需获取创建作业所需的权限,请让管理员授予您以下 IAM 角色:
-
如需创建作业,请执行以下操作:
-
项目的 Batch Job Editor (
roles/batch.jobsEditor
) -
作业的服务帐号上的 Service Account User (
roles/iam.serviceAccountUser
),默认为默认 Compute Engine 服务帐号
-
项目的 Batch Job Editor (
-
如需查看日志,请执行以下操作:
项目的日志查看器 (
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 的功能和要求,请参阅 Google Cloud Observability 文档中的 Ops Agent 概览。
创建自动安装 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 指标。如需了解详情,请参阅通过查看指标监控和优化作业资源。