Este documento descreve como ativar, gerar e acessar registros do Cloud Logging para um job em lote.
É possível usar registros para ter informações úteis para analisar seus jobs. Por exemplo, os registros podem ajudar a depurar jobs com falhas.
Os registros só são gerados depois que um job começa a ser executado e somente se a geração de registros foi 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, consulte Começar a usar o 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 é a conta de serviço padrão do Compute Engine
-
Editor de jobs em lote (
-
Para conferir os registros:
Visualizador 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 de 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 do Google Cloud , os registros do Cloud Logging vão estar sempre 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" } ... }
Gravar e gerar registros de 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 em lote podem ter os seguintes tipos de registro:
Registros do agente (
batch_agent_logs
): registros de atividades do agente de serviço do Batch.O lote grava automaticamente os registros do agente para todos os jobs que ativaram o registro.
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 de erro padrão (stderr
).Você pode 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 console do Google Cloud , a CLI gcloud, a API Logging, Go, Java, Python ou C++.
Console
Para conferir os registros de um job usando o console do Google Cloud , faça o seguinte:
No console do 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 lote 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 criar uma consulta no Explorador de registros usando os parâmetros de filtro em lote.
Visualizar no Explorador de registros para
gcloud
Para conferir os registros com a CLI gcloud, use o
comando gcloud logging read
:
gcloud logging read "QUERY"
em que QUERY
é uma consulta para registros de lote que contém parâmetros de filtro de lote.
API
Para conferir os 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 de lote que contém parâmetros de filtro de 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 de lote
É possível filtrar os registros em lote escrevendo uma consulta que inclua um ou mais dos parâmetros de filtro a seguir e zero ou mais operadores booleanos (AND
, OR
e NOT
).
Para filtrar os registros de um job específico, especifique o ID exclusivo (UID) do job:
labels.job_uid=JOB_UID
em que
JOB_UID
é o UID do job. Para acessar o UID de um job, confira os detalhes dele.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 do projeto em que você quer conferir os registros.BATCH_LOG_TYPE
: o tipo de registros em lote que você quer consultar,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 como resolver problemas.
- Saiba mais sobre o Cloud Logging.
- Saiba como gravar registros de tarefas.
- Saiba como exportar informações de jobs.
- Saiba como excluir jobs.