Creare e gestire gli ambiti dei log

Questo documento descrive come creare e gestire gli ambiti dei log, che puoi utilizzare per trovare in modo efficiente le voci di log che vuoi visualizzare o analizzare. Se vuoi visualizzare e analizzare solo le voci di log che hanno avuto origine in un progetto, una cartella o un'organizzazione, questo documento non fa per te. Tuttavia, se utilizzi sink di log per instradare i log a altri progetti o a bucket di log definiti dall'utente, o se utilizzi le visualizzazioni dei log, le informazioni in questo documento potrebbero aiutarti a trovare in modo efficiente voci di log specifiche.

Questo documento non descrive come visualizzare i log. Per informazioni su questo argomento, consulta Visualizzare i log utilizzando Esplora log.

Informazioni sugli ambiti dei log

Gli ambiti dei log sono risorse permanenti a livello di progetto che elencano un insieme di risorse. Queste risorse possono essere progetti, cartelle, organizzazioni e visualizzazioni dei log. Ad esempio, puoi definire un ambito di log che elenca i progetti che contengono le risorse utilizzate per la produzione o uno che elenca le visualizzazioni log che includono le voci di log per un tipo di risorsa specifico.

Quando crei un progetto, una cartella o una risorsa organizzazione Google Cloud, logging crea un ambito di log denominato _Default. Questo ambito include il progetto, la cartella o l'organizzazione creati. Quando la risorsa cercata è un progetto, una cartella o un'organizzazione Google Cloud, i risultati includono le voci di log che hanno origine nella risorsa e vengono archiviate in un bucket di log. Quando viene eseguita una ricerca in un progetto, i risultati includono anche le voci di log che vengono instradate al progetto da un'area di destinazione in un altro progetto e poi archiviate in un bucket di log.

Puoi creare ambiti di log. Puoi anche modificare ed eliminare gli ambiti dei log che crei. Tuttavia, non puoi modificare o eliminare l'ambito del log denominato _Default.

Utilizzi un ambito di log per controllare le risorse in cui la pagina Esplora log cerca i dati dei log. Quando apri la pagina e selezioni un ambito di log, la pagina cerca le risorse elencate in quell'ambito e aggiorna la visualizzazione.

Puoi anche utilizzare un ambito dei log per controllare le risorse in cui un riquadro dei log cerca i dati dei log. Un riquadro dei log è un widget della dashboard personalizzata che visualizza i dati dei log. Ogni riquadro dei log ha la propria configurazione, che ti consente di creare una dashboard contenente più riquadri dei log in cui ogni riquadro mostra dati dei log diversi. Per saperne di più, consulta Visualizzare log ed errori in una dashboard personalizzata.

Per i progetti, l'ambito di log predefinito determina l'insieme di risorse che la pagina Esplora log cerca quando viene aperta. Tuttavia, i ruoli IAM (Identity and Access Management) per le risorse cercate e l'impostazione dell'intervallo di tempo determinano le voci di log che vengono recuperate dallo spazio di archiviazione. Quando vengono creati i progetti, l'ambito dei log denominato _Default viene designato come ambito dei log predefinito. Puoi impostare l'ambito dei log predefinito.

Differenze tra gli ambiti dei log e l'archiviazione dei log centralizzata

Sia lo spazio di archiviazione dei log centralizzato sia gli ambiti dei log ti consentono di visualizzare i dati dei log che hanno origine in progetti diversi.

Quando configuri un bucket di log centralizzato, le voci di log vengono ricevute da Google Cloude inoltrate a un'unica posizione di archiviazione. Lo spazio di archiviazione centralizzato offre un unico punto in cui eseguire query sui dati dei log, il che semplifica le query quando cerchi tendenze o esamini i problemi. Dal punto di vista della sicurezza, hai anche un'unica posizione di archiviazione, che può semplificare le attività dei tuoi analisti della sicurezza.

Quando viene eseguita una query sulle risorse elencate nell'ambito di un log, i risultati delle singole query vengono combinati. Un ambito del log facilita l'aggregazione in fase di lettura dei dati dei log che potrebbero essere archiviati in posizioni diverse. Tuttavia, l'ambito di un log può essere utilizzato anche per fornire l'accesso in lettura a una o più visualizzazioni dei log in un bucket di log centralizzato.

