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

Ce document liste les environnements compatibles avec Error Reporting et fournit des liens vers des guides spécifiques aux langues pour les développeurs d'applications. Nous vous recommandons d'utiliser les bibliothèques clientes spécifiques au langage ou de vous appuyer sur les entrées de journal collectées automatiquement. Toutefois, vous pouvez écrire des données d'erreur avec l'API Cloud Logging ou l'API Error Reporting. Par exemple, si vous utilisez Cloud Run, les exceptions écrites dans stderr sont automatiquement envoyées à Cloud Logging.

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

  • Les charges de travail Assured Workloads sont désactivées. Pour en savoir plus, consultez la page 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. Pour savoir comment déterminer la configuration CMEK d'un bucket de journaux, consultez la section 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 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.
Si vous stockez vos entrées de journal dans des buckets de journaux avec CMEK activé, vous pouvez toujours utiliser le Error Reporting. Toutefois, vous devez utiliser les bibliothèques clientes Error Reporting ou l'API Error Reporting. Pour en savoir plus, consultez la présentation de l'API Error Reporting et les bibliothèques clientes Error Reporting.

Compatibilité avec le cloud privé virtuel

Le service de Error Reporting est compatible avec le cloud privé virtuel (VPC).

Pour réduire le risque d'exfiltration de données, utilisez VPC Service Controls pour 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 paramètre de service, consultez la documentation de VPC Service Controls.

Configurer les 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 pour qu'elle envoie des rapports d'erreur, consultez les guides de configuration spécifiques au langage:

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

Vous pouvez signaler des événements associés à des erreurs à votre projet Google Cloud en exécutant la méthode de l'API Error Reporting report ou la méthode de l'API Cloud 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 formatés sont automatiquement générées et écrites dans Cloud Logging. Ces entrées de journal sont écrites dans un journal dont le logName est mis en forme 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 Cloud Logging peuvent s'appliquer. Pour contrôler les entrées de journal qui sont ingérées, consultez la section Filtres d'exclusion.

    Si vous signalez des événements d'erreur à l'aide de l'API Error Reporting, le reste de ce document ne s'applique pas.

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