Como configurar o Cloud Logging para Python

É possível gravar registros no Logging de aplicativos em Python usando o gerenciador de geração de registros do Python incluído na biblioteca de cliente do Logging ou usando diretamente a biblioteca de cliente da API Cloud Logging do Cloud para Python.

Antes de começar

  1. Faça login na sua conta do Google.

    Se você ainda não tiver uma, inscreva-se.

  2. No Console do Cloud, na página do seletor de projetos, selecione ou crie um projeto do Cloud.

    Acessar a página do seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud. Saiba como confirmar se a cobrança está ativada para o seu projeto.

  4. Ative a Cloud Logging API.

    Ative a API

  5. Prepare o ambiente para o desenvolvimento do Python.

    Acessar o guia de configuração do Python

Como instalar a biblioteca

Para instalar a biblioteca do Cloud Logging para Python, consulte Como instalar a biblioteca de cliente.

Depois de instalada, a biblioteca inclui gerenciadores de geração de registros para conectar o módulo de geração de registros padrão do Python ao Logging, bem como uma biblioteca de cliente da API para acessar o Cloud Logging manualmente.

Como conectar a biblioteca à geração de registros do Python

Use o método auxiliar setup_logging para enviar todas as entradas de registro para o Cloud Logging anexando o gerenciador do Cloud Logging ao logger de raiz do Python:

# Imports the Cloud Logging client library
import google.cloud.logging

# Instantiates a client
client = google.cloud.logging.Client()

# Retrieves a Cloud Logging handler based on the environment
# you're running in and integrates the handler with the
# Python logging module. By default this captures all logs
# at INFO level and higher
client.get_default_handler()
client.setup_logging()

Como usar o registrador de raiz do Python

Depois que o gerenciador for anexado, os registros no nível INFO ou superior que são emitidos no seu aplicativo serão enviados, por padrão, para o Logging:

# Imports Python standard library logging
import logging

# The data to log
text = 'Hello, world!'

# Emits the data using the standard logging module
logging.warning(text)

Se as mensagens forem registradas no Logging do App Engine ou do Google Kubernetes Engine, o gerenciador as enviará aos respectivos tipos de recurso desses ambientes. Caso contrário, os registros serão exibidos por padrão no registro python no tipo de recurso Global.

Como configurar o gerenciador da geração de registros

Para anexar o gerenciador de geração de registros do Cloud Logging somente aos loggers selecionados do Python, ou para configurar esse gerenciador, acesse a documentação da biblioteca da API (em inglês).

Para mais informações sobre a instalação, consulte a documentação da biblioteca do Cloud Logging para Python (em inglês). Além disso, use o rastreador de problemas (em inglês) para informá-los.

Como usar a biblioteca de cliente do Cloud diretamente

Para informações sobre como usar diretamente a biblioteca de cliente do Cloud Logging para Python, consulte Bibliotecas de cliente do Cloud Logging.

Como executar no Google Cloud

O uso da biblioteca do Cloud Logging para Python exige o papel de gravador de registros do IAM no Google Cloud. A maioria dos ambientes do Google Cloud fornece esse papel por padrão.

App Engine

O App Engine concede o papel de gravador de registros por padrão.

A biblioteca do Cloud Logging para Python pode ser usada sem a necessidade de fornecer credenciais explicitamente.

O Cloud Logging é ativado automaticamente para aplicativos do App Engine. Nenhuma outra configuração é necessária.

Google Kubernetes Engine

No Google Kubernetes Engine, você precisa adicionar o escopo de acesso logging.write ao criar o cluster:

gcloud container clusters create example-cluster-name --scopes https://www.googleapis.com/auth/logging.write

Compute Engine

Ao usar instâncias de VM do Compute Engine, adicione o escopo de acesso cloud-platform a cada instância. Ao criar uma nova instância por meio do Console do Google Cloud, é possível adicionar o escopo na seção Identidade e acesso à API do painel Criar instância. Use a conta de serviço padrão do Compute Engine ou outra de sua escolha e selecione Permitir acesso completo a todas as APIs do Cloud na seção Identidade e acesso à API. Independentemente da conta de serviço selecionada, verifique se ela recebeu o papel de gravador de registros na seção IAM e administrador do Console do Cloud.

Execução local e em outro lugar

Para usar a biblioteca do Cloud Logging para Python fora do Google Cloud, incluindo a execução da biblioteca na sua própria estação de trabalho, nos computadores do seu data center ou nas instâncias de VM de outro provedor de nuvem, forneça o ID do projeto do Google Cloud e as credenciais apropriadas da conta de serviço diretamente para a biblioteca do Cloud Logging para Python.

É possível criar e receber credenciais da conta de serviço manualmente. Ao especificar o campo Papel, use o papel de gravador de registros. Para mais informações sobre os papéis de gerenciamento de identidade e acesso, consulte o Guia de controle de acesso.

Como visualizar os registros

Após a implantação, é possível usar o visualizador de registros do Console do Cloud.

Acessar o visualizador de registros

No visualizador de registros, é preciso especificar um ou mais recursos, mas a escolha de recursos pode não ser óbvia. Veja a seguir algumas dicas para ajudar você a começar:

  • Se você estiver implantando seu aplicativo no App Engine ou usando as bibliotecas específicas dele, defina seu recurso como Aplicativo do GAE.

  • Se você estiver implantando seu aplicativo no Compute Engine, defina o recurso como Instância da VM do GCE.

  • Se você estiver implantando seu aplicativo no Google Kubernetes Engine, a configuração de geração de registros do cluster determinará o tipo de recurso das entradas de registro. Para uma discussão detalhada sobre o pacote de operações do Google Cloud legado e as soluções do Kubernetes Monitoring do pacote de operações do Google Cloud, e sobre como essas opções afetam o tipo de recurso, consulte Como migrar para o Kubernetes Monitoring do pacote de operações do Google Cloud.

  • Se o aplicativo estiver usando a API Cloud Logging diretamente, o recurso dependerá da API e da configuração. Por exemplo, no seu aplicativo, é possível especificar um recurso ou usar um recurso padrão.

  • Se você não vir registros no visualizador, para ver todas as entradas, alterne para o modo de consulta avançada e use uma consulta vazia.

    1. Para alternar para o modo de consulta avançada, clique no menu (▾) na parte superior do visualizador de registros e selecione Converter para filtro avançado.
    2. Limpe o conteúdo que aparece na caixa de filtro.
    3. Clique em Enviar filtro.

    É possível examinar as entradas individuais para identificar seus recursos.

Para mais informações, consulte Como visualizar registros e Consultas avançadas de registros.