Quando viene aperta la pagina Esplora log, vengono eseguite query sulle risorse elencate nell'ambito di log predefinito. Pertanto, configura l'ambito predefinito in modo che la pagina mostri i dati che di solito vuoi visualizzare. Ad esempio, puoi impostare l'ambito dei log predefinito in modo da elencare una visualizzazione dei log che, quando viene eseguita una query, restituisce i dati dei log per un'applicazione App Hub.

Best practice

Poiché gli ambiti di log ti consentono di definire e salvare una configurazione per un uso futuro, ti consigliamo di creare ambiti di log per configurazioni di ricerca complesse.

Ad esempio, supponiamo che tu stia risolvendo un problema e voglia visualizzare le voci di log per tutte le istanze di macchine virtuali (VM) di proprietà del tuo team. Per svolgere questa attività, puoi procedere nel seguente modo:

  1. Stabilisci che le voci di log che vuoi visualizzare sono archiviate in più bucket di log e in più progetti. Per la maggior parte dei bucket di log, esiste una visualizzazione di log che include le voci di log che vuoi analizzare. Se non esiste una visualizzazione dei log, puoi crearne una.

  2. Decidi di creare un ambito di log perché prevedi di dover svolgere un'attività di risoluzione dei problemi simile in futuro.

  3. Apri la pagina Esplora log nella console Google Cloud e utilizza il menu Perfeziona ambito per selezionare il nuovo ambito dei log.

  4. Esamina le voci dei log e trova le informazioni necessarie per risolvere il problema che stavi esaminando.

  5. Una volta risolto il problema, condividi la causa dell'errore con i colleghi. Inoltre, hai comunicato di prevedere errori simili in futuro, pertanto hai creato un ambito di log che ti consentirà, o a chi sta esaminando l'errore, di trovare rapidamente le voci di log pertinenti.

Applicazioni e ambiti di log di App Hub

Le applicazioni App Hub potrebbero scrivere dati di log in più progetti. I dati dei log potrebbero essere archiviati nel progetto di provenienza o un amministratore dell'organizzazione potrebbe aver configurato lo spazio di archiviazione centralizzato. Per visualizzare i dati dei log della tua applicazione, per il progetto di hosting App Hub, crea un ambito dei log e configuralo in modo da elencare i progetti o le visualizzazioni dei log che memorizzano i dati dei log della tua applicazione. Ti consigliamo di impostare l'ambito dei log personalizzato come ambito predefinito dei log. Al termine di questi passaggi, la pagina Esplorazione log mostra automaticamente i dati scritti dall'applicazione, anche se sono archiviati in progetti diversi o in un bucket di log centralizzato.

Limitazioni

  • Non puoi eliminare o modificare l'ambito dei log denominato _Default.
  • Solo i progetti Google Cloud supportano un ambito dei log predefinito.
  • Non puoi aggiungere cartelle o organizzazioni a un ambito dei log definito dall'utente.
  • Gli ambiti di log vengono creati nella posizione global.

Prima di iniziare

  • Per ottenere le autorizzazioni necessarie per creare e visualizzare gli ambiti dei log e per impostare l'ambito dei log predefinito, chiedi all'amministratore di concederti i seguenti ruoli IAM:

    • Per creare e visualizzare gli ambiti dei log o per ottenere l'ambito dei log predefinito: Logs Configuration Writer (roles/logging.configWriter) nel progetto, nella cartella o nell'organizzazione
    • Per impostare o recuperare l'ambito dei log predefinito: Editor di osservabilità (roles/observability.editor) nel progetto, nella cartella o nell'organizzazione

    Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

    Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare e visualizzare gli ambiti dei log e per impostare l'ambito dei log predefinito. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

    Autorizzazioni obbligatorie

    Per creare e visualizzare gli ambiti dei log e impostare l'ambito dei log predefinito, sono necessarie le seguenti autorizzazioni:

    • Per impostare l'ambito dei log predefinito: observability.scopes.{get, update}
    • Per creare e gestire gli ambiti dei log: logging.logScopes.{create, delete, get, list, update}

    Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

  • Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

    Terraform

    Per utilizzare gli esempi di Terraform in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le credenziali predefinite dell'applicazione con le tue credenziali utente.

    1. Install the Google Cloud CLI.
    2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    3. To initialize the gcloud CLI, run the following command:

      gcloud init
    4. If you're using a local shell, then create local authentication credentials for your user account:

      gcloud auth application-default login

      You don't need to do this if you're using Cloud Shell.

      If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

    Per ulteriori informazioni, consulta Configurare l'ADC per un ambiente di sviluppo locale nella Google Cloud documentazione sull'autenticazione.

    REST

    Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

      After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    Per ulteriori informazioni, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione Google Cloud sull'autenticazione.

