本文档介绍了如何创建和运行可自动安装 Ops Agent 的 Batch 作业。安装 Ops Agent,以便在 Cloud Monitoring 中提供有关作业资源性能的更多指标。如需详细了解如何使用作业的资源性能指标,请参阅通过查看指标来监控和优化作业资源。
准备工作
- 如果您之前未使用过 Batch,请查看开始使用 Batch,并完成项目和用户的前提条件以启用 Batch。
- 如果您的项目尚未启用 Cloud Monitoring 和 Cloud Logging API,请启用它们:
  
   
   
     
   
  
   
   
     
   
  
 
   
 
 
  
  
    
      Roles required to enable APIs To enable APIs, you need the Service Usage Admin IAM role ( roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
- 
  
  
  
  
  
  
  
    
    
    
    
    
    
      
      
        
        
        
        
        
      
    
      
      
        
        
        
        
        
      
    
    
    
    
    
  
  
  
    
    
    
    
    
    
      
      
        
        
        
        
        
      
    
    
    
    
    
  
  如需获得创建作业所需的权限,请让您的管理员为您授予以下 IAM 角色: - 
            如需创建作业,请执行以下操作:
            - 
  
  
    
      项目的 Batch Job Editor  (roles/batch.jobsEditor)
- 
  
  
    
      作业的服务账号(默认情况下为默认 Compute Engine 服务账号)的 Service Account User  (roles/iam.serviceAccountUser)
 
- 
  
  
    
      项目的 Batch Job Editor  (
- 
            如需查看日志,请执行以下操作:
              
  
  
    
      Logs Viewer (roles/logging.viewer) 项目中的 Logs Viewer (roles/logging.viewer)
 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。 
- 
            如需创建作业,请执行以下操作:
            
- 除非您使用作业的服务账号的默认配置,否则请确保该账号拥有必要的权限。 - 如需确保作业的服务账号具有将 Ops Agent 指标写入监控所需的权限,请让您的管理员为作业的服务账号授予以下 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 创建作业,该作业包含 installOpsAgent 字段,该字段在 JSON 文件的正文中位于 allocationPolicy.instances 字段内,且设置为 true:
"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 指标。如需了解详情,请参阅通过查看指标来监控和优化作业资源。