É possível enviar relatórios de erros para o Error Reporting a partir de aplicativos Ruby usando a biblioteca do Error Reporting para Ruby (em inglês). Use a biblioteca do Error Reporting para Ruby para criar grupos de erros nos seguintes casos:
- Seu bucket de registros tem chaves de criptografia gerenciadas pelo cliente (CMEK).
- Seus buckets de registros não estão na região
global
. - Você quer informar eventos de erro personalizados.
O Error Reporting é integrado a alguns serviços do Google Cloud, como Cloud Functions, App Engine, Compute Engine e Google Kubernetes Engine. Essa ferramenta exibe os erros registrados no Cloud Logging por aplicativos em execução nesses serviços. Para mais informações, acesse Executar no Google Cloud nesta página.
Também é possível enviar dados de erros para o Error Reporting usando o Logging. Para mais informações sobre os requisitos de formatação de dados, leia Como formatar mensagens de erro no Logging (em inglês).
Antes de começar
- Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Ative a Error Reporting API .
-
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Ative a Error Reporting API .
- Instale o Ruby 2.2+ ou superior.
Instale a biblioteca de cliente
A biblioteca do Error Reporting para Ruby permite monitorar e visualizar os erros relatados por Aplicativos Ruby em execução em praticamente qualquer lugar.
-
Adicione a gema
google-cloud-error_reporting
ao Gemfile:gem "google-cloud-error_reporting"
-
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:
Para mais informações sobre a instalação, leia a documentação da biblioteca do Error Reporting para Ruby (em inglês). Além disso, use o rastreador de problemas (em inglês) para informá-los.
Configurar a biblioteca de cliente
É possível personalizar o comportamento da biblioteca do Error Reporting para Ruby. Consulte a configuração da biblioteca para ver uma lista das opções possíveis.
Executar apps no Google Cloud
Para criar grupos de erros usando
projects.events.report
, sua conta de serviço exige o
Papel Gravador do Error Reporting (roles/errorreporting.writer
).
Alguns serviços do Google Cloud concedem automaticamente
Gravador do Error Reporting (roles/errorreporting.writer
) ao papel
conta de serviço. No entanto, você precisa conceder esse papel ao serviço apropriado
para alguns serviços.
Ambiente flexível do App Engine
O App Engine concede a
Papel Gravador do Error Reporting (roles/errorreporting.writer
)
para a conta de serviço padrão.
A biblioteca do Error Reporting para Ruby pode ser usada sem a necessidade de fornecer credenciais explicitamente.
O Error Reporting é ativado automaticamente para aplicativos do ambiente flexível do App Engine. Nenhuma outra configuração é necessária.Google Kubernetes Engine
Para usar o Error Reporting com o Google Kubernetes Engine, faça o seguinte:
Verifique se a conta de serviço a ser usada pelo contêiner foi concedeu o Papel Gravador do Error Reporting (
roles/errorreporting.writer
).Use a conta de serviço padrão do Compute Engine ou uma conta de serviço personalizada.
Para informações sobre como conceder papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Crie o cluster e conceda a ele o escopo de acesso
cloud-platform
.Por exemplo, o comando "create" abaixo especifica a propriedade
cloud-platform
. escopo de acesso e uma conta de serviço:gcloud container clusters create CLUSTER_NAME --service-account SERVICE_ACCT_NAME --scopes=cloud-platform
Compute Engine
Para usar o Error Reporting com instâncias de VM do Compute Engine, faça o seguinte:
Verifique se a conta de serviço a ser usada pela instância de VM foi concedeu o Papel Gravador do Error Reporting (
roles/errorreporting.writer
).Use a conta de serviço padrão do Compute Engine ou uma conta de serviço personalizada.
Para informações sobre como conceder papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
-
No Console do Google Cloud, acesse a página Instâncias de VM.
Se você usar a barra de pesquisa para encontrar a página, selecione o resultado com o subtítulo Compute Engine.
Selecione a instância de VM em que você quer receber os escopo de acesso
cloud-platform
.Clique em Interromper e Editar.
Na seção Identidade e acesso à API, selecione uma conta de serviço que tem o papel Gravador do Error Reporting (
roles/errorreporting.writer
).Na seção Escopos de acesso, faça o seguinte: Selecione Permitir acesso completo a todas as APIs do Cloud e salve as alterações.
Clique em Iniciar / retomar.
Cloud Functions
O Cloud Functions concede a
Papel Gravador do Error Reporting (roles/errorreporting.writer
)
para a conta de serviço padrão.
A biblioteca do Error Reporting para Ruby pode ser usada sem a necessidade de fornecer credenciais explicitamente.
O Cloud Functions está configurado para usar o Error Reporting automaticamente. Não tratado As exceções do JavaScript aparecem no Logging e são processadas pelo o Error Reporting sem usar o Biblioteca do Error Reporting para Ruby.
Como usar a interface de configuração do Ruby on Rails
Para usar a biblioteca do Error Reporting para Ruby com o framework Ruby on Rails, forneça os parâmetros por meio da interface de configuração do Ruby on Rails:
Também é possível definir uma configuração compartilhada para todas as gems do Stackdriver usando o seguinte código:
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:
Como usar a interface de configuração de instrumentação
Para usar a biblioteca do Error Reporting para Ruby em outros aplicativos baseados em Rack, forneça os parâmetros por meio da interface de configuração:
Também é possível definir uma configuração compartilhada para todos os gems de observabilidade do Google Cloud usando o seguinte:
Exemplo
Como relatar erros em bibliotecas com base em rack
A biblioteca do Error Reporting para Ruby facilita a integração do Error Reporting aos frameworks da Web de Ruby baseados em Rack mais conhecidos, 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étodoreport
, conforme visto no exemplo a seguir:
Executar apps em um ambiente de desenvolvimento local
Para usar a biblioteca do Error Reporting para Ruby em um ambiente de desenvolvimento local, como a execução da biblioteca na sua própria estação de trabalho, você precisa fornecer a biblioteca do Error Reporting para Ruby com as credenciais padrão do aplicativo local. Para mais informações, consulte Autenticar no Error Reporting.
Para usar as amostras de Ruby nesta página de um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure o Application Default Credentials com as credenciais de usuário.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create local authentication credentials for your user account:
gcloud auth application-default login
Veja mais informações em: Configurar a autenticação para um ambiente de desenvolvimento local.
O
método projects.events.report
também
aceita chaves de API.
Se você quiser usar chaves de API na autenticação, não será necessário
configurar um arquivo local do Application Default Credentials.
Veja mais informações em
Crie uma chave de API
na documentação de autenticação do Google Cloud.
Como usar a interface de configuração do Ruby on Rails
Para usar a biblioteca do Error Reporting para Ruby com o framework Ruby on Rails, forneça os parâmetros por meio da interface de configuração do Ruby on Rails:
Também é possível definir uma configuração compartilhada para todas as gems do Stackdriver usando o seguinte código:
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:
Como usar a interface de configuração de instrumentação
Para usar a biblioteca do Error Reporting para Ruby em outros aplicativos baseados em Rack, forneça os parâmetros por meio da interface de configuração:
Também é possível definir uma configuração compartilhada para todos os gems de observabilidade do Google Cloud usando o seguinte:
Como visualizar relatórios de erros
No console do Google Cloud, acesse a página Error Reporting:
Também é possível encontrar essa página usando a barra de pesquisa.
Para mais informações, consulte Como visualizar erros.