Monitorizar y optimizar los recursos de los trabajos viendo las métricas
Organízate con las colecciones
Guarda y clasifica el contenido según tus preferencias.
En este documento se describe cómo monitorizar y optimizar los recursos de un trabajo de Batch consultando las métricas en Cloud Monitoring.
Para obtener más información sobre los recursos en los que se ejecuta un trabajo, consulta Recursos de trabajo.
En cualquier trabajo, Monitoring proporciona métricas básicas, como el uso de la CPU y el tráfico de red. Sin embargo, algunas métricas, como la utilización de memoria y procesos, solo se pueden recoger si un trabajo instala el agente de operaciones.
Las métricas de los recursos de un trabajo le ayudan a evaluar el rendimiento y la utilización de cada recurso. Esta información puede ayudarte a identificar mejoras para futuras iteraciones del trabajo. Por ejemplo, puede eliminar recursos que no se utilicen para optimizar los costes o mejorar o aumentar los recursos sobrecargados para mejorar el rendimiento.
Si tu proyecto aún no lo ha hecho, habilita la API Monitoring:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM
role (roles/serviceusage.serviceUsageAdmin), which
contains the serviceusage.services.enable permission. Learn how to grant
roles.
Para obtener los permisos que necesitas para ver las métricas de observabilidad,
pide a tu administrador que te conceda el rol de gestión de identidades y accesos
Lector de métricas de Monitoring (roles/monitoring.metricViewer)
en el proyecto.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
En la sección Observar y monitorizar máquinas virtuales de la documentación de Compute Engine se proporciona información conceptual relevante sobre las métricas de las máquinas virtuales. Sin embargo, se recomiendan métodos diferentes para ver las métricas de las máquinas virtuales de los trabajos de Batch. En concreto, la documentación de Compute Engine explica cómo ver las métricas mediante los paneles de control de Monitoring predefinidos para Compute Engine o las páginas de Compute Engine en la Google Cloud consola.
Sin embargo, es importante destacar que estos métodos no muestran información sobre las VMs que se han eliminado. Por lo tanto, no utilices esos métodos a menos que solo quieras ver las métricas de los trabajos por lotes mientras se están ejecutando.
Consulta las métricas de las tareas de Batch en curso y finalizadas mediante los gráficos del explorador de métricas, tal como se explica en esta sección.
Ten en cuenta que los gráficos son temporales a menos que los guardes en paneles personalizados.
.
Para crear un gráfico en el que se muestren una o varias métricas, sigue estos pasos:
Si no se aplican filtros, cada métrica de máquina virtual de un gráfico incluye datos de todas las máquinas virtuales de tu proyecto. Si quiere filtrar el gráfico para que solo incluya métricas de todos los trabajos por lotes o de trabajos por lotes específicos, añada el siguiente filtro:
group=RESOURCE_GROUP_NAME
Sustituye RESOURCE_GROUP_NAME por el nombre de un grupo de recursos para los trabajos de Batch. Para obtener más información, consulta el artículo Crear grupos de recursos para filtrar métricas.
Crear grupos de recursos para filtrar métricas
Puede usar grupos de recursos como filtros personalizables
para los gráficos del explorador de métricas.
Para crear un grupo de recursos para todos los trabajos de Batch o para trabajos específicos de tu proyecto, haz lo siguiente:
Seleccione una etiqueta para usarla como criterio de pertenencia en función de los trabajos que quiera incluir en el grupo:
Todas las tareas de Batch: usa la etiqueta batch-node predefinida, que se aplica automáticamente a todos los recursos de todas las tareas de Batch y tiene un valor nulo.
Tareas por lotes específicas: usa una etiqueta que se aplique a los recursos solo para tareas por lotes específicas.
Por ejemplo, si quieres crear un grupo basado en nombres de empleo completos o parciales, usa el nombre de etiqueta batch-job-id predefinido con un valor específico.
La etiqueta batch-job-id se aplica automáticamente a todos los recursos de todos los trabajos de Batch y se define con el nombre del trabajo.
Si usas una etiqueta personalizada, debes aplicarla a todos los recursos de los trabajos por lotes que quieras incluir en el grupo al crear los trabajos.
Asegúrate de que tu proyecto tenga al menos un trabajo con la etiqueta seleccionada y de que este trabajo esté en el estado RUNNING. De lo contrario, esta etiqueta no aparecerá como opción cuando intentes crear el grupo de recursos.
En el campo Etiqueta, escribe el nombre de la etiqueta que hayas seleccionado. A continuación, define los siguientes campos en función de los valores de las etiquetas que quieras que incluya el grupo.
Por ejemplo, si quiere que este grupo incluya todos los trabajos por lotes, defina Etiqueta como batch-node y Operador como Existe.
Si quieres que este grupo incluya trabajos por lotes
con nombres que empiecen por test, define Etiqueta como batch-job-id,
Operador como Empieza por y Valor como test.
Siguientes pasos
Consulte más información sobre las métricas de recursos de trabajos:
[[["Es fácil de entender","easyToUnderstand","thumb-up"],["Me ofreció una solución al problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Es difícil de entender","hardToUnderstand","thumb-down"],["La información o el código de muestra no son correctos","incorrectInformationOrSampleCode","thumb-down"],["Me faltan las muestras o la información que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-10 (UTC)."],[[["\u003cp\u003eThis guide explains how to monitor Batch job resources using Cloud Monitoring, focusing on metrics like CPU utilization and network traffic.\u003c/p\u003e\n"],["\u003cp\u003eInstalling the Ops Agent is required to collect advanced metrics such as memory and process utilization, providing a more comprehensive view of job performance.\u003c/p\u003e\n"],["\u003cp\u003eMetrics Explorer charts can be used to view metrics for both running and completed Batch jobs, but these charts are temporary unless saved to a custom dashboard.\u003c/p\u003e\n"],["\u003cp\u003eResource groups can be created to filter Metrics Explorer charts, allowing users to view metrics for all or specific Batch jobs by using predefined or custom labels.\u003c/p\u003e\n"],["\u003cp\u003eYou must have the Monitoring Metric Viewer role to view the observability metrics, and be aware that metrics are automatically deleted after the monitoring retention periods.\u003c/p\u003e\n"]]],[],null,["This document describes how to monitor and try to optimize the resources for a\nBatch job by viewing metrics in Cloud Monitoring.\nTo learn more about the resources that a job runs on, see\n[Job resources](/batch/docs/create-run-job#resources).\n\nFor any job, Monitoring provides basic metrics such as CPU\nutilization and network traffic. However, some metrics, such as memory and\nprocess utilization, can only be collected if a job installs the Ops Agent.\nMetrics for a job's resources help you evaluate the performance and utilization\nof each resource. This information can help you identify improvements for any\nfuture iterations of the job. For example, you might remove unutilized resources\nto help optimize costs, or you might improve or increase strained resources to\nhelp enhance performance.\n| **Note:** Monitoring and the Ops Agent feature are not part of Batch and have their own pricing. For more information, see [Monitoring pricing](/stackdriver/pricing#monitoring-pricing-summary) and [Ops Agent pricing](/stackdriver/docs/solutions/agents/ops-agent#pricing) in the Google Cloud Observability documentation.\n\nBefore you begin\n\n1. If you haven't used Batch before, review [Get started with Batch](/batch/docs/get-started) and enable Batch by completing the [prerequisites for projects and users](/batch/docs/get-started#prerequisites).\n2. Optional: To collect additional metrics for a job, [create and run\n a job that automatically installs the Ops Agent.](/batch/docs/create-run-job-ops-agent)\n3. If your project hasn't already, enable the Monitoring API:\n\n [Enable the API](https://console.cloud.google.com/flows/enableapi?apiid=monitoring.googleapis.com)\n4.\n\n To get the permissions that\n you need to view observability metrics,\n\n ask your administrator to grant you the\n\n\n [Monitoring Metric Viewer](/iam/docs/roles-permissions/monitoring#monitoring.metricViewer) (`roles/monitoring.metricViewer`)\n IAM role on the project.\n\n\n For more information about granting roles, see [Manage access to projects, folders, and organizations](/iam/docs/granting-changing-revoking-access).\n\n\n You might also be able to get\n the required permissions through [custom\n roles](/iam/docs/creating-custom-roles) or other [predefined\n roles](/iam/docs/roles-overview#predefined).\n\n\u003cbr /\u003e\n\nView metrics for job resources **Important:** You cannot view metrics after they are deleted, which happens automatically after the [Monitoring retention periods](/monitoring/quotas#data_retention_policy). If you need to retain metrics for a longer period, [export Monitoring metrics to BigQuery](/architecture/monitoring-metric-export).\n\n[Observe and monitor VMs](/compute/docs/instances/observe-monitor-vms) in\nthe Compute Engine documentation provides relevant conceptual information\nabout VM metrics; however, different methods are recommended for viewing\nVM metrics for Batch jobs. Specifically, the\nCompute Engine documentation explains how to view metrics by using the\npredefined Monitoring dashboards for Compute Engine or\nCompute Engine pages in the Google Cloud console.\nBut, importantly, those methods don't display information about VMs that have\nbeen deleted. As a result, don't use those methods unless you only want to view\nmetrics for Batch jobs while they are running.\n\nView metrics for running and finished Batch jobs by\nusing Metrics Explorer charts as explained in this section.\nNotably, charts are temporary unless you save\nthem to custom dashboards.\n| **Tip:** To see if your project already has a custom dashboard that you can use instead of creating a new chart, [view custom dashboards](/monitoring/charts/dashboards#view-dashboard).\n\nTo create a chart for viewing one or more metrics, do the following:\n\n1. Optional: If you plan to save the chart, [identify or create a custom dashboard](/monitoring/charts/dashboards) for the chart.\n2. [Create a Metrics Explorer chart for one or more metrics](/monitoring/charts/metrics-explorer).\n\n Without filters, each VM metric in a chart includes data from all the VMs in\n your project. Optionally, if you want to filter the chart to only include\n metrics from all or specific Batch jobs, add the following\n filter: \n\n group=\u003cvar translate=\"no\"\u003eRESOURCE_GROUP_NAME\u003c/var\u003e\n\n Replace \u003cvar translate=\"no\"\u003eRESOURCE_GROUP_NAME\u003c/var\u003e with the name of a\n resource group for Batch jobs. For more information, see\n [Create resource groups to filter metrics](#create-group-filter) in this\n document.\n\nCreate resource groups to filter metrics\n\nYou can use [resource groups](/monitoring/groups) as customizable filters\nfor Metrics Explorer charts.\nTo create a resource group for all or specific Batch jobs in\nyour project, do the following:\n\n1. Select a [label](/batch/docs/organize-resources-using-labels) to use\n as the membership criteria based on which jobs you want to include in the\n group:\n\n - **All Batch jobs:** Use the predefined `batch-node` label, which is automatically applied to all the resources for all Batch jobs and has a null value.\n - **Specific Batch jobs:** Use a label that is applied to\n the resources only for specific Batch jobs.\n\n For example, if you want to create a group based on full or partial job\n names, use the predefined `batch-job-id` label name with a specific value.\n The `batch-job-id` label is automatically applied to all the resources\n for all Batch jobs and defined with the job name.\n\n Alternatively, if you use a custom label, you must apply the\n custom label to all the resources of the Batch jobs that\n you want to be included in the group when you create the jobs.\n2. Ensure that your project has at least one job with your selected label and\n that this job is in the `RUNNING` state. Otherwise, this label won't\n appear as an option when you try to create the resource group.\n\n3. [Create a resource group](/monitoring/groups).\n When you are specifying the membership criteria, do the following:\n\n 1. Set the **Type** to **Tag**.\n 2. Set the **Tag** field to the name of your selected label. Then, set the\n following fields based on the label values that you want the group to\n include.\n\n For example, if you want this group to include all Batch\n jobs, set **Tag** to `batch-node`, and set **Operator** to **Exists** .\n Alternatively, you want this group to include Batch jobs\n with names that start with `test`, set **Tag** to `batch-job-id`,\n set **Operator** to **Starts with** , and set **Value** to `test`.\n\nWhat's next\n\n- Learn more about job resource metrics:\n - [Collect additional resource metrics using the Ops Agent](/batch/docs/create-run-job-ops-agent).\n - [Create and manage custom Monitoring dashboards](/monitoring/charts/dashboards).\n - [Monitor GPUs](/compute/docs/gpus/monitor-gpus).\n- Learn about other methods to monitor and optimize Batch jobs:\n - [Monitor job status using Pub/Sub notifications and BigQuery](/batch/docs/monitor-jobs-using-notifications).\n - [Colocate VMs to reduce latency](/batch/docs/create-run-job-placement-policy).\n - Learn about more [job creation options](/batch/docs/create-run-job#job-creation-options)."]]