Error Reporting für .NET einrichten

Bibliothek aktivieren

Mit der Stackdriver Error Reporting-Bibliothek für .NET können Sie Fehlerberichte von .NET-Anwendungen an Stackdriver Error Reporting senden.

Error Reporting ist in einige Google Cloud Platform-Produkte wie App Engine, Compute Engine und Google Kubernetes Engine integriert. In Error Reporting sehen Sie die in Stackdriver Logging protokollierten Fehler der auf diesen Produkten ausgeführten Anwendungen. Weitere Informationen erhalten Sie im Abschnitt In Google Cloud Platform ausführen.

Sie können Fehlerdaten auch mithilfe von Stackdriver Logging an Error Reporting senden. Informationen zu den Datenformatierungsanforderungen finden Sie unter Formatierungsfehler in Stackdriver Logging.

Hinweis

  1. Melden Sie sich in Ihrem Google-Konto an.

    Wenn Sie noch kein Konto haben, registrieren Sie sich hier für ein neues Konto.

  2. Wählen Sie ein GCP-Projekt aus oder erstellen Sie eines.

    Zur Seite "Ressourcen verwalten"

  3. Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Platform-Projekt aktiviert ist.

    Informationen zum Aktivieren der Abrechnung

  4. Aktivieren Sie die Error Reporting API .

    Aktivieren Sie die API

Clientbibliothek installieren

Die Stackdriver Error Reporting-Bibliothek für .NET ermöglicht es Ihnen, die von .NET-Anwendungen gemeldeten Fehler zu überwachen und aufzurufen. Wo die Anwendungen ausgeführt werden, ist in den meisten Fällen unerheblich.

Weitere Informationen zur Installation finden Sie in der Dokumentation zur Stackdriver Error Reporting-Bibliothek für .NET. Probleme können Sie über die Problemverfolgung melden.

Clientbibliothek konfigurieren

Sie können das Verhalten der Stackdriver Error Reporting-Bibliothek für .NET anpassen. Weitere Informationen finden Sie in der Referenzdokumentation zur .NET API.

Fehler melden

Installieren Sie die Cloudbibliotheken mit dem folgenden Befehl:

Paketmanager

PM> Install-Package Google.Cloud.Diagnostics.AspNetCore -Version 2.0.1

.NET CLI

> dotnet add package Google.Cloud.Diagnostics.AspNetCore --version 2.0.1

Wenn Sie die flexible App Engine-Umgebung verwenden, lesen Sie den Abschnitt zur flexiblen App Engine-Umgebung.

In Google Cloud Platform ausführen

Zur Verwendung der Stackdriver Error Reporting-Bibliothek für .NET ist die Cloud IAM-Rolle Error Reporting-Schreiber erforderlich. Die meisten Compute-Plattformen von Google Cloud Platform stellen diese Rolle standardmäßig zur Verfügung.

Flexible App Engine-Umgebung

In der App Engine wird die Rolle des Error Reporting-Schreibers standardmäßig zugewiesen.

Die Stackdriver Error Reporting-Bibliothek für .NET kann verwendet werden, ohne dass Anmeldedaten explizit angegeben werden müssen.

Stackdriver Error Reporting wird für Anwendungen in der flexiblen App Engine-Umgebung automatisch aktiviert. Es ist keine zusätzliche Einrichtung erforderlich. Nachrichten, die von App Engine in stderr geschrieben werden, werden analysiert und von Error Reporting angezeigt, falls sie einen Stacktrace enthalten.

Eine Anleitung zum Aufrufen von Fehler- und Ausnahmedaten für Ihre Anwendung in der GCP Console finden Sie unter Fehler anzeigen.

GKE

In GKE müssen Sie beim Erstellen des Clusters den Zugriffsbereich cloud-platform wie im folgenden Beispielbefehl einrichten:

gcloud container clusters create example-cluster-name --scopes https://www.googleapis.com/auth/cloud-platform

