En este documento, se describe cómo habilitar, generar y visualizar registros de Cloud Logging para un trabajo por lotes.
Puedes usar los registros para 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, ver eventos de estado en su lugar.
Antes de comenzar
- Si nunca usaste Batch, consulta Cómo comenzar a usar Batch y habilita Batch completando los requisitos previos para proyectos y usuarios.
-
A fin de obtener los permisos que necesitas para analizar un trabajo con registros, solicita a tu administrador que te otorgue el 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 la 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, haz lo siguiente:
Visualizador de registros (
roles/logging.viewer
) en el proyecto
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.
-
Para crear un trabajo, sigue estos pasos:
Habilita el registro de un trabajo
Para permitir que se generen registros para un trabajo, habilita los registros de Cloud Logging cuando lo crees:
- 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 API de Batch, los registros de Cloud Logging están inhabilitados de forma predeterminada. Para habilitar los registros de Cloud Logging, incluye la siguiente configuración para el campo
logsPolicy
cuando crees el trabajo:{ ... "logsPolicy": { "destination": "CLOUD_LOGGING" } ... }
Cómo escribir y generar registros para un trabajo
Cuando se habilitan los registros de Cloud Logging para un trabajo, Cloud Logging automáticamente cualquiera de los registros que se escriben para el trabajo. En particular, los trabajos por lotes pueden tener los siguientes tipos de registro:
Registros del agente (
batch_agent_logs
): Son registros de las actividades del agente de servicio por lotes.Por lotes, se escriben automáticamente registros de agentes para cada trabajo que habilitó el registro.
registros de tareas (
batch_task_logs
): registros de todos los datos que configuraste ejecutables del trabajo para escribir transmisión de salida estándar (stdout
) o transmisión con error estándar (stderr
).De manera opcional, puedes escribir registros de tareas para cada trabajo que haya habilitado el registro.
Visualiza los registros de un trabajo
Puedes ver los registros de un trabajo con la consola de Google Cloud, la CLI de gcloud, la API de Logging, Go, Java, Python o C++.
Console
Para ver los registros de un trabajo con la consola de Google Cloud, haz lo siguiente:
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 del filtro por lotes.
Ver en el Explorador de registros para
gcloud
Para ver registros con gcloud CLI, usa la
Comando gcloud logging read
:
gcloud logging read "QUERY"
En el ejemplo anterior, QUERY
es un valor
por lotes que contenga
Parámetros de filtro por lotes.
API
Para ver 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 de tu proyecto.QUERY
: un por lotes que contenga Parámetros de filtro por lotes.
Go
Go
Para obtener más información, consulta la API de Go por lotes documentación de referencia.
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
Para obtener más información, consulta la API de Java por lotes documentación de referencia.
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
Para obtener más información, consulta la API de Python por lotes documentación de referencia.
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++
Para obtener más información, consulta la API de C++ por lotes documentación de referencia.
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.
Filtra registros de Batch
Puedes filtrar los registros por lotes escribiendo 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 registros de un trabajo específico, especifica el ID único (UID) del trabajo:
labels.job_uid=JOB_UID
En el que
JOB_UID
es el UID de la tarea. Para obtener el UID de un trabajo, consulta los detalles del trabajo.Para filtrar un tipo específico de registros de lotes, especifica el tipo de registro:
logName=projects/PROJECT_ID/logs/BATCH_LOG_TYPE
Reemplaza lo siguiente:
PROJECT_ID
: el ID del proyecto del proyecto para el que quieres ver los registros.BATCH_LOG_TYPE
: Es el tipo de registros de 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 registros de una o más gravedades específicas, especifica la siguiente comparación:
severityCOMPARISON_OPERATORSEVERITY_ENUM
Reemplaza lo siguiente:
COMPARISON_OPERATOR
: un operador de comparación ejemplo,>=
.SEVERITY_ENUM
: Una enumeraciónLogSeverity
que describe la gravedad de un registro, por ejemplo,ERROR
.
Para obtener más opciones de filtro, consulta la documentación del lenguaje de consulta de Cloud Logging.
¿Qué sigue?
- Obtén más información para solucionar problemas.
- Obtén más información sobre Cloud Logging.
- Obtén más información sobre cómo escribir registros de tareas.
- Obtén más información sobre cómo exportar información de trabajo.
- Obtén más información sobre cómo borrar trabajos.