Instrumentar os aplicativos em C# para o Error Reporting

É possível enviar relatórios de erros ao Error Reporting a partir de aplicativos em C# usando o conjunto de bibliotecas Google.Cloud.Diagnostics . Use o conjunto de bibliotecas Google.Cloud.Diagnostics para criar grupos de erros para os 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 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 Como 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

  1. 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.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. Ative a Error Reporting API .

    Ative a API

  5. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  6. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  7. Ative a Error Reporting API .

    Ative a API

Instale a biblioteca de cliente

Com o conjunto de bibliotecas Google.Cloud.Diagnostics, é possível monitorar e visualizar os erros relatados por aplicativos em C# em execução em praticamente qualquer lugar.

  1. Para aplicativos direcionados ao ASP.NET Core 3 ou posterior, use a biblioteca Google.Cloud.Diagnostics.AspNetCore3. Você pode instalar essa biblioteca em NuGet.
  2. Para aplicativos voltados a versões anteriores do ASP.NET Core, use a biblioteca Google.Cloud.Diagnostics.AspNetCore. Você pode instalar essa biblioteca em NuGet.
  3. Para aplicativos direcionados a frameworks não ASP.NET Core, use a biblioteca Google.Cloud.Diagnostics.Common. Você pode instalar essa biblioteca em NuGet.

Para mais informações sobre a instalação, leia a documentação do conjunto de bibliotecas do Google.Cloud.Diagnostics. Além disso, use o rastreador de problemas (em inglês) para informá-los.

Configurar a biblioteca de cliente

Para mais informações e exemplos, consulte os seguintes recursos:

  • Documentação de Google.Cloud.Diagnostics.AspNetCore3
  • Documentação de Google.Cloud.Diagnostics.AspNetCore
  • Documentação de Google.Cloud.Diagnostics.Common
  • Executar apps no Google Cloud

    Para criar grupos de erros usando projects.events.report, sua conta de serviço exige o papel de Gravador do Error Reporting (roles/errorreporting.writer).

    Alguns serviços do Google Cloud concedem automaticamente o papel Gravador do Error Reporting (roles/errorreporting.writer) à conta de serviço apropriada. No entanto, você precisa conceder esse papel à conta de serviço apropriada para alguns serviços.

    Ambiente flexível do App Engine

    O App Engine concede o papel Gravador do Error Reporting (roles/errorreporting.writer) à sua conta de serviço padrão automaticamente.

    O conjunto de bibliotecas do Google.Cloud.Diagnostics pode ser usado 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. Mensagens escritas do App Engine para stderr são analisadas e, se houver um stack trace, serão exibidas pelo Error Reporting.

    Consulte Como visualizar erros para mais instruções sobre como visualizar dados de erros e exceções do seu aplicativo no Console do Google Cloud.

    Google Kubernetes Engine

    Para usar o Error Reporting com o Google Kubernetes Engine, faça o seguinte:

    1. Verifique se a conta de serviço a ser usada pelo contêiner recebeu o papel Gravador do Error Reporting (roles/errorreporting.writer).

      É possível usar 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.

    2. Crie o cluster e conceda a ele o escopo de acesso cloud-platform.

      Por exemplo, o comando "create" a seguir especifica o escopo de acesso cloud-platform e uma conta de serviço:

      gcloud container clusters create CLUSTER_NAME --service-account  SERVICE_ACCT_NAME --scopes=cloud-platform
      

    Google Compute Engine

    Para usar o Error Reporting com instâncias de VM do Compute Engine, faça o seguinte:

    1. Verifique se a conta de serviço a ser usada pela instância de VM recebeu o papel Gravador do Error Reporting (roles/errorreporting.writer).

      É possível usar 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.

    2. No painel de navegação do console do Google Cloud, selecione Compute Engine e, depois, Instâncias de VM:

      Acessar Instâncias de VM

    3. Selecione a instância de VM em que você quer receber o escopo de acesso cloud-platform.

    4. Clique em Parar e em Editar.

    5. Na seção Identidade e acesso à API, selecione uma conta de serviço que tenha o papel Gravador do Error Reporting (roles/errorreporting.writer).

    6. Na seção Escopos de acesso, selecione Permitir acesso total a todas as APIs do Cloud e salve as alterações.

    7. Clique em Iniciar / continuar.

    Exemplo

    Para mais informações e exemplos, consulte os seguintes recursos:

  • Documentação de Google.Cloud.Diagnostics.AspNetCore3
  • Documentação de Google.Cloud.Diagnostics.AspNetCore
  • Documentação de Google.Cloud.Diagnostics.Common
  • Executar apps em um ambiente de desenvolvimento local

    Para usar o conjunto de bibliotecas Google.Cloud.Diagnostics em um ambiente de desenvolvimento local, como a execução da biblioteca na sua própria estação de trabalho, é preciso fornecer as credenciais padrão do aplicativo local ao seu conjunto de bibliotecas do Google.Cloud.Diagnostics. Para mais informações, consulte Autenticar no Error Reporting.

    Para usar as amostras de .NET 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.

    1. Instale a CLI do Google Cloud.
    2. Para inicializar a CLI gcloud, execute o seguinte comando:

      gcloud init
    3. Crie as credenciais de autenticação para sua Conta do Google:

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

    No painel de navegação do console do Google Cloud, selecione Error Reporting e escolha seu projeto do Google Cloud:

    Acessar o Error Reporting

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