Elenco di ambiti dei log

Console

Per elencare gli ambiti dei log:

  1. Nella console Google Cloud, vai alla pagina  Impostazioni:

    Vai a Impostazioni

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

  2. Seleziona la scheda Ampi dello log.

    La tabella elenca gli ambiti dei log. Dopo aver selezionato un progetto Google Cloud, una voce della tabella viene visualizzata con un'icona "Predefinito", a indicare che questo ambito di log elenca le risorse cercate da Esplora log quando viene aperta la pagina.

gcloud

Per elencare gli ambiti di log in un progetto, utilizza il comando gcloud logging scopes list:

 gcloud logging scopes list --project=PROJECT_ID

Prima di eseguire il comando, aggiorna i seguenti campi:

  • PROJECT_ID: l'identificatore del progetto.

Per visualizzare i dettagli di un ambito di log in un progetto, utilizza il comando gcloud logging scopes describe:

 gcloud logging scopes describe LOG_SCOPE --project=PROJECT_ID

Prima di eseguire il comando, aggiorna i seguenti campi:

  • PROJECT_ID: l'identificatore del progetto.
  • LOG_SCOPE: il nome dell'ambito dei log. Ad esempio, my-scope.

Terraform

Puoi utilizzare Terraform per creare e modificare l'ambito di un log. Tuttavia, non puoi utilizzare Terraform per elencare gli ambiti dei log.

REST

L'API Cloud Logging contiene comandi che elencano gli ambiti di log in una risorsa o che riportano i dettagli di un ambito di log specifico. Per un elenco completo dei comandi, consulta la documentazione di riferimento dell'API.

Per i progetti Google Cloud, utilizza i seguenti comandi:

Nel comando API, imposta il campo locations su global.

Impostare l'ambito dei log predefinito

Questa sezione non si applica a cartelle o organizzazioni. Per le cartelle e le organizzazioni, quando si apre la pagina Esplora log, vengono cercate le voci di log che hanno origine nella cartella o nell'organizzazione.

Quando viene creato un progetto, viene creato un ambito di log denominato _Default. Questo ambito elenca una risorsa, ovvero il tuo progetto, ed è designato come ambito dei log predefinito. Se crei un progetto e non modifichi l'ambito di log predefinito, quando si apre la pagina Esplora log vengono cercate tutte le voci di log originate nel progetto.

Puoi creare il tuo ambito di log e designarlo come ambito di log predefinito. Questa funzionalità consente di configurare le risorse in cui la pagina Esplora log cerca le voci di log.

Console

Per impostare l'ambito dei log predefinito per un progetto:

  1. Enable the Observability API.

    Enable the API

    Prima di attivare l'API Observability, assicurati di selezionare il progetto corretto. Per le configurazioni di App Hub, seleziona il progetto host di App Hub.

  2. Nella console Google Cloud, vai alla pagina  Impostazioni:

    Vai a Impostazioni

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

    La pagina Impostazioni contiene diverse schede. Ogni scheda mostra la configurazione dell'ambito per un determinato tipo di telemetria.

  3. Seleziona la scheda Ampi dello log.

  4. Individua l'ambito del log che vuoi designare come ambito predefinito, fai clic su  Altro e poi seleziona Imposta come predefinito.

    L'ambito del log selezionato è mostrato con un'icona "Predefinito",.

gcloud

Non supportati.

Terraform

Puoi utilizzare Terraform per creare e modificare l'ambito di un log. Tuttavia, non puoi utilizzare Terraform per impostare l'ambito dei log predefinito.

REST

