Este documento descreve como ativar, gerar e exibir registros do Cloud Logging para um job em lote.
É possível usar registros para conseguir informações úteis a análise dos seus trabalhos. 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 estiver ativada para o job. Se você precisar analisar um job sem registros, confira os eventos de status.
Antes de começar
- Se você nunca usou o Batch antes, revise Introdução ao Batch e ativar o Batch. Para isso, conclua pré-requisitos para projetos e usuários.
-
Para ter 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 ver 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:
Como ativar a geração de registros para um job
Para permitir que registros sejam gerados para um job, ative os registros de Cloud Logging ao criar o job:
- Se você criar um job usando o console do Google Cloud, os registros o Cloud Logging está sempre ativado.
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 o seguinte: no 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 qualquer um dos 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 um aos executáveis do job para gravar stream de saída padrão (stdout
) ou stream de erro padrão (stderr
).É possível gravar registros de tarefas para cada job que tenha ativado a geração de registros.
Ver registros de um job
Para acessar os registros de um job, use o console do Google Cloud, a CLI gcloud, API Logging, Go, Java, Python ou C++.
Console
Para visualizar 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 Batch exibe todos os registros associados o job.
Opcional: para filtrar os registros, siga um destes procedimentos:
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
é um
para registros em lote que contenham
Parâmetros de filtro em lote.
API
Para exibir 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
: um para registros em lote que contenham 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 API Batch Java documentação de referência.
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 registros em lote escrevendo uma consulta
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) do job:
labels.job_uid=JOB_UID
em que
JOB_UID
é o UID do job. Para receber o UID de um job, ver 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 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 o seguinte: comparação:
severityCOMPARISON_OPERATORSEVERITY_ENUM
Substitua:
COMPARISON_OPERATOR
: um operador de comparação: para 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 a 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.