Collecter des données d'erreur à l'aide d'Error Reporting

Vous pouvez envoyer des exceptions d'application et des événements d'erreur à Error Reporting afin qu'il puisse analyser les données d'erreur dans votre projetGoogle Cloud . Selon votre environnement de calcul, votre langage de programmation et vos exigences d'authentification, vous pouvez collecter des données d'erreur de différentes manières :

  • Collecte automatique des journaux : les environnements de calcul compatibles envoient automatiquement les données d'erreur à Cloud Logging pour que Error Reporting les analyse. Par exemple, Cloud Run envoie automatiquement les exceptions écrites dans stderr à Logging.
  • Bibliothèques clientes : vous pouvez instrumenter le code de votre application avec des bibliothèques clientes spécifiques à un langage pour envoyer des rapports d'erreur directement depuis votre application.
  • API REST : vous pouvez appeler l'API Error Reporting ou l'API Cloud Logging pour écrire des événements d'erreur et des traces de pile mis en forme, y compris lorsque vous avez besoin d'une authentification par clé API.

Quand Error Reporting analyse les entrées de journaux

Error Reporting est un service mondial basé sur Cloud Logging. Il peut analyser les entrées de journaux lorsque toutes les conditions suivantes sont remplies :

  • Les charges de travail assurées sont désactivées. Pour en savoir plus, consultez Présentation d'Assured Workloads.
  • Les clés de chiffrement gérées par le client (CMEK) sont désactivées sur tous les buckets de journaux qui stockent l'entrée de journal. Error Reporting ne peut pas stocker les entrées de journaux dans des buckets de journaux pour lesquels CMEK est activé. Pour savoir comment déterminer la configuration CMEK d'un bucket de journaux, consultez Vérifier l'activation des clés.
  • Le bucket de journaux remplit l'une des conditions suivantes :
    • Le bucket de journaux est stocké dans le même projet que celui d'où proviennent les entrées de journal.
    • Les entrées de journal ont été acheminées vers un projet, puis ce projet les a stockées dans un bucket de journaux qui lui appartient.

Compatibilité avec VPC Service Controls

VPC Service Controls est compatible avec Error Reporting.

Pour réduire le risque d'exfiltration de données, utilisez VPC Service Controls afin de créer un périmètre de service autour de vos services gérés par Google. Pour en savoir plus sur VPC Service Controls et sur la création d'un périmètre de service, consultez la documentation de VPC Service Controls.

Configurer des environnements pour signaler automatiquement les données d'erreurs

Pour en savoir plus sur les exigences de configuration spécifiques à l'environnement, consultez les guides suivants :

Instrumenter des applications à l'aide de bibliothèques clientes

Pour savoir comment configurer votre application afin qu'elle envoie des rapports d'erreur, consultez les guides de configuration spécifiques à chaque langage :

Écrire des données d'erreur à l'aide d'une API

Vous pouvez signaler des événements d'erreur à votre projet Google Cloud en exécutant la méthode de l'API Error Reporting report ou la méthode de l'API Logging write.

  • Si vous avez besoin d'une authentification basée sur une clé API, vous devez utiliser l'API Error Reporting. Pour signaler un événement d'erreur à l'aide de l'API Error Reporting, exécutez la méthode report et mettez en forme le corps de la requête de la méthode en tant qu'objet ReportedErrorEvent.

    Lorsque vous utilisez l'API Error Reporting, des entrées de journal avec des messages d'erreur correctement mis en forme sont automatiquement générées et écrites dans Logging. Ces entrées de journal sont écrites dans un journal dont le logName est formaté comme suit :

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

    Étant donné que les entrées de journal sont générées par des appels à report, des coûts d'ingestion Logging peuvent vous être facturés. Pour contrôler les entrées de journal ingérées, consultez Filtres d'exclusion.

  • Si vous souhaitez utiliser l'API Logging, vous devez mettre en forme l'objet LogEntry de sorte qu'il inclue une trace de la pile ou un objet ReportedErrorEvent. Pour en savoir plus sur les exigences de mise en forme, consultez Erreurs de format dans les journaux.