Per utilizzare l'API Observability per ottenere o impostare l'ambito dei log predefinito:

  1. Assicurati che l'API Observability sia abilitata:

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Imposta il progetto predefinito per Google Cloud CLI:

      gcloud config set project PROJECT_ID
      

      Prima di eseguire il comando precedente, sostituisci quanto segue:

      • PROJECT_ID: l'identificatore del progetto. Per le configurazioni di App Hub, seleziona il progetto host di App Hub.
    3. Enable the Observability API:

      gcloud services enable observability.googleapis.com
  2. Esegui una di queste operazioni:

    • Per ottenere l'ambito dei log predefinito per un progetto, invia una richiesta all'endpoint projects.locations.scopes.get. Devi specificare un parametro path. La risposta è un oggetto Scope che elenca l'ambito del log predefinito.

    • Per aggiornare l'ambito dei log predefinito per un progetto, invia una richiesta all'endpoint projects.locations.scopes.patch. Devi specificare un parametro path, i parametri di query e fornire un oggetto Scope. I parametri di query identificano i campi che vengono modificati. La risposta è un oggetto Scope.

      Il parametro path per entrambi gli endpoint ha la seguente forma:

      projects/PROJECT_ID/locations/LOCATION/scopes/OBSERVABILITY_SCOPE_ID
      

      I campi nell'espressione precedente hanno il seguente significato:

      • PROJECT_ID: l'identificatore del progetto. Per le configurazioni di App Hub, seleziona il progetto host di App Hub.
      • LOCATION: il campo Location deve essere impostato su global.
      • OBSERVABILITY_SCOPE_ID: il nome di un oggetto Scope. Questo campo deve essere impostato su _Default. L'oggetto Scope con il nome _Default memorizza le informazioni sull'ambito del log predefinito e viene creato automaticamente.

Creare un ambito di log

Puoi creare 100 ambiti di log per progetto. Un ambito di log può includere un totale di 100 visualizzazioni di log e progetti; tuttavia, può includere solo 5 progetti. Non puoi aggiungere cartelle o organizzazioni a un ambito dei log.

Console

Per creare un ambito di log:

  1. Nella console Google Cloud, vai alla pagina  Impostazioni:

    Vai a Impostazioni

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

  2. Seleziona la scheda Ampi dello log e fai clic su Crea ambito dello log.
  3. Per aggiungere uno o più progetti, fai clic su Aggiungi progetti e completa la finestra di dialogo.

    Dopo aver aggiunto un progetto, i tuoi ruoli IAM in quel progetto determinano quali voci di log puoi visualizzare. Ad esempio, il tuo ruolo IAM potrebbe consentirti di visualizzare solo le voci di log accessibili da una visualizzazione di log specifica in un bucket di log. Per ulteriori informazioni sui ruoli, consulta Ruoli di logging.

  4. Per aggiungere una o più visualizzazioni dei log, fai clic su Aggiungi visualizzazioni dei log e completa la finestra di dialogo.

    La finestra di dialogo elenca tutte le viste di log con voci di log provenienti dal progetto corrente o instradate al progetto corrente da un'area di destinazione in un altro progetto. Ad esempio, se non hai configurato alcun canale, in questa finestra di dialogo vengono elencate le visualizzazioni dei log nel progetto corrente.

    Per elencare le visualizzazioni dei log archiviate in un altro progetto Google Cloud, fai clic su  Importa progetto e poi seleziona il progetto Google Cloud.

    Dopo aver aggiunto una visualizzazione dei log, i tuoi ruoli IAM nella visualizzazione dei log o nel progetto che la memorizza determinano le voci di log a cui puoi accedere. Per ulteriori informazioni, consulta Controllare l'accesso a una visualizzazione dei log.

  5. Nella sezione Nome ambito log, inserisci il nome e la descrizione che vuoi visualizzare nella scheda Ambiti log.

    Il nome di un ambito dei log non può essere modificato e deve essere univoco all'interno del progetto.

  6. Fai clic su Crea ambito log.

gcloud

Per creare un ambito di log in un progetto, utilizza il comando gcloud logging scopes create:

 gcloud logging scopes create LOG_SCOPE --project=PROJECT_ID \
   --description=DESCRIPTION \
   --resource-names=RESOURCE_NAMES

