Error Reporting für Go einrichten

Mit dem Stackdriver Error Reporting-Paket für Go können Sie Fehlerberichte von Go-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

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

  1. Installieren Sie das Paket mit go get:

    go get -u cloud.google.com/go/errorreporting

Weitere Informationen zur Installation finden Sie in der Dokumentation zum Stackdriver Error Reporting-Paket für Go. Eventuelle Probleme melden Sie über die Problemverfolgung.

Clientbibliothek konfigurieren

Sie können das Verhalten des Stackdriver Error Reporting-Pakets anpassen. Weitere Informationen unter GoDoc.

Fehler melden

// Sample errorreporting_quickstart contains is a quickstart
// example for the Google Cloud Error Reporting API.
package main

import (
	"context"
	"log"
	"net/http"

	"cloud.google.com/go/errorreporting"
)

var errorClient *errorreporting.Client

func main() {
	ctx := context.Background()

	// Sets your Google Cloud Platform project ID.
	projectID := "YOUR_PROJECT_ID"

	var err error
	errorClient, err = errorreporting.NewClient(ctx, projectID, errorreporting.Config{
		ServiceName: "myservice",
		OnError: func(err error) {
			log.Printf("Could not log error: %v", err)
		},
	})
	if err != nil {
		log.Fatal(err)
	}
	defer errorClient.Close()

	resp, err := http.Get("not-a-valid-url")
	if err != nil {
		logAndPrintError(err)
		return
	}
	log.Print(resp.Status)
}

func logAndPrintError(err error) {
	errorClient.Report(errorreporting.Entry{
		Error: err,
	})
	log.Print(err)
}

Bei GoDoc finden Sie weitere Beispiele zum Melden von Ausnahmen und Fehlern.

In Google Cloud Platform ausführen

Zur Verwendung des Stackdriver Error Reporting-Pakets für Go ist die Cloud IAM-Rolle Error Reporting-Schreiber erforderlich. Die meisten Computing-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.

Das Stackdriver Error Reporting-Paket für Go kann verwendet werden, ohne dass Anmeldeinformationen 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.

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 das Stackdriver Error Reporting-Paket für Go außerhalb der Google Cloud Platform verwenden möchten, müssen Sie die ID Ihres GCP-Projekts und die entsprechenden Anmeldedaten für das Dienstkonto direkt an das Stackdriver Error Reporting-Paket für Go übergeben. Das 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.

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Stackdriver Error Reporting