Com o Error Reporting, é possível agregar falhas e diagnosticar exceções de tempo de execução dos aplicativos do Compute 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
Para conectar seus aplicativos do Compute Engine ao Error Reporting, envie exceções ou outros erros ao Logging usando um dos seguintes agentes:
Agente de operações
Para configurar o Error Reporting para usar o Agente de operações, siga estas etapas:
Instale o Agente de operações de acordo com seu ambiente. Para instruções, consulte Como instalar o Agente de operações.
Configure o Agente de operações para coletar os registros do aplicativo e formatá-los corretamente.
Para aplicativos de terceiros compatíveis:o Agente de operações fornece receptores de geração de registros pré-configurados que capturam e analisam automaticamente entradas de registro em formatos estruturados reconhecidos pelo Error Reporting. Para informações sobre os aplicativos de terceiros compatíveis, consulte Monitoramento de aplicativos de terceiros.
Para aplicativos personalizados:configure um receptor de geração de registros para especificar os locais dos arquivos de registro e pareie com um dos seguintes processadores:
- Use um processador
parse_multilinese o app gravar rastreamentos de pilha de texto simples em várias linhas. - Use um processador
parse_jsonse o app gravar registros como strings JSON.
Para instruções detalhadas, consulte Configurar o Agente de operações.
- Use um processador
Se o aplicativo não gerar rastreamentos de pilha padrão, modifique-o para registrar exceções e rastreamentos de pilha no Cloud Logging.
É preciso incluir todas as informações de um único erro ou exceção na mesma entrada de registro, incluindo todos os frames de qualquer stack trace. Se todas as informações não estiverem juntas, o Error Reporting poderá não detectar o erro. É possível usar o formato JSON estruturado nos seus payloads de entrada de registro para incluir diferentes tipos de informações de cada erro.
Agente legado do Logging
Para configurar o Error Reporting para usar o agente do Logging legado, siga estas etapas:
- Instale o agente do Logging
google-fluentdno estado em que se encontra, conforme apropriado para seu ambiente. Para instruções, consulte Como instalar o agente do Logging. Modifique o aplicativo para que ele registre exceções e respectivos rastreamentos de pilha no Logging.
Inclua todas as informações de um único erro ou exceção na mesma entrada de registro, incluindo todos os frames de qualquer stack trace. Se todas as informações não estiverem juntas, o Error Reporting poderá não detectar o erro. É possível usar o formato JSON estruturado nos seus payloads de entrada de registro para incluir diferentes tipos de informações de cada erro.
Java
Adicione a instrução a seguir ao seu arquivo pom.xml:
Depois, use o código como o demonstrado a seguir para enviar os dados da exceção:
Python
Primeiro, instale a biblioteca fluent-logger-python (em inglês):
sudo pip install fluent-logger
Depois, use o código como o demonstrado a seguir para enviar os dados da exceção:
Node.js
Primeiro, instale a biblioteca fluent-logger-node (em inglês):
npm install fluent-logger
Depois, use o código como o demonstrado a seguir para enviar os dados da exceção:
Go
Primeiro, instale o pacote fluent-logger-golang (em inglês):
go get github.com/fluent/fluent-logger-golang/
Depois, use o código como o demonstrado a seguir para enviar dados do 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.