Cloud Logging für Go einrichten

Sie erhalten von uns ein mit Standardbibliotheken kompatibles Logging-Paket. Die Cloud Logging-Bibliothek für Go bietet eine höhere Ebene für die Arbeit mit Cloud Logging.

Dabei muss der Cloud Logging-Agent nicht installiert sein, um die Cloud Logging-Bibliothek für Go auf einer Compute Engine-VM-Instanz ausführen zu können.

Hinweise

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Logging API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Logging API.

    Enable the API

  8. Paket installieren

    go get cloud.google.com/go/logging

    Go-Logger verwenden

    
    // Sample stdlogging writes log.Logger logs to the Cloud Logging.
    package main
    
    import (
    	"context"
    	"log"
    
    	"cloud.google.com/go/logging"
    )
    
    func main() {
    	ctx := context.Background()
    
    	// Sets your Google Cloud Platform project ID.
    	projectID := "YOUR_PROJECT_ID"
    
    	// Creates a client.
    	client, err := logging.NewClient(ctx, projectID)
    	if err != nil {
    		log.Fatalf("Failed to create client: %v", err)
    	}
    	defer client.Close()
    
    	// Sets the name of the log to write to.
    	logName := "my-log"
    
    	logger := client.Logger(logName).StandardLogger(logging.Info)
    
    	// Logs "hello world", log entry is visible at
    	// Cloud Logs.
    	logger.Println("hello world")
    }
    

    Weitere Informationen zur Installation finden Sie in der Dokumentation zur Cloud Logging-Bibliothek für Go. Probleme können Sie über die Problemverfolgung melden.

    Logs mit der Cloud Logging-Clientbibliothek schreiben

    Informationen zur direkten Verwendung der Cloud Logging-Clientbibliothek für Go finden Sie unter Cloud Logging-Clientbibliotheken.

    Ausführen auf Google Cloud

    Damit eine Anwendung Logs mit der Cloud Logging-Bibliothek für Go schreiben kann, muss das Dienstkonto für die zugrunde liegende Ressource die IAM-Rolle Logautor (roles/logging.logWriter) haben. In den meisten Google Cloud Umgebungen wird das Standarddienstkonto automatisch für diese Rolle konfiguriert.

    App Engine

    Cloud Logging ist für App Engine automatisch aktiviert und das Standarddienstkonto Ihrer Anwendung hat standardmäßig die IAM-Berechtigungen zum Schreiben von Logeinträgen.

    Weitere Informationen finden Sie unter Logs schreiben und ansehen.

    Google Kubernetes Engine (GKE)

    GKE gewährt dem Standarddienstkonto automatisch die IAM-Rolle Logautor (roles/logging.logWriter). Wenn Sie die Workload Identity Federation for GKE mit diesem Standarddienstkonto verwenden, damit Arbeitslasten auf bestimmteGoogle Cloud APIs zugreifen können, ist keine zusätzliche Konfiguration erforderlich. Wenn Sie jedoch die Workload Identity-Föderation für GKE mit einem benutzerdefinierten IAM-Dienstkonto verwenden, muss das benutzerdefinierte Dienstkonto die Rolle „Logs Writer“ (roles/logging.logWriter) haben.

    Bei Bedarf können Sie auch den folgenden Befehl verwenden, um beim Erstellen des Clusters den Zugriffsbereich logging.write hinzuzufügen:

    gcloud container clusters create example-cluster-name \
        --scopes https://www.googleapis.com/auth/logging.write
    

    Compute Engine

    Wenn Sie Compute Engine-VM-Instanzen verwenden, fügen Sie der jeweiligen Instanz den Zugriffsbereich für cloud-platform hinzu. Wenn Sie über dieGoogle Cloud -Konsole eine neue Instanz erstellen, können Sie das im Bereich Instanz erstellen im Abschnitt Identität und API-Zugriff erledigen. 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 darauf, dass jedem ausgewählten Dienstkonto im Abschnitt IAM & Verwaltung derGoogle Cloud -Konsole die Rolle "Logautor" zugewiesen ist.

    Lokal und extern ausführen

    Wenn Sie die Cloud Logging-Bibliothek für Go außerhalb von Google Cloudverwenden möchten, z. B. auf Ihrem eigenen Arbeitsplatz, auf den Computern Ihres Rechenzentrums oder auf den VM-Instanzen eines anderen Cloud-Anbieters, müssen Sie Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) in Ihrer lokalen Umgebung einrichten, um sich bei der Cloud Logging-Bibliothek für Go zu authentifizieren.

    Weitere Informationen finden Sie unter ADC für lokale oder andere Cloud-Anbieter einrichten.

    Logs ansehen

    Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf:

    Zum Log-Explorer

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Logging ist.

    Im Log-Explorer müssen Sie eine oder mehrere Ressourcen angeben. Die Auswahl der Ressourcen ist jedoch möglicherweise nicht offensichtlich. Hier sind ein paar Tipps für den Einstieg.

    • Wenn Sie Ihre Anwendung für App Engine bereitstellen oder die App Engine-spezifischen Bibliotheken verwenden, setzen Sie die Ressource auf GAE-Anwendung.

    • Wenn Sie Ihre Anwendung auf der Compute Engine bereitstellen, setzen Sie die Ressource auf GCE-VM-Instanz.

    • Wenn Sie Ihre Anwendung in Google Kubernetes Engine bereitstellen, wird der Ressourcentyp der Logeinträge von der Loggingkonfiguration des Clusters bestimmt. Weitere Informationen zu den Lösungen mit Legacy Google Cloud Observability und Google Cloud Observability Kubernetes Monitoring und den jeweiligen Auswirkungen auf den Ressourcentyp finden Sie unter Zu Google Cloud Observability Kubernetes Monitoring migrieren.

    • Wenn Ihre Anwendung die Cloud Logging API direkt nutzt, ist die Ressource von der API und Ihrer Konfiguration abhängig. Sie können in Ihrer Anwendung zum Beispiel eine Ressource angeben oder eine Standardressource verwenden.

    • Wenn im Log-Explorer keine Logs zu sehen sind, wechseln Sie zum erweiterten Abfragemodus und verwenden Sie eine leere Abfrage, um alle Logeinträge zu sehen.

      1. Klicken Sie oben im Log-Explorer auf das Dreipunkt-Menü (▾) und wählen Sie In erweiterten Filter umwandeln aus, um zum erweiterten Abfragemodus zu wechseln.
      2. Löschen Sie den Inhalt, der im Filterfeld angezeigt wird.
      3. Klicken Sie auf Filter senden.

      Sie können die einzelnen Einträge prüfen, um Ihre Ressourcen zu identifizieren.

    Weitere Informationen finden Sie unter Log-Explorer verwenden.