Neste documento, descrevemos como ativar, gerar e visualizar registros do Cloud Logging para um job do Batch.
Use os registros para receber informações úteis para analisar os jobs. Por exemplo, os registros podem ajudar a depurar jobs com falha.
Os registros só são gerados após o início da execução de um job e somente se a geração de registros tiver sido ativada para o job. Se você precisar analisar um job sem registros, consulte os eventos de status.
Antes de começar
- Se você nunca usou o Batch, leia Primeiros passos com o Batch e ative-o concluindo os 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, faça o seguinte:
-
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 acessar os registros:
Visualizador de registros (
roles/logging.viewer
) no projeto
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
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, faça o seguinte:
Como ativar a geração de registros de um job
Para permitir que os registros de um job sejam gerados, 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 estarão 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 para 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 para atividades do agente de serviço do Batch.O Batch grava automaticamente registros do agente para cada job que ativou a geração de registros.
registros de tarefas (
batch_task_logs
): registros de todos os dados que você configurou os executáveis de um job para gravar no stream de saída padrão (stdout
) ou no stream de erro padrão (stderr
).É possível gravar registros de tarefas para cada job que ativou a geração de registros.
Ver registros de um job
É possível ver os registros de um job usando o console do Google Cloud, a CLI gcloud, a 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 ao 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 na Análise de registros usando os Parâmetros de filtro em lote.
Ver na Análise de registros para
gcloud
Para ver registros usando a CLI gcloud, use o
comando gcloud logging read
:
gcloud logging read "QUERY"
em que QUERY
é uma
consulta para registros em lote que contêm
parâmetros de filtro em lote.
API
Para visualizar 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 (link em inglês).QUERY
: uma consulta para registros do Batch que contém parâmetros de filtro em lote.
Go
Go
Para mais informações, consulte a documentação de referência da API Go em lote.
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 Java em lote.
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 Python em lote.
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 C++ em lote.
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 registros de um job específico, especifique o ID exclusivo do job (UID):
labels.job_uid=JOB_UID
em que
JOB_UID
é o UID do job. Para receber o UID de um job, visualize os detalhes dele.Para filtrar um tipo específico de registros do Batch, especifique o tipo de registro:
logName=projects/PROJECT_ID/logs/BATCH_LOG_TYPE
Substitua:
PROJECT_ID
: o ID do projeto de que você quer ver os registros.BATCH_LOG_TYPE
: o tipo de registros do Batch que você quer visualizar,batch_task_logs
para registros de tarefas oubatch_agent_logs
para 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_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 a solução de problemas.
- Saiba mais sobre o Cloud Logging.
- Saiba como gravar registros de tarefas.
- Saiba como excluir e exportar jobs.