En este documento, se describe cómo habilitar, generar y ver registros de Cloud Logging para un trabajo por lotes.
Puedes usar los registros a fin de obtener información útil para analizar tus trabajos. Por ejemplo, los registros pueden ayudarte a depurar trabajos con errores.
En particular, los registros solo se generan después de que un trabajo comienza a ejecutarse y solo si se habilitó el registro para el trabajo. Si necesitas analizar un trabajo sin registros, consulta los eventos de estado.
Antes de comenzar
- Si no has usado Batch antes, revisa Comienza a usar Batch y completa los requisitos previos para los proyectos y usuarios a fin de habilitar Batch.
-
Si quieres obtener los permisos que necesitas para analizar un trabajo mediante registros, pídele a tu administrador que te otorgue los siguientes roles de IAM:
-
Para crear un trabajo, sigue estos pasos:
-
Editor de trabajos por lotes (
roles/batch.jobsEditor
) en el proyecto -
Usuario de cuenta de servicio (
roles/iam.serviceAccountUser
) en la cuenta de servicio del trabajo, que de forma predeterminada es la cuenta de servicio predeterminada de Compute Engine
-
Editor de trabajos por lotes (
-
Para ver los registros, usa el Visor de registros (
roles/logging.viewer
) del proyecto.
Si quieres obtener más información para otorgar funciones, consulta Administra el acceso.
Es posible que también puedas obtener los permisos necesarios a través de los roles personalizados o de otros roles predefinidos.
-
Para crear un trabajo, sigue estos pasos:
Habilita el registro para un trabajo
A fin de permitir que se generen registros para un trabajo, habilita los registros de Cloud Logging cuando crees el trabajo:
- Si creas un trabajo con la consola de Google Cloud, los registros de Cloud Logging siempre están habilitados.
Si creas un trabajo con gcloud CLI o la API de Batch, los registros de Cloud Logging se inhabilitan de forma predeterminada. Para habilitar los registros de Cloud Logging, incluye la siguiente configuración en el campo
logsPolicy
cuando crees el trabajo:{ ... "logsPolicy": { "destination": "CLOUD_LOGGING" } ... }
Escribe y genera registros para un trabajo
Cuando los registros de Cloud Logging se habilitan para un trabajo, Cloud Logging genera de forma automática cualquiera de los registros que se escriben para el trabajo. En particular, los trabajos por lotes pueden tener los siguientes tipos de registros:
Registros del agente (
batch_agent_logs
): Son registros de las actividades del agente de servicio de Batch.Batch escribe registros de agente de forma automática para cada trabajo que tenga habilitado el registro.
Registros de tareas (
batch_task_logs
): Registros de cualquier dato en el que hayas configurado los ejecutables de un trabajo para escribir en el flujo de salida estándar (stdout
) o de error estándar (stderr
).De manera opcional, puedes escribir registros de tareas para cada trabajo que tenga habilitado el registro.
Visualiza los registros de un trabajo
Puedes ver los registros de un trabajo con la consola de Google Cloud, gcloud CLI, la API de Logging, Go, Java, Python o C++.
Console
Para ver los registros de un trabajo con la consola de Google Cloud, sigue estos pasos:
En la consola de Google Cloud, ve a la página Lista de trabajos.
En la columna Nombre del trabajo, haz clic en el nombre de un trabajo. Se abrirá la página Detalles del trabajo.
Haz clic en la pestaña Registros. Batch muestra todos los registros asociados con el trabajo.
Opcional: Para filtrar los registros, realiza una de las siguientes acciones:
Ingresa un filtro en el campo Filtro.
En la lista Gravedad, selecciona una gravedad.
Haz clic en crear una consulta en el Explorador de registros con los Parámetros de filtro por lotes.
Ver en el Explorador de registros para
gcloud
Para ver los registros con gcloud CLI, usa el
comando gcloud logging read
:
gcloud logging read "QUERY"
En el ejemplo anterior, QUERY
es una consulta para los registros por lotes que contienen parámetros de filtro por lotes.
API
Para ver los registros con la API de Logging, usa el método entries.list
:
POST https://logging.googleapis.com/v2/entries:list
{
"resourceNames": [
"projects/PROJECT_ID"
],
"filter": "QUERY"
"orderBy": "timestamp desc"
}
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto.QUERY
: Es una consulta para los registros por lotes que contiene parámetros de filtro por lotes.
Go
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Batch Go.
Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Batch Java.
Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Batch Python.
Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
C++
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Batch C++.
Para autenticarte en Batch, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Filtrar registros por lotes
Puedes filtrar los registros por lotes si escribes una consulta que incluya uno o más de los siguientes parámetros de filtro y cero o más operadores booleanos (AND
, OR
y NOT
).
Para filtrar los registros de un trabajo específico, especifica el ID único del trabajo (UID):
labels.job_uid=JOB_UID
En el ejemplo anterior,
JOB_UID
es el UID del trabajo. Para obtener el UID de un trabajo, consulta los detalles del trabajo.Para filtrar según un tipo específico de registros por lotes, especifica el tipo de registro:
logName=projects/PROJECT_ID/logs/BATCH_LOG_TYPE
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto del que deseas ver los registros.BATCH_LOG_TYPE
: El tipo de registros por lotes que deseas ver, ya seabatch_task_logs
para los registros de tareas obatch_agent_logs
para los registros de agentes.
Para filtrar registros con eventos de estado personalizados, especifica que el registro debe definir el campo
jsonPayload.batch/custom/event
:jsonPayload.batch"/"custom"/"event!=NULL_VALUE
Para filtrar los registros de uno o más niveles de gravedad específicos, especifica la siguiente comparación:
severityCOMPARISON_OPERATORSEVERITY_ENUM
Reemplaza lo siguiente:
COMPARISON_OPERATOR
: Es un operador de comparación, por ejemplo,>=
.SEVERITY_ENUM
: Es una enumeraciónLogSeverity
, que describe la gravedad de un registro, por ejemplo,ERROR
.
Para ver más opciones de filtro, consulta la documentación sobre el lenguaje de consulta de Cloud Logging.
¿Qué sigue?
- Obtén más información sobre la solución de problemas.
- Obtén más información sobre Cloud Logging.
- Aprende a escribir registros de tareas.
- Obtén más información sobre cómo borrar y exportar trabajos.