Este documento descreve como ativar, gerar e visualizar registros de Cloud Logging para um job em lote do Batch.
É possível usar registros para receber informações úteis para analisar seus jobs. Por exemplo, os registros podem ajudar a depurar jobs com falha.
Os registros só são gerados depois que um job começa a ser executado e somente se a geração de registros estiver ativada para o job. Se você precisar analisar um job sem registros, consulte os eventos de status em vez disso.
Antes de começar
- Se você nunca usou o Batch, consulte Introdução ao Batch e ative o Batch concluindo os pré-requisitos para projetos e usuários.
-
Para receber as permissões necessárias para analisar um job usando registros, peça ao administrador para conceder a você os seguintes papéis do IAM:
-
Para criar um job:
- Editor de jobs em lote (
roles/batch.jobsEditor) no projeto - Usuário da conta de serviço (
roles/iam.serviceAccountUser) na conta de serviço do job, que, por padrão, é a conta de serviço padrão do Compute Engine
- Editor de jobs em lote (
-
Para visualizar registros:
Leitor de registros (
roles/logging.viewer) no projeto
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.
-
Para criar um job:
Ativar a geração de registros para um job
Para permitir que os registros sejam gerados para um job, ative os registros do Cloud Logging ao criar o job:
- Se você criar um job usando o Google Cloud console, os registros do Cloud Logging sempre serão ativados.
Se você criar um job usando a CLI gcloud ou a API Batch, os registros do Cloud Logging serão desativados por padrão. Para ativar os registros do Cloud Logging, inclua a seguinte configuração para o campo
logsPolicyao criar o job:{ ... "logsPolicy": { "destination": "CLOUD_LOGGING" } ... }
Gravar e gerar registros para um job
Quando os registros do Cloud Logging estão ativados para um job, o Cloud Logging gera automaticamente todos os registros gravados para o job. Especificamente, os jobs do Batch podem ter os seguintes tipos de registro:
Registros de agente (
batch_agent_logs): registros de atividades do agente de serviço do Batch.O Batch grava automaticamente registros de agente para cada job que tem a geração de registros ativada.
Registros de tarefas (
batch_task_logs): registros de todos os dados que você configurou para que os executáveis de um job sejam gravados no stream de saída padrão (stdout) ou no stream de erro padrão (stderr).Você pode, opcionalmente, gravar registros de tarefas para cada job que tem a geração de registros ativada.
Ver registros de um job
É possível visualizar os registros de um job usando o Google Cloud console, a CLI gcloud, a API Logging, Go, Java, Python ou C++.
Console
Para visualizar os registros de um job usando o Google Cloud console, faça o seguinte:
No Google Cloud console, acesse a página Lista de jobs.
Na coluna Nome do job, clique no nome de um job. A página Detalhes do job será aberta.
Clique na guia Registros. O Batch mostra todos os registros associados ao job.
Opcional: para filtrar os registros, faça o seguinte:
Insira um filtro no campo Filtro.
Na lista Gravidade, selecione uma gravidade.
Clique em Visualizar na Análise de registros para criar uma consulta no Análise de registros usando os parâmetros de filtro do Batch.
gcloud
Para visualizar registros usando a CLI gcloud, use o
gcloud logging read comando:
gcloud logging read "QUERY"
em que QUERY é uma
consulta para registros do Batch que contém
parâmetros de filtro do Batch.
API
Para visualizar registros usando a API Logging, use o
entries.list método:
POST https://logging.googleapis.com/v2/entries:list
{
"resourceNames": [
"projects/PROJECT_ID"
],
"filter": "QUERY"
"orderBy": "timestamp desc"
}
Substitua:
PROJECT_ID: o ID do projeto.QUERY: uma consulta para registros do Batch que contém parâmetros de filtro do Batch.
Ir
Go
Para mais informações, consulte a documentação de referência da APIGo Batch.
Para autenticar no Batch, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Java
Para mais informações, consulte a API Java Batch documentação de referência.
Para autenticar no Batch, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Python
Para mais informações, consulte a documentação de referência da APIPython Batch.
Para autenticar no Batch, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
C++
C++
Para mais informações, consulte a documentação de referência da API C++Batch.
Para autenticar no Batch, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Filtrar registros do Batch
É possível filtrar registros do Batch escrevendo uma consulta
que inclua um ou mais dos seguintes parâmetros de filtro e zero ou mais
operadores booleanos (AND, OR e NOT).
Para filtrar registros de um job específico, especifique o ID exclusivo (UID) do job:
labels.job_uid=JOB_UIDem que
JOB_UIDé o UID do job. Para receber o UID de um job, consulte os detalhes do job.Para filtrar um tipo específico de registros do Batch, especifique o tipo de registro:
logName=projects/PROJECT_ID/logs/BATCH_LOG_TYPESubstitua:
PROJECT_ID: o ID do projeto para o qual você quer visualizar os registros.BATCH_LOG_TYPE: o tipo de registros do Batch que você quer visualizar,batch_task_logspara registros de tarefas oubatch_agent_logspara registros de agente.
Para filtrar registros com eventos de status personalizados, especifique que o registro precisa definir o campo
jsonPayload.batch/custom/event:jsonPayload.batch"/"custom"/"event!=NULL_VALUEPara filtrar registros de uma ou mais gravidades específicas, especifique a seguinte comparação:
severityCOMPARISON_OPERATORSEVERITY_ENUMSubstitua:
COMPARISON_OPERATOR: um operador de comparação, por exemplo,>=.SEVERITY_ENUM: umaLogSeverityenumeração, que descreve a gravidade de um registro, por exemplo,ERROR.
Para mais opções de filtro, consulte a documentação da linguagem de consulta do Cloud Logging.
A seguir
- Saiba mais sobre a solução de problemas.
- Saiba mais sobre Cloud Logging.
- Saiba como gravar registros de tarefas.
- Saiba como exportar informações do job.
- Saiba como excluir jobs.