Compute Engine

Wenn Sie Compute Engine-VM-Instanzen verwenden, ergänzen Sie jede Instanz um den Zugriffsbereich cloud-platform. Neue Instanzen können Sie über die Google Cloud Platform Console im Feld Instanz erstellen unter Identität und API-Zugriff erstellen. Verwenden Sie das Compute Engine-Standarddienstkonto oder ein anderes Dienstkonto und wählen Sie im Abschnitt Identität und API-Zugriff die Option Uneingeschränkten Zugriff auf alle Cloud APIs zulassen aus. Achten Sie bei jedem ausgewählten Dienstkonto darauf, dass diesem im Abschnitt IAM & Verwaltung der GCP Console die Rolle Error Reporting-Schreiber zugewiesen ist.

Lokal und extern ausführen

Wenn Sie die Stackdriver Error Reporting-Bibliothek für .NET außerhalb der Google Cloud Platform verwenden möchten, müssen Sie Ihre GCP-Projekt-ID und die entsprechenden Anmeldedaten für das Dienstkonto direkt in die Stackdriver Error Reporting-Bibliothek für .NET eingeben. Dies gilt für die Ausführung der Bibliothek auf Ihrer eigenen Workstation, auf den Computern Ihres Rechenzentrums oder auf den VM-Instanzen eines anderen Cloudanbieters. Weitere Informationen finden Sie unter Dienstkonto-Anmeldedaten manuell abrufen und bereitstellen.

Fehlerberichte ansehen

Nach der Bereitstellung können Sie Fehlerberichte im Error Reporting-Dashboard der Cloud Platform Console ansehen.

Error Reporting-Dashboard aufrufen

Weitere Informationen finden Sie unter Fehler anzeigen.

Stackdriver Error Reporting für .NET Core-Anwendungen einrichten

So verwenden Sie die Clientbibliothek Google.Cloud.Diagnostics.AspNetCore:

  1. Klicken Sie mit der rechten Maustaste auf Ihre Lösung in Visual Studio und wählen Sie NuGet-Pakete für Lösung verwalten aus.

  2. Wählen Sie das Kästchen Einschließlich Vorabveröffentlichung aus.

  3. Suchen und installieren Sie das Paket Google.Cloud.Diagnostics.AspNetCore.

  4. Fügen Sie, wenn der Client Google.Cloud.Diagnostics.AspNetCore installiert ist, dem Anwendungsquellcode die im Folgenden aufgeführte "using"-Anweisung hinzu. Damit legen Sie fest, welche Fehlermeldungen an Error Reporting gesendet werden:

     using Google.Cloud.Diagnostics.AspNetCore;
    

Führen Sie die folgenden Schritte aus, um die benutzerdefinierten Fehlerberichte Ihrer Anwendung zu protokollieren:

  1. Erstellen oder bearbeiten Sie die Methode ConfigureServices in der Datei Startup.cs der Anwendung und rufen Sie services.AddGoogleExceptionLogging() auf:

    services.AddGoogleExceptionLogging(options =>
    {
        options.ProjectId = "YOUR-GOOGLE-PROJECT-ID";
        options.ServiceName = "ShoppingCartService";
        options.Version = "0.01";
    });
    
  2. Bearbeiten Sie die Methode Configure in der Datei Startup.cs der Anwendung und rufen Sie app.UseGoogleExceptionLogging() vor dem Aufruf von app.UseStaticFiles() und app.UseMvc() auf.

    // Use before handling any requests to ensure all unhandled exceptions are reported.
    app.UseGoogleExceptionLogging();
    

Im folgenden Beispiel sehen Sie Logging-Fehler zum Melden eines benutzerdefinierten Fehlerereignisses an Stackdriver Error Reporting.

throw new Exception("Generic exception for testing Stackdriver Error Reporting");
Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Stackdriver Error Reporting