Coletar dados de erros usando o Error Reporting

Este documento lista os ambientes compatíveis com o Error Reporting e faz referência a guias específicos para cada idioma para desenvolvedores de aplicativos. Recomendamos que você use as bibliotecas de cliente específicas de linguagem ou confie nas entradas de registro coletadas automaticamente. No entanto, é possível gravar dados de erro com a API Cloud Logging ou a API Error Reporting. Por exemplo, se você usar o Cloud Run, as exceções gravadas em stderr serão enviadas automaticamente para o Cloud Logging.

O Error Reporting é um serviço global criado no Cloud Logging e pode analisar entradas de registro quando todas as condições a seguir forem verdadeiras:

  • As cargas de trabalho garantidas estão desativadas. Para mais informações, consulte Visão geral do Assured Workloads.
  • As chaves de criptografia gerenciadas pelo cliente (CMEK) estão desativadas em todos os buckets de registro que armazenam a entrada de registro. Para saber como determinar a configuração da CMEK para um bucket de registros, consulte Verificar a ativação da chave.
  • O bucket de registros atende a uma das seguintes condições:
    • O bucket de registros é armazenado no mesmo projeto em que as entradas de registro foram originadas.
    • As entradas de registro foram roteadas para um projeto, que as armazenou em um bucket de registros.
Se você armazenar as entradas de registro em buckets de registro com o CMEK ativado, ainda poderá usar o Error Reporting. No entanto, é necessário usar as bibliotecas de cliente do Error Reporting ou a API Error Reporting. Para mais informações, consulte a Visão geral da API Error Reporting e as bibliotecas de cliente do Error Reporting.

Suporte à nuvem privada virtual

Error Reporting é um serviço compatível com a nuvem privada virtual (VPC).

Para reduzir o risco de exfiltração de dados, use o VPC Service Controls para criar um perímetro de serviço em torno dos seus serviços gerenciados pelo Google. Para informações sobre o VPC Service Controls e como criar um parâmetro de serviço, consulte a documentação do VPC Service Controls.

Configurar ambientes para informar dados de erros automaticamente

Para informações sobre os requisitos de configuração específicos do ambiente, consulte os seguintes guias:

Usar bibliotecas de cliente para instrumentar apps

Para saber como configurar seu aplicativo para enviar relatórios de erros, consulte os guias de configuração específicos da linguagem:

Gravar dados de erro usando uma API

É possível informar eventos de erro para o projeto do Google Cloud executando o método da API Error Reporting report ou o método da API Cloud Logging write.

  • Se você precisar de autenticação baseada em chave de API, use a API Error Reporting. Para informar um evento de erro usando a API Error Reporting, execute o método report e formate o corpo da solicitação do método como um objeto ReportedErrorEvent.

    Quando você usa a API Error Reporting, as entradas de registro com mensagens de erro formatadas corretamente são geradas e gravadas automaticamente no Cloud Logging. Essas entradas de registro são gravadas em um registro com logName formatado da seguinte maneira:

    projects/PROJECT_ID/clouderrorreporting.googleapis.com%2Freported_errors
    

    Como as entradas de registro são geradas por chamadas para report, você pode incorrer em custos de ingestão do Cloud Logging. Para controlar quais entradas de registro são ingeridas, consulte Filtros de exclusão.

    Se você informar eventos de erro usando a API Error Reporting, o restante deste documento não se aplica.

  • Se você quiser usar a API Cloud Logging, formate o objeto LogEntry para incluir um stack trace ou um objeto ReportedErrorEvent. Para mais informações sobre os requisitos de formatação, consulte Formatar erros nos registros.