Configurazione di Cloud Logging per Go

Forniamo un pacchetto di logging compatibile con le librerie standard. La libreria Cloud Logging per Go espone un livello superiore per lavorare con Cloud Logging.

L'agente Cloud Logging non deve essere installato per utilizzare la biblioteca Cloud Logging per Go in un'istanza VM Compute Engine.

Prima di iniziare

  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

Installazione del pacchetto

go get cloud.google.com/go/logging

Utilizzo del logger Go


// 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")
}

Per ulteriori informazioni sull'installazione, consulta la documentazione della libreria Cloud Logging per Go. Puoi anche segnalare i problemi utilizzando il tracker dei problemi.

Scrivi i log con la libreria client di Cloud Logging

Per informazioni sull'utilizzo della libreria client di Cloud Logging per Vai direttamente, consulta Librerie client di Cloud Logging.

Esegui su Google Cloud

Affinché un'applicazione possa scrivere log utilizzando la libreria Cloud Logging per Go, l'account di servizio per la risorsa sottostante deve disporre del ruolo IAM Scrittore di log (roles/logging.logWriter). La maggior parte degli ambienti Google Cloud configura automaticamente per avere questo ruolo.

App Engine

Cloud Logging è abilitato automaticamente per App Engine e default service account ha le autorizzazioni IAM per scrivere voci di log per impostazione predefinita.

Per ulteriori informazioni, consulta la sezione Scrittura e visualizzazione dei log.

Google Kubernetes Engine (GKE)

GKE concede automaticamente l'account di servizio predefinito del ruolo IAM Writer log (roles/logging.logWriter). Se utilizzi Federazione delle identità dei carichi di lavoro per GKE con questo account di servizio predefinito per consentire ai carichi di lavoro di accedere API Google Cloud, non sono necessarie ulteriori configurazioni. Tuttavia, se utilizzi la federazione delle identità per i carichi di lavoro per GKE l'account di servizio IAM personalizzato, quindi assicurati che il servizio ha il ruolo di Writer log (roles/logging.logWriter).

Se necessario, puoi anche utilizzare il seguente comando per aggiungere l'ambito di accesso logging.write durante la creazione del cluster:

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

Compute Engine

Quando utilizzi le istanze VM di Compute Engine, aggiungi l'ambito di accesso cloud-platform a ogni istanza. Quando crei una nuova istanza tramite Console Google Cloud, puoi farlo nella sezione Identità e accesso API. del riquadro Crea istanza. Utilizza l'account di servizio predefinito di Compute Engine o un altro account di servizio a tua scelta e seleziona Consenti l'accesso completo a tutte le API Cloud nella sezione Identità e accesso API. Qualunque account di servizio tu selezioni, assicurati che sia stato concesso il ruolo Scrittore di log nella sezione IAM e amministrazione della console Google Cloud.

Esegui localmente e altrove

Per utilizzare la libreria Cloud Logging per Go al di fuori di Google Cloud, compresa l'esecuzione della libreria sulla tua workstation, sul data center computer o sulle istanze VM di un altro cloud provider, fornisci l'ID progetto Google Cloud e i dati account di servizio le credenziali direttamente alla libreria Cloud Logging per Go.

Per gli account di servizio esistenti:

  1. Concedi all'account di servizio l'accesso IAM Ruolo IAM Autore di log (roles/logging.logWriter). Per ulteriori informazioni sui ruoli IAM, consulta Controllo dell'accesso.

  2. Configura Credenziali predefinite dell'applicazione.

Se non hai un account di servizio, creane uno. Per informazioni su questa procedura, vedi Creare account di servizio.

Per informazioni generali sui metodi che puoi utilizzare per l'autenticazione, consulta Terminologia: account di servizio.

Visualizza i log

Nella console Google Cloud, vai alla pagina Esplora log:

Vai a Esplora log

Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.

In Esplora log devi specificare una o più risorse, ma la risorsa la selezione potrebbe non essere ovvia. Ecco alcuni suggerimenti per iniziare:

  • Se esegui il deployment dell'applicazione in App Engine o utilizzi le librerie specifiche di App Engine, imposta la risorsa su App GAE.

  • Se esegui il deployment della tua applicazione su Compute Engine, imposta la risorsa su istanza VM GCE.

  • Se esegui il deployment dell'applicazione su Google Kubernetes Engine, la configurazione di logging del cluster determina il tipo di risorsa delle voci di log. Per una discussione dettagliata sulle soluzioni di monitoraggio Kubernetes di Google Cloud Observability precedenti e di Google Cloud Observability e su come queste opzioni influiscono sul tipo di risorsa, consulta Eseguire la migrazione a Google Cloud Observability Kubernetes Monitoring.

  • Se la tua applicazione utilizza direttamente l'API Cloud Logging, La risorsa dipende dall'API e dalla configurazione. Ad esempio, nella tua applicazione puoi specificare una risorsa o utilizzare una risorsa predefinita.

  • Se non vedi nessun log in Esplora log, per visualizzare tutte le voci dei log, passa alla modalità di query avanzata e utilizza una query vuota.

    1. Per passare alla modalità di query avanzata, fai clic su menu (▾) nella parte superiore di Esplora log e poi seleziona Converti in filtro avanzato.
    2. Cancella i contenuti visualizzati nella casella del filtro.
    3. Fai clic su Invia filtro.

    Puoi esaminare le singole voci per identificare le risorse.

Per ulteriori informazioni, consulta Utilizzare Esplora log.