Prima di eseguire il comando, aggiorna i seguenti campi:

  • PROJECT_ID: l'identificatore del progetto.
  • LOG_SCOPE: il nome dell'ambito dei log. Ad esempio, my-scope.

  • DESCRIPTION: facoltativo. La descrizione dell'ambito dei log. Formatta la descrizione come stringa.

  • RESOURCE_NAMES: un elenco separato da virgole dei nomi completi di progetti o visualizzazioni dei log. Ad esempio, per includere my-project nell'ambito del log, specifica projects/my-project.

Terraform

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base. Per saperne di più, consulta la Terraformdocumentazione di riferimento del provider.

Per creare un ambito dei log in un progetto, una cartella o un'organizzazione utilizzando Terraform, utilizza la risorsa Terraform google_logging_log_scope.

Nel comando, imposta i seguenti campi:

  • parent: il nome completo del progetto, della cartella o dell'organizzazione. Ad esempio, puoi impostare questo campo su "projects/PROJECT_ID", dove PROJECT_ID è l'ID del progetto Google Cloud.
  • locations: impostato su "global".
  • name: impostato sul nome completo dell'ambito del log. Per i progetti, il formato di questo campo è:

    "projects/PROJECT_ID/locations/global/logScopes/LOG_SCOPE"
    

    Nell'espressione precedente, LOG_SCOPE è il nome di un ambito del log, ad esempio "produzione".

  • resource_names: un array di progetti e visualizzazioni log, in cui ogni progetto e visualizzazione log è specificato utilizzando il nome completo.

  • description: una breve descrizione. Ad esempio, "Ambito per le risorse di produzione".

REST

L'API Cloud Logging supporta anche la creazione di ambiti di log in una cartella o un'organizzazione. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API.

Per i progetti Google Cloud, utilizza il seguente comando:

Nel comando API, imposta il campo locations su global.

Modificare o eliminare l'ambito di un log

Console

Per modificare o eliminare l'ambito di un log creato da te o da un collega:

  1. Nella console Google Cloud, vai alla pagina  Impostazioni:

    Vai a Impostazioni

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

  2. Seleziona la scheda Ampi dello log.
  3. Individua gli ambiti di log che vuoi modificare o eliminare, fai clic su  Altro e poi esegui una delle seguenti operazioni:

    • Per modificarlo, seleziona Modifica ambito e poi completa la finestra di dialogo.
    • Per eliminare, seleziona Elimina ambito e completa la finestra di dialogo.

gcloud

Per modificare la descrizione dell'elenco di risorse in un ambito del log in un progetto, utilizza il comando gcloud logging scopes update:

 gcloud logging scopes update LOG_SCOPE --project=PROJECT_ID \
   --description=DESCRIPTION \
   --resource-names=RESOURCE_NAMES

Prima di eseguire il comando, aggiorna i seguenti campi:

  • PROJECT_ID: l'identificatore del progetto.
  • LOG_SCOPE: il nome dell'ambito dei log. Ad esempio, my-scope.

  • DESCRIPTION: la descrizione dell'ambito dei log. Formatta la descrizione come stringa. Ometti questo campo se non vuoi modificare la descrizione dell'ambito del log.

  • RESOURCE_NAMES: un elenco separato da virgole dei nomi completi di progetti o visualizzazioni dei log. Ometti questo campo se non vuoi modificare l'elenco delle risorse.

Per eliminare l'ambito di un log in un progetto, utilizza il comando gcloud logging scopes delete:

 gcloud logging scopes delete LOG_SCOPE --project=PROJECT_ID

Prima di eseguire il comando, aggiorna i seguenti campi:

  • PROJECT_ID: l'identificatore del progetto.
  • LOG_SCOPE: il nome dell'ambito dei log. Ad esempio, my-scope.

Terraform

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base. Per saperne di più, consulta la Terraformdocumentazione di riferimento del provider.

Per modificare l'ambito di un log in un progetto, una cartella o un'organizzazione utilizzando Terraform, utilizza la risorsa Terraform google_logging_log_scope.

REST

L'API Cloud Logging contiene comandi che possono modificare o eliminare un ambito log. Per un elenco completo dei comandi, consulta la documentazione di riferimento dell'API.

Per i progetti Google Cloud, utilizza i seguenti comandi:

Nel comando API, imposta il campo locations su global.

Passaggi successivi