Esta página foi traduzida pela API Cloud Translation.
Switch to English

Como configurar o Cloud Logging para Ruby

É possível gravar registros no Cloud Logging a partir de aplicativos Ruby por meio da biblioteca do Cloud Logging para Ruby ou da biblioteca de cliente do Cloud Logging para Ruby diretamente.

O agente do Cloud Logging não precisa ser instalado para usar a biblioteca do Cloud 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. No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar a página do seletor de projetos

  3. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.

  4. Ative a Cloud Logging API.

    Ative a API

  5. Instale o Ruby 2.2+ ou superior.

Como instalar a biblioteca

Nós oferecemos uma biblioteca do Cloud 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 conjunto de operações do Google Cloud ao seu 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 seu aplicativo quando ela for iniciada, o que definirá o padrão Rails.logger a uma instância do logger do Cloud Logging.

Outros aplicativos baseados em rack podem usar o middleware do rack para substituir o logger em rack pelo logger do Cloud Logging se o framework da Web for compatível com logger em rack:

require "google/cloud/logging"

use Google::Cloud::Logging::Middleware

Como configurar a biblioteca

É possível personalizar o comportamento da biblioteca do Cloud 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 Cloud Logging

Quando a biblioteca do Cloud Logging para Ruby estiver ativada, será possível usar o logger em seu aplicativo:

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

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

Com a biblioteca de cliente do Cloud diretamente

Para informações sobre como usar diretamente a biblioteca de cliente do Cloud Logging para Ruby, consulte Bibliotecas de cliente do Cloud Logging (em inglês).

Como executar no Google Cloud

O uso da biblioteca do Cloud Logging para Ruby requer 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 Ruby 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 Ruby 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 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 papéis de gerenciamento de identidade e acesso, consulte 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 o framework 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

Também é possível definir configurações compartilhadas para todas as gems do conjunto de operações do Google Cloud usando:

# 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

Também é possível definir configurações compartilhadas para todas as gems do conjunto de operações do Google Cloud usando:

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, é possível ver os registros no Explorador de registros.

Acessar o Explorador de registros

No Explorador de registros, é preciso especificar um ou mais recursos, mas a escolha deles 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 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 Explorador de registros, alterne para o modo de consulta avançada e use uma consulta vazia para ver todas as entradas de registro.

    1. Se quiser alternar para o modo de consulta avançada, clique no menu (▾) na parte superior do Explorador 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.