Como configurar o Error Reporting para Ruby

Use a biblioteca do Stackdriver Error Reporting para Ruby para enviar relatórios de erro ao Stackdriver Error Reporting por meio de aplicativos em Ruby.

O Error Reporting é integrado a alguns produtos do Google Cloud Platform, como o App Engine, o Compute Engine e o Google Kubernetes Engine. Por isso, ele exibe os erros que são registrados no Stackdriver Logging por aplicativos executados nesses produtos. Para mais informações, consulte Como executar no Google Cloud Platform.

Também é possível enviar dados de erros para o Error Reporting usando o Stackdriver Logging. Para mais informações sobre requisitos de formatação de dados, consulte Como formatar mensagens de erros no Stackdriver Logging.

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 API Error Reporting.

    Ativar a API

  5. Instale o Ruby 2.2+ ou posterior.

Como instalar a biblioteca de cliente

Com a biblioteca do Stackdriver Error Reporting para Ruby, você pode monitorar e visualizar os erros relatados por aplicativos Ruby que estiverem em execução em praticamente qualquer lugar.

  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á a biblioteca automaticamente no seu aplicativo quando ela for iniciada.

Outros aplicativos baseados em Rack podem usar o middleware do Rack fornecido pela biblioteca:

require "google/cloud/error_reporting"

use Google::Cloud::ErrorReporting::Middleware

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

Como configurar a biblioteca de cliente

É possível personalizar o comportamento da biblioteca do Stackdriver Error Reporting para Ruby. Consulte a configuração da biblioteca para ver uma lista das opções possíveis.

Como relatar erros

Como relatar erros em bibliotecas com base em rack

A biblioteca do Stackdriver Error Reporting para Ruby facilita a integração do Stackdriver Error Reporting às bibliotecas mais usadas da Web que usam essa linguagem e que têm base em rack, como Ruby on Rails e Sinatra. Quando a biblioteca está ativa, ela informa automaticamente as exceções capturadas na pilha de racks do aplicativo.

Como relatar erros manualmente

É possível relatar um erro manualmente chamando o método report, conforme mostra o exemplo a seguir:

require "google/cloud/error_reporting"

begin
  raise "Raise an exception for Error Reporting."
rescue StandardError => exception
  Google::Cloud::ErrorReporting.report exception
end

Como executar no Google Cloud Platform

Para usar a biblioteca do Stackdriver Error Reporting para Ruby, é preciso ter o papel Gravador do Error Reporting do Cloud IAM. A maioria das plataformas de computação do Google Cloud Platform fornece esse papel por padrão.

Ambiente flexível do App Engine

O App Engine concede o papel Gravador do Error Reporting por padrão.

Não é necessário fornecer as credenciais explicitamente para usar a biblioteca do Stackdriver Error Reporting para Ruby.

O Error Reporting é ativado automaticamente para aplicativos do ambiente flexível do App Engine. Nenhuma outra configuração é necessária.

GKE

No GKE, é necessário adicionar o escopo de acesso cloud-platform ao criar o cluster, conforme mostra o comando de exemplo a seguir:

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

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 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. Seja qual for a conta de serviço selecionada, verifique se ela tem o papel Gravador do Error Reporting na seção IAM e administrador do Console do GCP.

Como executar localmente e em outro local

Para usar a biblioteca do Stackdriver Error Reporting para Ruby fora do Google Cloud Platform, é preciso fornecer diretamente nela o código do projeto do GCP e as credenciais adequadas da conta de serviço. Isso se aplica quando a biblioteca é executada na sua própria estação de trabalho, em computadores do data center ou em instâncias de VM de outro provedor de nuvem. Para saber mais, consulte Como receber e fornecer credenciais de conta de serviço manualmente.

Como usar a interface de configuração do Ruby on Rails

Forneça os parâmetros por meio da interface de configuração do Ruby on Rails para usar a biblioteca do Stackdriver Error Reporting para Ruby com a biblioteca do Ruby on Rails:

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

Também é possível definir uma configuração compartilhada para todas as gems do Stackdriver usando o seguinte código:

# 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 Error Reporting é ativado por padrão quando o Rails está em execução no modo de produção. Para habilitar o Error Reporting no modo de desenvolvimento, adicione o seguinte:

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

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

Forneça os parâmetros por meio da interface de configuração para usar a biblioteca do Stackdriver Error Reporting para Ruby em outros aplicativos baseados em rack:

require "google/cloud/error_reporting"

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

Também é possível definir uma configuração compartilhada para todas as gems do Stackdriver usando o seguinte código:

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 relatórios de erros

Após a implantação, veja os relatórios de erros no painel do Error Reporting no Console do GCP.

Acessar o painel do Error Reporting

Para mais informações, consulte Como visualizar erros.

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

Enviar comentários sobre…

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