Mit Error Reporting können Sie Probleme in Ihren Cloud-Diensten identifizieren, priorisieren und beheben, indem Sie Anwendungsfehlerereignisse nach ihrer Ursache zusammenfassen. Ein Fehlerereignis stellt einen einzelnen Anwendungsfehler dar und erfasst dessen Zeitstempel, Ausführungskontext und Meldung. Error Reporting erfasst Ereignisse direkt über die Error Reporting API oder leitet sie ab, indem Logeinträge nach Stacktraces und häufigen Fehlermustern durchsucht werden.
Zur Leistungsoptimierung werden in Error Reporting bis zu 1.000 Fehler pro Stunde erfasst. Wenn dieser Grenzwert erreicht wird, werden die Anzahl geschätzt. Wenn das Ereignisvolumen die Kapazität überschreitet, werden in Error Reporting bis zu 100 Fehler pro Stunde erfasst und die angezeigten Werte werden weiterhin extrapoliert.
Wann werden Logeinträge von Error Reporting analysiert?
Error Reporting ist ein globaler Dienst, der auf Cloud Logging basiert. Logeinträge können analysiert werden, wenn alle der folgenden Bedingungen erfüllt sind:
- Assured Workloads ist deaktiviert. Weitere Informationen finden Sie unter Übersicht über Assured Workloads.
- Kundenverwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) sind für alle Log-Buckets deaktiviert, in denen der Logeintrag gespeichert wird. Error Reporting kann keine Logeinträge in Log-Buckets mit aktiviertem CMEK speichern. Informationen dazu, wie Sie die CMEK-Konfiguration für einen Log-Bucket ermitteln, finden Sie unter Schlüsselaktivierung prüfen.
- Der Log-Bucket erfüllt eine der folgenden Bedingungen:
- Der Log-Bucket wird im selben Projekt gespeichert, aus dem die Logeinträge stammen.
- Die Logeinträge wurden an ein Projekt weitergeleitet und dieses Projekt hat die Logeinträge dann in einem eigenen Log-Bucket gespeichert.
Gruppierung von Fehlerereignissen
Wenn Error Reporting Logeinträge auswertet, um Fehlerereignisse zu identifizieren, werden die folgenden Daten ignoriert:
- Logeinträge, die von der App Engine-Standardumgebung geschrieben wurden und deren Schweregrad niedriger als
ERRORist. - Stapelframes, die nicht dem Nutzer gehören, z. B. solche, die zu öffentlichen Bibliotheken gehören.
Wenn ein Logeintrag gescannt wird, nimmt Error Reporting die folgenden Änderungen vor, bevor Fehlerereignisse abgeleitet werden:
- Ersetzt jede sich wiederholende Sequenz von einem oder mehreren Stapelframes durch ein einzelnes Vorkommen dieser Sequenz.
- Entfernt vom Compiler eingeführte Methoden und Symbole.
Error Reporting wendet diese Regeln in der angegebenen Reihenfolge an, um Fehlerereignisse zu gruppieren:
| Ereignis vom Typ „Fehler“ | Gruppiert nach |
|---|---|
| Fehlerereignisse, die durch ein allgemeines Problem in der Umgebung verursacht werden.
Beispiele für App Engine-spezifische Probleme: com.google.apphosting.runtime.HardDeadlineExceededError com.google.appengine.api.datastore.DatastoreTimeoutException Java-Probleme: java.util.concurrent.CancellationException |
Gruppiert nach Ausnahmetyp |
| Fehlerereignisse mit einem Stacktrace: Bei verschachtelten Ausnahmen wird die innerste Ausnahme berücksichtigt.
Beispiel: runtime error: index out of range
package1.func1()
file1:20
package2.func2()
file2:33 |
Nach Ausnahmetyp und den fünf obersten Frames gruppiert. |
| Fehlerereignisse ohne Stacktrace, aber mit einer Meldung:
Beispiel: runtime error: index out of range
func1()In diesem Beispiel werden die folgenden Tokens berücksichtigt:
|
Gruppiert nach Meldung und Funktionsname (falls vorhanden). Es werden nur die ersten drei Literal-Tokens der Nachricht berücksichtigt. |
Regionalität der Daten
Wenn Sie Assured Workloads für den Datenstandort oder Impact Level 4 (IL4) einrichten, wird Error Reporting in Google Cloud automatisch deaktiviert.
In Cloud Logging können Sie Ihre Logs regionalisieren, indem Sie sie an einen bestimmten Standort weiterleiten. Auf der Seite Fehlergruppen werden Fehlergruppen in Error Reporting anhand der Region des Log-Buckets, der die Logeinträge enthält, organisiert und angezeigt. Eine Fehlergruppe, die unter us-central1 aufgeführt ist, enthält beispielsweise nur Fehlerlogs, die zu einem Log-Bucket in us-central1 gehören. Globale Fehlergruppen enthalten nur Fehlerlogs, die zu einem Log-Bucket in der Region global gehören.
Wenn Sie die Region der auf der Seite Fehlergruppen angezeigten Fehlergruppen filtern möchten, wählen Sie einen Wert aus dem Menü Region aus. Der Standardwert dieses Menüs ist global.
