Instrumentar os apps C# para o Error Reporting

É possível enviar relatórios de erros para o Error Reporting a partir do C# aplicativos usando o Conjunto de bibliotecas do Google.Cloud.Diagnostics Use o conjunto de bibliotecas do Google.Cloud.Diagnostics para criar grupos de erros para os seguintes casos:

  • Um bucket de registros que contém suas entradas tem criptografia gerenciada pelo cliente chaves (CMEK).
  • O bucket de registros atende a um dos itens a seguir:
    • O bucket de registro é armazenado no mesmo projeto em que as entradas de registro foram originadas.
    • As entradas de registro foram roteadas para um projeto, que armazenou essas entradas em um bucket de registros próprio.
  • 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

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Error Reporting API .

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Error Reporting API .

    Enable the API

Instale a biblioteca de cliente

O conjunto de bibliotecas do Google.Cloud.Diagnostics permite monitorar e visualizar erros relatados por aplicativos C# executados 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 destinados a versões anteriores do ASP.NET Core, use as Google.Cloud.Diagnostics.AspNetCore biblioteca. 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:

  • Google.Cloud.Diagnostics.AspNetCore3 documentação
  • Google.Cloud.Diagnostics.AspNetCore documentação
  • Documentação do Google.Cloud.Diagnostics.Common (link em inglês)
  • Executar apps no Google Cloud

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

    Alguns serviços do Google Cloud concedem automaticamente Gravador do Error Reporting (roles/errorreporting.writer) ao nível apropriado conta de serviço. Porém, 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.

    O Conjunto de bibliotecas do Google.Cloud.Diagnostics possam ser usadas sem a necessidade de fornecer explicitamente credenciais.

    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 visualizando dados de erros e exceções para seu aplicativo na 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 foi concedeu 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" 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:

    1. 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.

    2. No Console do Google Cloud, acesse a página Instâncias de VM.

      Acessar 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.

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

    4. Clique em Interromper e Editar.

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

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

    7. Clique em Iniciar / retomar.

    Cloud Functions

    As funções do Cloud Run concedem o Papel Gravador do Error Reporting (roles/errorreporting.writer) para a conta de serviço padrão.

    O Conjunto de bibliotecas do Google.Cloud.Diagnostics possam ser usadas sem a necessidade de fornecer explicitamente credenciais.

    As funções do Cloud Run estão configuradas 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 Conjunto de bibliotecas do Google.Cloud.Diagnostics ,

    Exemplo

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

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

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

    Para usar os exemplos .NET desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.

    1. Install the Google Cloud CLI.
    2. To initialize the gcloud CLI, run the following command:

      gcloud init
    3. If you're using a local shell, then create local authentication credentials for your user account:

      gcloud auth application-default login

      You don't need to do this if you're using Cloud Shell.

    Confira mais informações em Set up authentication for a local development environment.

    O projects.events.report método 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. Confira 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 console do Google Cloud, acesse a página Error Reporting:

    Acessar o Error Reporting

    Também é possível encontrar essa página usando a barra de pesquisa.

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