Sie haben zwei Möglichkeiten, Fehler von Ihren EC2-Anwendungen an Error Reporting zu senden:
Durch Logging in Cloud Logging: Wenn Sie Cloud Logging bereits verwenden, besteht die einzige zusätzliche Anforderung darin, dass Ihre Logeinträge von Error Reporting erkannt werden müssen. Weitere Informationen zu den Anforderungen an die Fehlerformatierung finden Sie unter Fehler in Cloud Logging formatieren.
Durch Verwendung der Error Reporting API: Ihre Anwendung kann HTTP-Anfragen über die REST API senden oder experimentelle Bibliotheken in mehreren Sprachen verwenden.
Logging zum Melden von Fehlern verwenden
Zum Verbinden Ihrer EC2-Anwendungen mit Error Reporting senden Sie Ihre Ausnahmen oder andere Fehler an Logging. Dazu verwenden Sie einen eigenen Log-Namen, um Ihre Fehler von Ihren anderen Logs zu trennen.
Beispiel:
Aktivieren Sie die Cloud Logging API.
Installieren Sie den für Ihre Umgebung geeigneten Logging-Agent. Eine Anleitung finden Sie unter Logging-Agent installieren
google-fluentd
.Ändern Sie Ihre Anwendung so, dass sie Ausnahmen und deren Stacktraces in Logging protokolliert. Wählen Sie einen eigenen Log-Namen für Ihre Fehlerinformationen, um sie von anderen protokollierten Informationen zu trennen.
Sie müssen alle Informationen zu einem einzelnen Fehler oder einer Ausnahme in denselben Log-Eintrag aufnehmen, einschließlich aller Frames eines Stacktrace. Andernfalls können eventuell von Error Reporting die Informationen nicht erfasst werden. Das strukturierte JSON-Format für die Nutzlasten des Log-Eintrags bietet die Möglichkeit, für Fehler unterschiedliche Informationsarten zu verwenden.
Java
Fügen Sie der Datei pom.xml
Folgendes hinzu:
Verwenden Sie dann Code ähnlich dem folgenden, um Ausnahmedaten zu senden:
Python
Installieren Sie zuerst die Bibliothek fluent-logger-python
:
sudo pip install fluent-logger
Verwenden Sie dann Code ähnlich dem folgenden, um Ausnahmedaten zu senden:
Node.js
Installieren Sie zuerst die Bibliothek fluent-logger-node
:
npm install --save fluent-logger
Verwenden Sie dann Code ähnlich dem folgenden, um Ausnahmedaten zu senden:
Go
Installieren Sie zuerst das Paket fluent-logger-golang
:
go get -u github.com/fluent/fluent-logger-golang/
Verwenden Sie dann Code ähnlich dem folgenden, um Fehlerdaten zu senden:
Error Reporting-API zum Beschreiben von Fehlern verwenden
Die Error Reporting API bietet einen report
-Endpunkt zum Schreiben von Fehlerinformationen in den Dienst.
Aktivieren Sie die Error Reporting API.
Mithilfe der REST API oder einer Clientbibliothek melden Sie Fehler an die API.
Beispiele
ASP.NET
Das Stackdriver-ASP.NET-NuGet-Paket meldet nicht erfasste Ausnahmen von ASP.NET-Webanwendungen an Error Reporting.
NuGet-Paket installieren
So installieren Sie das Stackdriver-ASP.NET-NuGet-Paket in Visual Studio:
- Klicken Sie mit der rechten Maustaste auf Ihre Lösung und wählen Sie NuGet-Pakete für Lösung verwalten aus.
- Wählen Sie das Kästchen Vorabversion einbeziehen aus.
- Suchen Sie nach dem Paket mit dem Namen
Google.Cloud.Diagnostics.AspNet
und installieren Sie es.
Nutzung
Nachdem Sie das Stackdriver-ASP.NET-NuGet-Paket installiert haben, können Sie die folgende Anweisung zu Ihrem Anwendungscode hinzufügen und Fehler an Stackdriver senden:
using Google.Cloud.Diagnostics.AspNet;
Fügen Sie den folgenden HttpConfiguration
-Code in die Methode Register
Ihrer .NET-Webanwendung ein. Ersetzen Sie dabei your-project-id
durch Ihre tatsächliche Projekt-ID, um das Melden von Ausnahmen zu aktivieren:
Nachdem Sie Ihrer ASP.NET-Anwendung diese Methode hinzugefügt haben, können Sie alle nicht erfassten Ausnahmen in der Cloud Console aufrufen, da sie an Google Cloud gemeldet und dort im Bereich Error Reporting angezeigt werden.
C#
Das folgende Beispiel finden Sie im Repository GoogleCloudPlatform/dotnet-docs-samples. Geben Sie nach der Projekterstellung Ihre Projekt-ID an, um es zu verwenden:
C:\...\bin\Debug> set GOOGLE_PROJECT_ID=[YOUR_PROJECT_ID]
Ersetzen Sie [YOUR_PROJECT_ID]
durch den korrekten Wert aus der Cloud Console.
Senden Sie dann Ausnahmedaten mit Code ähnlich dem folgenden: