Neste documento, descrevemos como ativar, gerar e visualizar registros do Cloud Logging para um job do Batch.
É possível usar os registros para receber informações úteis para analisar seus jobs. Por exemplo, os registros podem ajudar você 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 ele. Se você precisar analisar um job sem registros, confira os eventos de status.
Antes de começar
- Se você nunca usou o Batch, leia Começar a usar o Batch e ative o serviço 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 conferir os 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 por meio de papéis personalizados ou de 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 console Google Cloud , 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
logsPolicy
ao criar o job:{ ... "logsPolicy": { "destination": "CLOUD_LOGGING" } ... }
Escrever e gerar registros para um job
Quando os registros do Cloud Logging sã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 registros:
Registros do agente (
batch_agent_logs
): registros de atividades do agente de serviço do Batch.O Batch grava automaticamente os registros do agente para cada job que tem o registro ativado.
Registros de tarefas (
batch_task_logs
): registros de todos os dados que você configurou para que os runnables de um job sejam gravados no streaming de saída padrão (stdout
) ou de erro padrão (stderr
).Também é possível gravar registros de tarefas para cada job que ativou a geração de registros.
Ver registros de um job
É possível conferir os registros de um job usando o Google Cloud console, a CLI gcloud, a API Logging, Go, Java, Python ou C++.
Console
Para ver os registros de um job usando o console Google Cloud , faça o seguinte:
No console Google Cloud , acesse a página Lista de jobs.
Na coluna Nome do job, clique no nome de um job. A página Detalhes do job é aberta.
Clique na guia Registros. O Batch exibe 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 criar uma consulta no Explorador de registros usando os Parâmetros de filtro em lote.
Ver no Explorador de registros para
gcloud
Para ver os registros usando a CLI gcloud, use o
comando gcloud logging read
:
gcloud logging read "QUERY"
em que QUERY
é uma consulta para registros do Batch que contém parâmetros de filtro do Batch.
API
Para conferir registros usando a API Logging, use o
método entries.list
:
POST https://logging.googleapis.com/v2/entries:list
{
"resourceNames": [
"projects/PROJECT_ID"
],
"filter": "QUERY"
"orderBy": "timestamp desc"
}
Substitua:
PROJECT_ID
: o ID do projeto do seu projeto.QUERY
: uma consulta para registros em lote que contém parâmetros de filtro em lote.
Go
Go
Para mais informações, consulte a documentação de referência da API Batch Go.
Para autenticar no Batch, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Java
Para mais informações, consulte a documentação de referência da API Batch Java.
Para autenticar no Batch, configure o Application Default Credentials. Para 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 API Batch Python.
Para autenticar no Batch, configure o Application Default Credentials. Para 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 Batch C++.
Para autenticar no Batch, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Filtrar registros do Batch
É possível filtrar os 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 os registros de um job específico, especifique o ID exclusivo (UID) dele:
labels.job_uid=JOB_UID
em que
JOB_UID
é o UID do job. Para conseguir o UID de um job, confira os detalhes do job.Para filtrar um tipo específico de registros em lote, especifique o tipo de registro:
logName=projects/PROJECT_ID/logs/BATCH_LOG_TYPE
Substitua:
PROJECT_ID
: o ID do projeto para o qual você quer ver os registros.BATCH_LOG_TYPE
: o tipo de registros em lote que você quer ver,batch_task_logs
para registros de tarefas oubatch_agent_logs
para registros de agentes.
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_VALUE
Para filtrar registros de uma ou mais gravidades específicas, especifique a seguinte comparação:
severityCOMPARISON_OPERATORSEVERITY_ENUM
Substitua:
COMPARISON_OPERATOR
: um operador de comparação. Por exemplo,>=
.SEVERITY_ENUM
: um enumLogSeverity
, 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 solução de problemas.
- Saiba mais sobre o Cloud Logging.
- Saiba como gravar registros de tarefas.
- Saiba como exportar informações de jobs.
- Saiba como excluir jobs.