Como configurar o Stackdriver Logging para Ruby

Você pode gravar registros no Stackdriver Logging a partir de aplicativos Ruby por meio da biblioteca do Stackdriver Logging para Ruby ou da biblioteca de cliente do Stackdriver Logging Cloud para Ruby diretamente.

Não é preciso instalar o agente do Stackdriver Logging para usar a biblioteca do Stackdriver Logging para Ruby em uma instância de VM do Compute Engine.

Antes de começar

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

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

  2. Selecione ou crie um projeto do GCP.

    Acessar a página Gerenciar recursos

  3. Verifique se o faturamento foi ativado para o projeto.

    Saiba como ativar o faturamento

  4. Ativar Stackdriver Logging API.

    Ativar a API

  5. Instale o Ruby 2.2+ ou superior.

Como instalar a biblioteca

Nós oferecemos uma biblioteca do Stackdriver Logging para Ruby, que fornece uma implementação logger fácil de usar para bibliotecas Ruby da Web com base em rack:

  1. Adicione a gem do Stackdriver ao Gemfile:

    gem "stackdriver"
  2. Use o Bundler para instalar a gem:

    bundle install
    

Como ativar a biblioteca

Se você estiver usando o Ruby on Rails, o Bundler carregará automaticamente a biblioteca no aplicativo na hora da inicialização. Isso define o Rails.logger padrão para uma instância do logger do Stackdriver Logging.

Outros aplicativos baseados em rack podem usar o middleware do Rack. Assim, será possível substituir o logger do Rack pelo do Stackdriver Logging se a biblioteca da Web for compatível com o logger do Rack:

require "google/cloud/logging"

use Google::Cloud::Logging::Middleware

Como configurar a biblioteca

Você pode personalizar o comportamento da biblioteca do Stackdriver Logging para Ruby. Consulte a configuração da biblioteca para ver uma lista das possíveis opções de configuração.

Como usar o logger do Stackdriver Logging

Depois que a biblioteca do Stackdriver Logging para Ruby estiver ativada, você poderá usar o logger no aplicativo:

logger.info "Hello World!"
logger.error "Oh No!"

Para mais informações sobre a instalação, consulte a documentação da biblioteca do Stackdriver Logging para Ruby. Além disso, para informar sobre problemas, use o rastreador de problemas.

Como usar a biblioteca de cliente do Cloud diretamente

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

Como executar no Google Cloud Platform

O uso da biblioteca do Stackdriver Logging para Ruby exige o papel de gravador de registros do Cloud IAM no GCP. A maioria dos ambientes do GCP oferece esse papel por padrão.

App Engine

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

A biblioteca do Stackdriver Logging para Ruby pode ser usada sem a necessidade de fornecer credenciais de maneira explícita.

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

Google Kubernetes Engine

No Google Kubernetes Engine, adicione 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 Platform, faça isso na seção de 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 total a todas as APIs do Cloud na seção Identidade e acesso à API. Seja qual for a conta de serviço selecionada, verifique se o papel de gravador de registros foi concedido a ela na seção IAM e administrador do Console do GCP.

Como executar localmente e em outro local

Para usar a biblioteca do Stackdriver Logging para Ruby fora do Google Cloud Platform, o que inclui 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, você precisa fornecer o ID do projeto do GCP e as credenciais apropriadas da conta de serviço diretamente à biblioteca do Stackdriver Logging para Ruby.

É 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 do Cloud Identity and Access Management, acesse o Guia de controle de acesso.

*Por meio da interface de configuração do Ruby on Rails:

Forneça os parâmetros por meio da interface de configuração do Ruby on Rails se você estiver usando a biblioteca dele:

# Add this to config/environments/*.rb
Rails.application.configure do |config|
  # Stackdriver Logging specific parameters
  config.google_cloud.logging.project_id = "YOUR-PROJECT-ID"
  config.google_cloud.logging.keyfile    = "/path/to/service-account.json"
end

Você também pode definir o compartilhamento das configurações para todas as gems do Stackdriver. Para isso, use o comando:

# Add this to config/environments/*.rb
Rails.application.configure do |config|
  # Stackdriver Shared parameters
  config.google_cloud.project_id = "YOUR-PROJECT-ID"
  config.google_cloud.keyfile    = "/path/to/service-account.json"
end

O Logging é ativado por padrão quando o Rails está em execução no modo de produção. Para ativar o Logging no modo de desenvolvimento, adicione o seguinte:

# Add this to config/environments/development.rb
Rails.application.configure do |config|
  config.google_cloud.use_logging = true
end

Como usar a interface de configuração de instrumentação:

Forneça os parâmetros por meio da interface de configuração quando eles forem usados em outros aplicativos baseados em Rack:

require "google/cloud/logging"

Google::Cloud.configure do |config|
  # Stackdriver Logging specific parameters
  config.logging.project_id = "YOUR-PROJECT-ID"
  config.logging.keyfile    = "/path/to/service-account.json"
end

Você também pode definir o compartilhamento das configurações para todas as gems do Stackdriver. Para isso, use o comando:

require "stackdriver"

Google::Cloud.configure do |config|
  # Stackdriver Shared parameters
  config.project_id = "YOUR-PROJECT-ID"
  config.keyfile    = "/path/to/service-account.json"
end

Como visualizar os registros

Após a implantação, você pode consultar os registros no visualizador de registros do Console do GCP.

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 de 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 ver uma discussão detalhada sobre as soluções do Stackdriver legado e do Stackdriver Kubernetes Monitoring e como essas opções afetam o tipo de recurso, consulte Como migrar para o Kubernetes Monitoring.

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

  • Se você não vir nenhum registro no Visualizador de registros, para ver todas as entradas de registro, alterne para o modo de filtro avançado e use um filtro vazio.

    1. Para alternar para o modo de filtro avançado, 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 Ver registros e Filtros de registro avançados.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Stackdriver Logging
Precisa de ajuda? Acesse nossa página de suporte.