Présentation d'Error Reporting

Error Reporting rassemble les erreurs générées dans votre cloud en cours d'exécution services. Ces erreurs sont signalées par le service API Error Reporting ou sont inférées comme des erreurs lorsque Error Reporting inspecte les entrées de journal pour rechercher les modèles de texte tels que les traces de pile. Error Reporting regroupe les erreurs pouvant découler de la même cause.

Error Reporting s'active automatiquement.

Error Reporting relève jusqu'à 1 000 erreurs par heure. Lorsque cette limite est atteinte, les comptes affichés sont estimés. Si trop d'événements sont Error Reporting reçoit jusqu'à 100 erreurs par heure et continuez à extrapoler les décomptes.

Quand Error Reporting analyse les entrées de journal

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 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 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 projet 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.
Si vous stockez vos entrées de journal dans des buckets de journaux avec CMEK activé, vous pouvez toujours utiliser Error Reporting. Toutefois, vous devez utiliser les bibliothèques clientes Error Reporting ou l'API Error Reporting. Pour en savoir plus, consultez les Présentation de l'API Error Reporting Client Error Reporting bibliothèques.

Regroupement des erreurs

Lorsque Error Reporting évalue les entrées de journal, il ignore les entrées de journal qui répondent aux conditions suivantes :

  • Dans l'environnement standard App Engine, les erreurs ayant un niveau de gravité inférieur à ERROR sont ignorées.
  • Les blocs de pile qui n'appartiennent pas à l'utilisateur sont ignorés (ceux qui appartiennent à des bibliothèques publiques, par exemple).
  • Les séquences répétées d'un ou plusieurs blocs de pile sont remplacées par une seule occurrence de ces séquences.
  • Les méthodes et les symboles ajoutés par un compilateur sont supprimés.

Ensuite, Error Reporting suit les règles suivantes pour regrouper les erreurs :

  • Les exceptions sont regroupées si elles partagent le même type d'exception et présentent des piles similaires.
  • La trace de la pile est ignorée pour les exceptions qui ne sont généralement pas liées à l'emplacement source où elles se produisent.
  • Les erreurs sans pile d'exception sont regroupées si elles ont été créées par la même entrée de journal, d'après l'emplacement source depuis lequel elles ont été signalées (reportLocation).

Plus précisément, les règles de regroupement suivantes sont appliquées dans l'ordre indiqué ci-dessous :

Type d'erreur Critère de regroupement
Erreurs causées par un problème général dans l'environnement.

Par exemple, des problèmes spécifiques à App Engine :

com.google.apphosting.runtime.HardDeadlineExceededError
com.google.appengine.api.datastore.DatastoreTimeoutException

Problèmes Java :

java.util.concurrent.CancellationException
Regroupement par type d'exception.
Erreurs avec une trace de la pile. Dans le cas d'exceptions imbriquées, l'exception la plus profonde est prise en compte.

Exemple :

runtime error: index out of range
package1.func1()
      file1:20
package2.func2()
      file2:33
Regroupement par type d'exception et avec les cinq cadres les plus apparents.
Erreurs sans trace de la pile, mais avec un message.

Exemple :

runtime error: index out of range
    func1()
Regroupement par message et par nom de fonction, le cas échéant. Seuls les trois premiers jetons littéraux du message sont pris en compte. Dans l'exemple de gauche, il s'agit de runtime, error et index.

Régionalité des données

Si vous configurez Assured Workloads pour la résidence des données ou l'impact de niveau 4 (IL4) exigences, Google Cloud désactive automatiquement Error Reporting.

Dans Cloud Logging, vous pouvez regionaliser vos journaux en les acheminant vers un emplacement spécifique. Sur la page Groupes d'erreurs, Error Reporting organise et affiche les groupes d'erreurs en fonction des du bucket de journaux contenant les entrées de journal. Error Reporting étant un service global, les groupes d'erreurs sont accessibles depuis n'importe quelle région. Ce comportement n'est pas configurable.

Étape suivante