Error Reporting für .NET einrichten

Bibliothek aktivieren

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

Error Reporting ist in einige Google Cloud-Dienste wie App Engine, Compute Engine und Google Kubernetes Engine eingebunden. In Error Reporting sehen Sie die in Cloud Logging protokollierten Fehler der auf diesen Diensten ausgeführten Anwendungen. Weitere Informationen finden Sie auf dieser Seite im Abschnitt Auf der Google Cloud Platform ausführen.

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

Hinweise

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

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

  2. Wählen Sie in der Cloud Console auf der Projektauswahlseite ein Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  4. Aktivieren Sie die Error Reporting API .

    Aktivieren Sie die API

Clientbibliothek installieren

Mit der Error Reporting-Bibliothek für .NET können Sie die von .NET-Anwendungen gemeldeten Fehler im Blick behalten und abrufen. Dabei ist es in den meisten Fällen unerheblich, wo die Anwendungen ausgeführt werden.

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

Clientbibliothek konfigurieren

Das Verhalten der Error Reporting-Bibliothek für .NET kann angepasst werden. Weitere Informationen finden Sie in der .NET API-Referenzdokumentation.

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 Flexible App Engine-Umgebung.

In Google Cloud ausführen

Zur Verwendung der Error Reporting-Bibliothek für .NET ist die Rolle Error Reporting-Autor von Cloud Identity and Access Management erforderlich. Die meisten Computing-Plattformen von Google Cloud stellen diese Rolle standardmäßig zur Verfügung.

Flexible App Engine-Umgebung

In App Engine wird die Rolle Error Reporting-Autor standardmäßig zugewiesen.

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

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

Unter Fehler ansehen erfahren Sie, wie Sie in der Cloud Console Fehler- und Ausnahmedaten für Ihre Anwendung aufrufen.

Google Kubernetes Engine

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

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

Compute Engine

Wenn Sie Compute Engine-VM-Instanzen verwenden, fügen Sie der jeweiligen Instanz den Zugriffsbereich für cloud-platform hinzu. In der Google Cloud Console können Sie das beim Erstellen einer neuen Instanz im Bereich Instanz erstellen unter Identität und API-Zugriff erledigen. Verwenden Sie das Compute Engine-Standarddienstkonto oder ein anderes Dienstkonto und wählen Sie im Bereich Identität und API-Zugriff die Option Uneingeschränkten Zugriff auf alle Cloud APIs zulassen aus. Achten Sie darauf, dass jedem ausgewählten Dienstkonto im Bereich IAM & Verwaltung der Cloud Console die Rolle Error Reporting-Autor zugewiesen ist.

Lokal und extern ausführen

Wenn Sie die Error Reporting-Bibliothek für .NET außerhalb von Google Cloud verwenden möchten, beispielsweise auf Ihrer eigenen Workstation, auf den Computern Ihres Rechenzentrums oder auf den VM-Instanzen eines anderen Cloud-Anbieters, müssen Sie Ihre Google Cloud-Projekt-ID und die entsprechenden Dienstkonto-Anmeldedaten direkt in der Error Reporting-Bibliothek für .NET angeben.

Sie können Anmeldeinformationen für Dienstkonten manuell erstellen und abrufen. Geben Sie dafür im Feld Rolle die Rolle Error Reporting-Autor an. Weitere Informationen zu Cloud IAM-Rollen finden Sie in der Anleitung zur Zugriffssteuerung.

Fehlerberichte ansehen

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

Error Reporting-Dashboard aufrufen

Weitere Informationen finden Sie unter Fehler ansehen.

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 Vorabversion einbeziehen aus.

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

  4. Wenn Sie den Client Google.Cloud.Diagnostics.AspNetCore installiert haben, fügen Sie die folgende "using"-Anweisung in die Quellcodedateien Ihrer Anwendung ein. So können Sie festlegen, welche Fehlerinformationen an Error Reporting gesendet werden:

     using Google.Cloud.Diagnostics.AspNetCore;
        

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

  1. Erstellen oder bearbeiten Sie die Methode ConfigureServices in der Datei Startup.cs Ihrer 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 Ihrer Anwendung und rufen Sie app.UseGoogleExceptionLogging() auf, bevor Sie app.UseStaticFiles() und app.UseMvc() aufrufen.

    // 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 Error Reporting:

throw new Exception("Generic exception for testing Stackdriver Error Reporting");