Com o Error Reporting, é possível agregar falhas e diagnosticar exceções de tempo de execução dos aplicativos do Google Kubernetes Engine. É possível enviar dados de erros transmitindo registros para o Cloud Logging ou chamando a API Error Reporting diretamente. Se você usa o Logging, as entradas de registro precisam seguir os requisitos de formatação.
Usar o Logging para relatar erros
O agente de geração de registros padrão do GKE fornece uma solução gerenciada para implantar e gerenciar os agentes que enviam os registros dos clusters para o Cloud Logging. A estrutura do agente depende da versão do cluster. Para informações sobre esse agente, consulte Gerenciar registros do GKE.
O Error Reporting exige que as exceções ou stack traces estejam contidos
em uma única entrada de registro. A maioria dos agentes de geração de registros consegue reconhecer que
várias linhas de registro (frames de pilha impressos em uma nova linha cada) representam
um stack trace e o enviam ao Cloud Logging como uma única entrada de registro.
Se o agente não conseguir reconstruir várias linhas como um único erro,
use o
endpoint de API projects.events.report,
que permite controlar o conteúdo de um erro.
Usar a API Error Reporting para gravar erros
A API Error Reporting fornece um endpoint report para gravar informações de erro no serviço.
Ative a API Error Reporting, se ela ainda não estiver ativada.
Funções necessárias para ativar APIs
Para ativar APIs, você precisa da permissão
serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão com o papel de Proprietário (roles/owner). Caso contrário, é possível receber essa permissão com o papel de Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.Informe erros na API usando a API REST ou uma biblioteca de cliente.
Amostras
ASP.NET
O pacote NuGet do ASP.NET informa exceções não capturadas de aplicativos da Web ASP.NET ao Error Reporting.
Instalar o pacote NuGet
Para instalar o pacote NuGet para ASP.NET do Stackdriver no Visual Studio:
- Clique com o botão direito do mouse em sua solução e selecione Gerenciar pacotes NuGet para solução.
- Marque a caixa de seleção Incluir pré-lançamento.
- Pesquise e instale o pacote
Google.Cloud.Diagnostics.AspNet.
Uso
Depois de instalar o pacote NuGet do Stackdriver ASP.NET, adicione a instrução a seguir ao código do aplicativo para começar a enviar erros ao Stackdriver:
using Google.Cloud.Diagnostics.AspNet;
Adicione o seguinte código HttpConfiguration ao método Register do seu
app da Web .NET depois de substituir your-project-id pelo seu ID do projeto
para ativar a geração de relatórios de exceções:
Depois de adicionar esse método ao aplicativo ASP.NET, você pode conferir as exceções não capturadas que ocorrem à medida que são informadas ao Google Cloud na seção Error Reporting do console Google Cloud .
C#
O exemplo a seguir pode ser encontrado no repositório GoogleCloudPlatform/dotnet-docs-samples. Para usar, depois de criar o projeto, especifique o ID do projeto:
C:\...\bin\Debug> set GOOGLE_PROJECT_ID=[YOUR_PROJECT_ID]
Substitua [YOUR_PROJECT_ID] pelo valor correto do consoleGoogle Cloud .
Em seguida, envie os dados da exceção com um código semelhante a este:
Go
Java
Node.js
Ruby
Python
PHP
Ver grupos de erros
No console Google Cloud , acesse a página Error Reporting:
Também é possível encontrar essa página usando a barra de pesquisa.