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.

Vorbereitung

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  4. Cloud Logging API aktivieren.

    Aktivieren Sie die API

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

    Go to project selector

  6. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  7. Cloud Logging API aktivieren.

    Aktivieren Sie die API

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 Verwendung der Cloud Logging-Clientbibliothek für Weitere Informationen finden Sie unter Cloud Logging-Clientbibliotheken.

In Google Cloud ausführen

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

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 Schreiben und Anzeigen Logs

Google Kubernetes Engine (GKE)

In GKE wird das Standarddienstkonto automatisch zugewiesen die IAM-Rolle Logautor (roles/logging.logWriter) Wenn Sie Workload Identity mit diesem Standarddienstkonto, damit Arbeitslasten auf bestimmte Google Cloud APIs verwenden, ist keine zusätzliche Konfiguration erforderlich. Wenn Sie jedoch Workload Identity mit einer benutzerdefinierten IAM-Dienstkontos erstellen und dann prüfen, ob der benutzerdefinierte Dienst Konto hat die Rolle des Logautors (roles/logging.logWriter).

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 eine neue Instanz über die In der Google Cloud Console können Sie dies im Abschnitt Identität und API-Zugriff tun. des Bereichs Instanz 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. Ganz gleich, welchen Dienst des ausgewählten Kontos müssen Sie sicherstellen, Rolle „Log-Autor“ in der Rolle „IAM & Admin des Google Cloud Console

Lokal und extern ausführen

So verwenden Sie die Cloud Logging-Bibliothek für Go außerhalb von Google Cloud: einschließlich der Ausführung der Bibliothek auf Ihrer eigenen Workstation, auf dem oder auf den VM-Instanzen eines anderen Cloud-Anbieters, Ihre Google Cloud-Projekt-ID und den entsprechenden Dienstkonto Anmeldedaten direkt an die Cloud Logging-Bibliothek für Go zu senden.

Bei vorhandenen Dienstkonten gehen Sie so vor:

  1. Gewähren Sie dem Dienstkonto die IAM-Rolle IAM-Rolle Logautor (roles/logging.logWriter) Weitere Informationen zu IAM finden Sie unter Zugriffssteuerung.

  2. Standardanmeldedaten für Anwendungen einrichten

Wenn Sie kein Dienstkonto haben, erstellen Sie eines. Informationen zu Informationen zur Vorgehensweise finden Sie unter Dienstkonten erstellen.

Allgemeine Informationen zu den Authentifizierungsmethoden finden Sie unter Terminologie: Dienstkonten.

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 Monitoring 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. Eine detaillierte Diskussion zur Legacy-Google Cloud-Beobachtbarkeit und zur Beobachtbarkeit von Google Cloud Kubernetes Monitoring-Lösungen und deren Auswirkungen auf Ressourcentyp, siehe 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.