Instrada i log alle destinazioni supportate

Questo documento spiega come creare e gestire i sink di log, che eseguono il routing delle voci di log provenienti da un progetto Google Cloud verso le destinazioni supportate.

Un sink esegue un'azione di scrittura e pertanto deve essere autorizzato a scrivere nella destinazione. Quando la destinazione è un bucket log nello stesso progetto del sink, il sink viene autorizzato automaticamente. Per tutte le altre destinazioni, il sink deve essere collegato a un service account a cui sono state concesse le autorizzazioni necessarie per scrivere dati nella destinazione.

Quando è necessario un account di servizio, Cloud Logging lo crea e lo gestisce automaticamente. Tuttavia, potrebbe essere necessario modificare le autorizzazioni concesse al account di servizio. Non devi utilizzare il account di servizio creato da Logging. Puoi creare e gestire un account di servizio utilizzato dai sink in più progetti. Per ulteriori informazioni, consulta Configurare i sink di log con i service account gestiti dall'utente.

Panoramica

Questa pagina descrive come creare un sink e come configurare le opzioni che potresti visualizzare quando utilizzi la console Google Cloud o l'API.

I sink appartengono a una determinata Google Cloud risorsa: un Google Cloud progetto, un account di fatturazione, una cartella o un'organizzazione. Quando la risorsa riceve una voce di log, ogni sink nella risorsa la elabora. Quando una voce di log corrisponde ai filtri del sink, viene indirizzata alla destinazione del sink.

In genere, i sink indirizzano solo le voci di log che hanno origine in una risorsa. Tuttavia, per le cartelle e le organizzazioni puoi creare sink aggregati, che indirizzano le voci di log dalla cartella o dall'organizzazione e dalle risorse che contiene. Questo documento non tratta i sink aggregati. Per saperne di più, consulta la panoramica dei sink aggregati.

Per creare e gestire i sink, puoi utilizzare la console Google Cloud , l'API Cloud Logging e Google Cloud CLI. Ti consigliamo di utilizzare la console Google Cloud :

  • La pagina Router dei log elenca tutti i sink e fornisce opzioni per gestirli.
  • Quando crei un sink, puoi visualizzare l'anteprima delle voci di log corrispondenti ai filtri del sink.
  • Puoi configurare le destinazioni sink quando crei un sink.
  • Alcuni passaggi di autorizzazione vengono completati automaticamente.

Destinazioni supportate

La destinazione di un sink può trovarsi in una risorsa diversa dal sink. Ad esempio, puoi utilizzare un sink di log per indirizzare le voci di log da un progetto a un bucket di log archiviato in un progetto diverso.

Sono supportate le seguenti destinazioni:

Google Cloud project

Seleziona questa destinazione quando vuoi che i sink di log nel progetto di destinazione reindirizzino le voci di log oppure quando hai creato un sink aggregato di intercettazione. I sink di log nel progetto che è la destinazione del sink possono reindirizzare le voci di log a qualsiasi destinazione supportata, tranne un progetto.

Bucket di log

Seleziona questa destinazione quando vuoi archiviare i dati dei log in risorse gestite da Cloud Logging. I dati dei log archiviati nei bucket dei log possono essere visualizzati e analizzati utilizzando servizi come Esplora log e Analisi dei log.

Se vuoi unire i dati di log ad altri dati aziendali, puoi archiviarli in un bucket di log e creare un set di dati BigQuery collegato. Un set di dati collegato è un set di dati di sola lettura su cui è possibile eseguire query come su qualsiasi altro set di dati BigQuery.

Set di dati BigQuery
Seleziona questa destinazione quando vuoi unire i dati di log con altri dati aziendali. Il set di dati specificato deve essere abilitato alla scrittura. Non impostare la destinazione di un sink su un set di dati BigQuery collegato. I set di dati collegati sono di sola lettura.
Bucket Cloud Storage
Seleziona questa destinazione quando vuoi archiviare i dati di log a lungo termine. Il bucket Cloud Storage può trovarsi nello stesso progetto in cui hanno origine le voci di log o in un progetto diverso. Le voci di log vengono archiviate come file JSON.
Argomento Pub/Sub
Seleziona questa destinazione quando vuoi esportare i dati di log da Google Cloud e poi utilizzare integrazioni di terze parti come Splunk o Datadog. Le voci di log vengono formattate in JSON e poi indirizzate a un argomento Pub/Sub.

Limitazioni delle destinazioni

Questa sezione descrive le limitazioni specifiche per la destinazione:

  • Se indirizzi le voci di log a un bucket di log in un progetto diverso, Error Reporting non le analizza. Google Cloud Per saperne di più, consulta la panoramica di Error Reporting.
  • Se indirizzi le voci di log a un set di dati BigQuery, questo deve essere abilitato alla scrittura. Non puoi indirizzare le voci di log a set di dati collegati, che sono di sola lettura.
  • Potrebbero essere necessarie diverse ore per l'avvio del routing delle voci di log per i nuovi sink che indirizzano i dati di log ai bucket Cloud Storage. Questi sink vengono elaborati ogni ora.
  • Si applicano le seguenti limitazioni quando la destinazione di un sink di log è un progetto Google Cloud :

    • Esiste un limite di un hop.
    • Le voci di log che corrispondono al filtro del sink di log _Required vengono instradate al bucket di log _Required del progetto di destinazione solo se hanno origine nel progetto di destinazione.
    • Solo i sink aggregati che si trovano nella gerarchia delle risorse di una voce di log elaborano la voce di log.

    Ad esempio, supponiamo che la destinazione di un sink di log nel progetto A sia il progetto B. Quindi, sono vere le seguenti affermazioni:

    • A causa del limite di un hop, i sink di log nel progetto B non possono reindirizzare le voci di log a un progetto Google Cloud .
    • Il bucket di log _Required del progetto B archivia solo le voci di log che hanno origine nel progetto B. Questo bucket di log non archivia voci di log provenienti da altre risorse, incluse quelle provenienti dal progetto A.
    • Se la gerarchia delle risorse del progetto A e del progetto B è diversa, una voce di log che un sink di log nel progetto A indirizza al progetto B non viene inviata ai sink aggregati nella gerarchia delle risorse del progetto B.
    • Se il progetto A e il progetto B hanno la stessa gerarchia delle risorse, le voci di log vengono inviate ai sink aggregati in quella gerarchia. Se una voce di log non viene intercettata da un sink aggregato, il router dei log la invia ai sink nel progetto A.

Prima di iniziare

Le istruzioni riportate in questo documento descrivono la creazione e la gestione dei sink a livello di progettoGoogle Cloud . Puoi utilizzare la stessa procedura per creare un sink che indirizza le voci di log provenienti da un'organizzazione, una cartella o un account di fatturazione.

Per iniziare:

  1. Enable the Cloud Logging API.

    Enable the API

  2. Assicurati che il tuo Google Cloud progetto contenga voci di log che puoi visualizzare in Esplora log.

  3. Per ottenere le autorizzazioni necessarie per creare, modificare o eliminare un sink, chiedi all'amministratore di concederti il ruolo IAM Logs Configuration Writer (roles/logging.configWriter) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

    Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

    Per informazioni sulla concessione dei ruoli IAM, consulta la guida al controllo dell'accesso di Logging.

  4. Hai una risorsa in una destinazione supportata o hai la possibilità di crearne una.

    Per eseguire il routing delle voci di log verso una destinazione, quest'ultima deve esistere prima di creare il sink. Puoi creare la destinazione in qualsiasi progettoGoogle Cloud di qualsiasi organizzazione.

  5. Prima di creare un sink, esamina le limitazioni che si applicano alla destinazione del sink. Per ulteriori informazioni, consulta la sezione Limitazioni delle destinazioni in questo documento.

  6. 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.

      REST

      Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci 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 saperne di più, consulta la sezione Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .

      Creazione di un sink

      Questa sezione descrive come creare un sink in un progetto Google Cloud . Puoi creare fino a 200 sink per progetto. Google Cloud Per visualizzare il numero e il volume delle voci di log instradate, visualizza le metriche logging.googleapis.com/exports/.

      Utilizzi il linguaggio di query di Logging per creare un'espressione di filtro che corrisponda alle voci di log che vuoi includere. Non inserire informazioni sensibili nei filtri sink. I filtri sink vengono trattati come dati di servizio.

      Quando una query contiene più istruzioni, puoi specificare come vengono unite queste istruzioni o fare affidamento su Cloud Logging che aggiunge implicitamente la restrizione congiuntiva, AND, tra le istruzioni. Ad esempio, supponiamo che una query o una finestra di dialogo del filtro contenga due istruzioni, resource.type = "gce_instance" e severity >= "ERROR". La query effettiva è resource.type = "gce_instance" AND severity >= "ERROR". Cloud Logging supporta sia le restrizioni disgiuntive, OR, sia quelle congiuntive, AND. Quando utilizzi le istruzioni OR, ti consigliamo di raggruppare le clausole con le parentesi.

      Per creare un sink:

      Console

      1. Nella console Google Cloud , vai alla pagina Router dei log:

        Vai a Router dei log

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

      2. Seleziona il progetto Google Cloud in cui hanno origine le voci di log che vuoi instradare.

        Ad esempio, se vuoi instradare le voci dei log di accesso ai dati dal progetto denominato Project-A a un bucket di log nel progetto denominato Project-B, seleziona Project-A.

      3. Seleziona Crea sink.

      4. Nel riquadro Dettagli sink, inserisci i seguenti dettagli:

        • Nome sink: fornisci un identificatore per il sink. Tieni presente che dopo aver creato il sink, non puoi rinominarlo, ma puoi eliminarlo e crearne uno nuovo.

        • (Facoltativo) Descrizione del sink: descrivi lo scopo o il caso d'uso del sink.

      5. Nel riquadro Destinazione sink, seleziona il servizio sink e la destinazione utilizzando il menu Seleziona il servizio sink. Esegui una delle seguenti operazioni:

        • Per indirizzare le voci di log a un servizio che si trova nello stesso progettoGoogle Cloud , seleziona una delle seguenti opzioni:

          • Set di dati BigQuery: seleziona o crea il set di dati scrivibile per ricevere le voci di log instradate. Hai anche la possibilità di utilizzare tabelle partizionate.
          • Bucket Cloud Storage: seleziona o crea il bucket Cloud Storage specifico per ricevere le voci di log instradate.
          • Argomento Pub/Sub: seleziona o crea l'argomento specifico per ricevere le voci di log instradate.
          • Splunk: seleziona l'argomento Pub/Sub per il tuo servizio Splunk.
        • Per instradare le voci di log a un Google Cloud progetto diverso, seleziona Google Cloud progetto e poi inserisci il nome completo della destinazione:

          logging.googleapis.com/projects/DESTINATION_PROJECT_ID
          
        • Per indirizzare le voci di log a un servizio che si trova in un progettoGoogle Cloud diverso, procedi nel seguente modo:

          1. Seleziona Altra risorsa.
          2. Inserisci il nome completo della destinazione. Per informazioni sulla sintassi, consulta Formati del percorso di destinazione.
      6. Specifica le voci di log da includere:

        1. Vai al riquadro Scegli i log da includere nel sink.

        2. Nel campo Crea filtro di inclusione, inserisci un'espressione di filtro che corrisponda alle voci di log che vuoi includere. Per scoprire di più sulla sintassi per scrivere i filtri, consulta Linguaggio delle query di Logging.

          Se non imposti un filtro, tutte le voci di log della risorsa selezionata vengono indirizzate alla destinazione.

          Ad esempio, per indirizzare tutte le voci di log di accesso ai dati a un bucket Logging, puoi utilizzare il seguente filtro:

          log_id("cloudaudit.googleapis.com/data_access") OR log_id("externalaudit.googleapis.com/data_access")
          

          La lunghezza di un filtro non può superare i 20.000 caratteri.

        3. Per verificare di aver inserito il filtro corretto, seleziona Anteprima dei log. Esplora log si apre in una nuova scheda con il filtro precompilato.

      7. (Facoltativo) Configura un filtro di esclusione per eliminare alcune delle voci di log incluse:

        1. Vai al riquadro Scegli i log da escludere dal sink.

        2. Nel campo Nome filtro di esclusione, inserisci un nome.

        3. Nel campo Crea un filtro di esclusione, inserisci un'espressione di filtro che corrisponda alle voci di log che vuoi escludere. Puoi anche utilizzare la funzione sample per selezionare una parte delle voci di log da escludere.

        Puoi creare fino a 50 filtri di esclusione per sink. Tieni presente che la lunghezza di un filtro non può superare i 20.000 caratteri.

      8. Seleziona Crea sink.

      9. Concedi all'account di servizio del sink l'autorizzazione a scrivere voci di log nella destinazione del sink. Per maggiori informazioni, vedi Impostare le autorizzazioni della destinazione.

      gcloud

      Per creare un sink:

      1. Esegui questo comando gcloud logging sinks create:

        gcloud logging sinks create SINK_NAME SINK_DESTINATION
        

        Prima di eseguire il comando, effettua le seguenti sostituzioni:

        • SINK_NAME: il nome del sink di log. Non puoi modificare il nome di un sink dopo averlo creato.
        • SINK_DESTINATION: Il servizio o il progetto a cui vuoi indirizzare le voci di log. Imposta SINK_DESTINATION con il percorso appropriato, come descritto in Formati del percorso di destinazione.

          Ad esempio, se la destinazione sink è un argomento Pub/Sub, SINK_DESTINATION ha il seguente aspetto:

          pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
          

        Puoi anche fornire le seguenti opzioni:

        • --log-filter : utilizza questa opzione per impostare un filtro che corrisponda alle voci di log che vuoi includere nel sink. Se non fornisci un valore per il filtro di inclusione, questo filtro corrisponde a tutte le voci di log.
        • --exclusion: utilizza questa opzione per impostare un filtro di esclusione per le voci di log che vuoi escludere dal routing del sink. Puoi anche utilizzare la funzione sample per selezionare una parte delle voci di log da escludere. Questa opzione può essere ripetuta; puoi creare fino a 50 filtri di esclusione per sink.
        • --description: utilizza questa opzione per descrivere lo scopo o il caso d'uso del sink.

        Ad esempio, per creare un sink in un bucket Logging, il comando potrebbe avere il seguente aspetto:

        gcloud logging sinks create my-sink logging.googleapis.com/projects/myproject123/locations/global/buckets/my-bucket \
         --log-filter='logName="projects/myproject123/logs/matched"' --description="My first sink"
        

        Per ulteriori informazioni sulla creazione di sink utilizzando Google Cloud CLI, consulta il riferimento gcloud logging sinks.

      2. Se la risposta del comando contiene una chiave JSON etichettata "writerIdentity", concedi all'account di servizio del sink l'autorizzazione di scrittura nella destinazione del sink. Per ulteriori informazioni, vedi Impostare le autorizzazioni della destinazione.

        Non è necessario impostare le autorizzazioni di destinazione quando la risposta non contiene una chiave JSON etichettata "writerIdentity".

      REST

      1. Per creare un sink di logging nel tuo progetto Google Cloud , utilizza projects.sinks.create nell'API Logging. Nell'oggetto LogSink, fornisci i valori obbligatori appropriati nel corpo della richiesta del metodo:

        • name: un identificatore per il sink. Tieni presente che dopo aver creato il sink, non puoi rinominarlo, ma puoi eliminarlo e crearne uno nuovo.
        • destination: Il servizio e la destinazione a cui vuoi indirizzare le voci di log. Per indirizzare le voci di log a un progetto diverso o a una destinazione che si trova in un altro progetto, imposta il campo destination con il percorso appropriato, come descritto in Formati del percorso di destinazione.

          Ad esempio, se la destinazione sink è un argomento Pub/Sub, destination ha il seguente aspetto:

          pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
          
      2. Nell'oggetto LogSink, fornisci le informazioni facoltative appropriate:

        • filter : imposta il campo filter in modo che corrisponda alle voci di log che vuoi includere nel sink. Se non imposti un filtro, tutte le voci di log del tuo progettoGoogle Cloud vengono indirizzate alla destinazione. Tieni presente che la lunghezza di un filtro non può superare i 20.000 caratteri.
        • exclusions: imposta questo campo in modo che corrisponda alle voci di log che vuoi escludere dal sink. Puoi anche utilizzare la funzione sample per selezionare una parte delle voci di log da escludere. Puoi creare fino a 50 filtri di esclusione per sink.
        • description: imposta questo campo per descrivere lo scopo o il caso d'uso del sink.
      3. Chiama projects.sinks.create per creare il sink.

      4. Se la risposta dell'API contiene una chiave JSON etichettata "writerIdentity", concedi all'account di servizio del sink l'autorizzazione a scrivere nella destinazione del sink. Per ulteriori informazioni, vedi Impostare le autorizzazioni della destinazione.

        Non devi impostare le autorizzazioni di destinazione quando la risposta dell'API non contiene una chiave JSON etichettata "writerIdentity".

      Per ulteriori informazioni sulla creazione di sink utilizzando l'API Logging, consulta il riferimento LogSink.

      Se ricevi notifiche di errore, consulta Risolvere i problemi relativi al routing e ai sink.

      Formati del percorso di destinazione

      Se indirizzi le voci di log a un servizio che si trova in un altro progetto, devi fornire al sink il nome completo del servizio. Analogamente, se esegui il routing delle voci di log a un altro progetto Google Cloud , devi fornire al sink il nome completo del progetto di destinazione:

      • Bucket di log Cloud Logging:

        logging.googleapis.com/projects/DESTINATION_PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
        
      • Un altro progetto Google Cloud :

        logging.googleapis.com/projects/DESTINATION_PROJECT_ID
        
      • Set di dati BigQuery:

        bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
        
      • Cloud Storage:

        storage.googleapis.com/BUCKET_NAME
        
      • Argomento Pub/Sub:

        pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
        

      Impostare le autorizzazioni di destinazione

      Questa sezione descrive come concedere a Logging le autorizzazioni Identity and Access Management per scrivere voci di log nella destinazione del sink. Per l'elenco completo dei ruoli e delle autorizzazioni di Logging, consulta Controllo dell'accesso.

      Cloud Logging crea un account di servizio condiviso per una risorsa quando viene creato un sink, a meno che l'account di servizio richiesto non esista già. Il account di servizio potrebbe esistere perché lo stesso account di servizio viene utilizzato per tutte le destinazioni nella risorsa sottostante. Le risorse possono essere un Google Cloud progetto, un'organizzazione, una cartella o un account di fatturazione.

      L'identità writer di un sink è l'identificatore dell'account di servizio associato a quel sink. Tutti i sink hanno un'identità writer, tranne quelli che scrivono in un bucket log nello stesso progetto in cui ha origine la voce di log. Google Cloud Per quest'ultima configurazione, non è necessario un account di servizio e pertanto il campo identità writer del sink è elencato come None nella console. L'API e i comandi Google Cloud CLI non segnalano un'identità di scrittura.

      Le seguenti istruzioni si applicano a progetti, cartelle, organizzazioni e account di fatturazione:

      Console

      1. Assicurati di disporre dell'accesso Proprietario al progettoGoogle Cloud che contiene la destinazione. Se non disponi dell'accesso Proprietario alla destinazione del sink, chiedi a un proprietario del progetto di aggiungere l'identità del writer come entità.

      2. Per ottenere l'identità del writer del sink, ovvero un indirizzo email, dal nuovo sink:

        1. Nella console Google Cloud , vai alla pagina Router dei log:

          Vai a Router dei log

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

        2. Nella barra degli strumenti, seleziona il progetto che contiene il sink.
        3. Seleziona Menu e poi seleziona Visualizza dettagli scarico. L'identità dell'autore viene visualizzata nel riquadro Dettagli sink.
      3. Se il valore del campo writerIdentity contiene un indirizzo email, vai al passaggio successivo. Quando il valore è None, non è necessario configurare le autorizzazioni di destinazione per il sink.

      4. Copia l'identità del writer del sink negli appunti.

        L'indirizzo email identifica l'entità. Il prefisso serviceAccount: specifica il tipo di account.

      5. Concedi all'entità specificata nell'identità del writer del sink l'autorizzazione per scrivere i dati di log nella destinazione:

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

          Vai a IAM

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

        2. Nella barra degli strumenti, assicurati che il progetto selezionato sia il progetto che archivia la destinazione o la destinazione sink. Ad esempio, se la destinazione è un bucket di log, assicurati che la barra degli strumenti mostri il progetto che archivia il bucket di log.

        3. Fai clic su Concedi l'accesso.

        4. Concedi all'entità specificata nell'identità writer del sink un ruolo IAM in base alla destinazione del sink di log:

      gcloud

      1. Assicurati di disporre dell'accesso Proprietario al progettoGoogle Cloud che contiene la destinazione. Se non disponi dell'accesso Proprietario alla destinazione del sink, chiedi a un proprietario del progetto di aggiungere l'identità del writer come entità.

      2. Recupera il account di servizio dal campo writerIdentity nel sink:

        gcloud logging sinks describe SINK_NAME
        
      3. Individua il sink di cui vuoi modificare le autorizzazioni e, se i dettagli del sink contengono una riga con writerIdentity, procedi al passaggio successivo. Se i dettagli non includono un campo writerIdentity, non è necessario configurare le autorizzazioni di destinazione per il sink.

        L'identità del writer per il account di servizio ha un aspetto simile al seguente:

        serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
        
      4. Concedi all'identità writer del sink l'autorizzazione per scrivere i dati di log nella destinazione chiamando il comando gcloud projects add-iam-policy-binding.

        Prima di utilizzare il comando seguente, esegui le seguenti sostituzioni:

        • PROJECT_ID: l'identificatore del progetto. Specifica il progetto che archivia la destinazione del sink di log. Se la destinazione è un progetto, specificalo.
        • PRINCIPAL: un identificatore per l'entità a cui vuoi concedere il ruolo. Gli identificatori dell'entità in genere hanno il seguente formato: PRINCIPAL-TYPE:ID. Ad esempio: user:my-user@example.com. Per un elenco completo dei formati che PRINCIPAL può avere, consulta Identificatori principali.
        • ROLE: un ruolo IAM. Concedi all'identità writer del sink un ruolo IAM in base alla destinazione del sink di log:

        Esegui il comando gcloud projects add-iam-policy-binding:

        gcloud projects add-iam-policy-binding PROJECT_ID --member=PRINCIPAL --role=ROLE
        

      REST

      Ti consigliamo di utilizzare la console Google Cloud o Google Cloud CLI per concedere un ruolo al account di servizio.

      Gestisci i sink

      Una volta creati i sink, puoi eseguire le seguenti azioni. L'applicazione delle modifiche apportate a un sink potrebbe richiedere alcuni minuti:

      • Visualizza dettagli
      • Aggiorna
      • Disattiva

        • Non puoi disattivare il sink _Required.
        • Puoi disattivare il sink _Default per impedire il routing delle voci di log al bucket Logging _Default.
        • Se vuoi disattivare il sink _Default per tutti i nuovi progetti o cartelleGoogle Cloud creati nella tua organizzazione, valuta la possibilità di configurare le impostazioni predefinite delle risorse.
      • Elimina

        • Non puoi eliminare i sink _Default o _Required.
        • Quando elimini un sink, questo non instrada più le voci di log.
        • Se il sink ha un account di servizio dedicato, l'eliminazione del sink comporta anche l'eliminazione delaccount di serviziot. I sink creati prima del 22 maggio 2023 hanno service account dedicati. I sink creati a partire dal 22 maggio 2023 hanno unaccount di serviziot condiviso. L'eliminazione del sink non comporta l'eliminazione del account di servizio condiviso.
      • Risolvere i problemi relativi agli errori

      • Visualizza volume di log e tassi di errore

      Di seguito sono riportate le istruzioni per gestire un sink in un progetto Google Cloud . Invece di un progetto, puoi specificare un account di fatturazione, una cartella o un'organizzazione: Google Cloud

      Console

      1. Nella console Google Cloud , vai alla pagina Router dei log:

        Vai a Router dei log

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

      2. Nella barra degli strumenti, seleziona la risorsa che contiene il sink. La risorsa può essere un progetto, una cartella, un'organizzazione o un account di fatturazione.

      La pagina Router dei log mostra i sink nella risorsa selezionata. Ogni riga della tabella contiene informazioni sulle proprietà di un lavandino:

      • Abilitato: indica se lo stato del sink è abilitato o disabilitato.
      • Tipo: il servizio di destinazione del sink, ad esempio Cloud Logging bucket.
      • Nome: l'identificatore del sink, fornito al momento della creazione; ad esempio _Default.
      • Descrizione: la descrizione del sink, fornita al momento della creazione.
      • Destinazione: nome completo della destinazione a cui vengono inviate le voci di log instradate.
      • Creato: la data e l'ora in cui è stato creato il sink.
      • Ultimo aggiornamento: la data e l'ora dell'ultima modifica del sink.
      • Volume: indica il volume totale di log indirizzati al sink di log. Il valore include il volume indirizzato ai bucket di log, ai progetti o ad altre destinazioni.

      Per ogni riga della tabella, il menu Altre azioni offre le seguenti opzioni:

      • Visualizza dettagli sink: mostra il nome, la descrizione, il servizio di destinazione, la destinazione e i filtri di inclusione ed esclusione del sink. Se selezioni Modifica, si apre il riquadro Modifica sink.
      • Modifica sink: apre il riquadro Modifica sink in cui puoi aggiornare i parametri del sink.
      • Disattiva sink: consente di disattivare il sink e interrompere il routing delle voci di log alla destinazione del sink. Per ulteriori informazioni sulla disattivazione dei sink, consulta Interrompere l'archiviazione dei log nei bucket log.
      • Attiva sink: consente di attivare un sink disattivato e riavviare il routing delle voci di log alla destinazione del sink.
      • Elimina sink: consente di eliminare il sink e interrompere il routing delle voci di log alla destinazione del sink.
      • Risolvi i problemi relativi al sink: apre Esplora log, dove puoi risolvere i problemi relativi al sink.
      • Visualizza volume di log e tassi di errore del sink: apre Metrics Explorer, dove puoi visualizzare e analizzare i dati del sink.

      Per ordinare la tabella in base a una colonna, seleziona il nome della colonna.

      gcloud

      • Per visualizzare l'elenco dei sink per il tuo progetto Google Cloud , utilizza il comando gcloud logging sinks list, che corrisponde al metodo dell'API Logging projects.sinks.list:

        gcloud logging sinks list
        

        Per visualizzare l'elenco dei sink aggregati, utilizza l'opzione appropriata per specificare la risorsa che contiene il sink. Ad esempio, se hai creato il sink a livello di organizzazione, utilizza l'opzione --organization=ORGANIZATION_ID per elencare i sink per l'organizzazione.

      • Per descrivere un sink, utilizza il comando gcloud logging sinks describe, che corrisponde al metodo dell'API Logging projects.sinks.get:

        gcloud logging sinks describe SINK_NAME
        
      • Per aggiornare un sink, utilizza il comando gcloud logging sinks update, che corrisponde al metodo API projects.sink.update.

        Puoi aggiornare un sink per modificare la destinazione, i filtri e la descrizione oppure per disabilitare o riattivare il sink:

        gcloud logging sinks update SINK_NAME NEW_DESTINATION --log-filter=NEW_FILTER

        Ometti NEW_DESTINATION o --log-filter se queste parti non cambiano.

        Ad esempio, per aggiornare la destinazione del sink denominato my-project-sink a una nuova destinazione del bucket Cloud Storage denominata my-second-gcs-bucket, il comando è il seguente:

        gcloud logging sinks update  my-project-sink storage.googleapis.com/my-second-gcs-bucket
        
      • Per disattivare un sink, utilizza il comando gcloud logging sinks update, che corrisponde al metodo API projects.sink.update, e includi l'opzione --disabled:

        gcloud logging sinks update SINK_NAME --disabled
        

        Per riattivare il sink, utilizza il comando gcloud logging sinks update, rimuovi l'opzione --disabled e includi l'opzione --no-disabled:

        gcloud logging sinks update SINK_NAME --no-disabled
        
      • Per eliminare un sink, utilizza il comando gcloud logging sinks delete, che corrisponde al metodo API projects.sinks.delete:

        gcloud logging sinks delete SINK_NAME
        

        Per ulteriori informazioni sulla gestione dei sink utilizzando Google Cloud CLI, consulta il riferimento gcloud logging sinks.

      REST

      • Per visualizzare i sink per il tuo progetto Google Cloud , chiama projects.sinks.list.

      • Per visualizzare i dettagli di un lavandino, chiama projects.sinks.get.

      • Per aggiornare un sink, chiama projects.sink.update.

        Puoi aggiornare la destinazione, i filtri e la descrizione di un sink. Puoi anche disattivare o riattivare il sink.

      • Per disattivare un sink, imposta il campo disabled nell'oggetto LogSink su true, quindi chiama projects.sink.update.

        Per riattivare il sink, imposta il campo disabled nell'oggetto LogSink su false, quindi chiama projects.sink.update.

      • Per eliminare un lavello, chiama projects.sinks.delete.

        Per ulteriori informazioni sulla gestione dei sink utilizzando l'API Logging, consulta il riferimento LogSink.

      Interrompi l'archiviazione delle voci di log nei bucket di log

      Puoi disattivare il sink _Default e tutti i sink definiti dall'utente. Quando disattivi un sink, questo smette di indirizzare le voci di log alla destinazione. Ad esempio, se disattivi il sink _Default, nessuna voce di log viene indirizzata al bucket _Default. Il bucket _Default diventa vuoto quando tutte le voci di log archiviate in precedenza hanno soddisfatto il periodo di conservazione del bucket.

      Le seguenti istruzioni mostrano come disattivare i sink del progetto Google Cloud che indirizzano le voci di log ai bucket di log_Default:

      Console

      1. Nella console Google Cloud , vai alla pagina Router dei log:

        Vai a Router dei log

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

      2. Per trovare tutti i sink che indirizzano le voci di log al bucket di log _Default, filtra i sink per destinazione, quindi inserisci _Default.
      3. Per ogni sink, seleziona Menu e poi Disattiva sink.

        I sink sono ora disattivati e i sink del progetto Google Cloud non indirizzano più le voci di log al bucket _Default.

      Per riattivare un sink disattivato e riavviare il routing delle voci di log alla destinazione del sink, procedi nel seguente modo:

      1. Nella console Google Cloud , vai alla pagina Router dei log:

        Vai a Router dei log

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

      2. Per trovare tutti i sink che indirizzano le voci di log al bucket di log _Default, filtra i sink per destinazione, quindi inserisci _Default.
      3. Per ogni sink, seleziona Menu e poi Attiva sink.

      gcloud

      1. Per visualizzare l'elenco dei sink per il tuo progetto Google Cloud , utilizza il comando gcloud logging sinks list, che corrisponde al metodo dell'API Logging projects.sinks.list:

        gcloud logging sinks list
        
      2. Identifica i sink che eseguono il routing al bucket di log _Default. Per descrivere un sink, incluso il nome della destinazione, utilizza il comando gcloud logging sinks describe, che corrisponde al metodo API Logging projects.sinks.get:

        gcloud logging sinks describe SINK_NAME
        
      3. Esegui il comando gcloud logging sinks update e includi l'opzione --disabled. Ad esempio, per disattivare il sink _Default, utilizza il seguente comando:

        gcloud logging sinks update _Default  --disabled
        

        Il sink _Default è ora disabilitato e non indirizza più le voci di log al bucket di log _Default.

      Per disattivare gli altri sink nel progetto Google Cloud che eseguono il routing al bucket _Default, ripeti i passaggi precedenti.

      Per riattivare un sink, utilizza il comando gcloud logging sinks update, rimuovi l'opzione --disabled e includi l'opzione --no-disabled:

      gcloud logging sinks update _Default  --no-disabled
      

      REST

      1. Per visualizzare i sink per il tuo progetto Google Cloud , chiama il metodo dell'API Logging projects.sinks.list.

        Identifica tutti i sink che indirizzano al bucket _Default.

      2. Ad esempio, per disattivare il sink _Default, imposta il campo disabled nell'oggetto LogSink su true, quindi chiama projects.sink.update.

        Il sink _Default è ora disabilitato e non indirizza più le voci di log al bucket _Default.

      Per disattivare gli altri sink nel progetto Google Cloud che eseguono il routing al bucket _Default, ripeti i passaggi precedenti.

      Per riattivare un sink, imposta il campo disabled nell'oggetto LogSink su false, quindi chiama projects.sink.update.

      Esempi di codice

      Per utilizzare il codice della libreria client per configurare i sink nelle lingue che preferisci, consulta Librerie client di Logging: sink di log.

      Esempi di filtro

      Di seguito sono riportati alcuni esempi di filtri particolarmente utili per la creazione di sink. Per altri esempi che potrebbero esserti utili durante la creazione dei filtri di inclusione e di esclusione, consulta Query di esempio.

      Ripristinare il filtro del lavello _Default

      Se hai modificato il filtro per il sink _Default, potresti voler ripristinare la configurazione originale. Una volta creato, il sink _Default viene configurato con il seguente filtro di inclusione e un filtro di esclusione vuoto:

        NOT log_id("cloudaudit.googleapis.com/activity") AND NOT \
        log_id("externalaudit.googleapis.com/activity") AND NOT \
        log_id("cloudaudit.googleapis.com/system_event") AND NOT \
        log_id("externalaudit.googleapis.com/system_event") AND NOT \
        log_id("cloudaudit.googleapis.com/access_transparency") AND NOT \
        log_id("externalaudit.googleapis.com/access_transparency")
      

      Escludi i log dei container e dei pod Google Kubernetes Engine

      Per escludere le voci di log dei container e dei pod di Google Kubernetes Engine per il sistema GKE namespaces, utilizza il seguente filtro:

      resource.type = ("k8s_container" OR "k8s_pod")
      resource.labels.namespace_name = (
      "cnrm-system" OR
      "config-management-system" OR
      "gatekeeper-system" OR
      "gke-connect" OR
      "gke-system" OR
      "istio-system" OR
      "knative-serving" OR
      "monitoring-system" OR
      "kube-system")
      

      Per escludere le voci di log dei nodi Google Kubernetes Engine per il sistema GKE logNames, utilizza il seguente filtro:

      resource.type = "k8s_node"
      logName:( "logs/container-runtime" OR
      "logs/docker" OR
      "logs/kube-container-runtime-monitor" OR
      "logs/kube-logrotate" OR
      "logs/kube-node-configuration" OR
      "logs/kube-node-installation" OR
      "logs/kubelet" OR
      "logs/kubelet-monitor" OR
      "logs/node-journal" OR
      "logs/node-problem-detector")
      

      Per visualizzare il volume delle voci di log di nodi, pod e container Google Kubernetes Engine archiviate nei bucket di log, utilizza Metrics Explorer:

      Escludere i log di Dataflow non necessari per la supportabilità

      Per escludere le voci di log di Dataflow che non sono necessarie per la supportabilità, utilizza il seguente filtro:

      resource.type="dataflow_step"
      labels."dataflow.googleapis.com/log_type"!="system" AND labels."dataflow.googleapis.com/log_type"!="supportability"
      

      Per visualizzare il volume dei log Dataflow archiviati nei bucket di log, utilizza Metrics Explorer.

      Supportabilità

      Anche se Cloud Logging ti consente di escludere le voci di log e impedire che vengano archiviate in un bucket di log, ti consigliamo di conservare le voci di log che aiutano a migliorare la supportabilità. L'utilizzo di queste voci di log può aiutarti a risolvere i problemi e a identificare i problemi con le tue applicazioni.

      Ad esempio, le voci dei log di sistema GKE sono utili per risolvere i problemi delle tue applicazioni e dei tuoi cluster GKE perché vengono generate per gli eventi che si verificano nel tuo cluster. Queste voci di log possono aiutarti a determinare se l'errore dell'applicazione è causato dal codice dell'applicazione o dal cluster GKE sottostante. I log di sistema GKE includono anche il logging di controllo di Kubernetes generato dal componente del server API Kubernetes, che include le modifiche apportate utilizzando il comando kubectl e gli eventi Kubernetes.

      Per Dataflow, ti consigliamo di scrivere almeno i log di sistema (labels."dataflow.googleapis.com/log_type"="system") e i log di supporto (labels."dataflow.googleapis.com/log_type"="supportability") nei bucket di log. Questi log sono essenziali per gli sviluppatori per osservare e risolvere i problemi delle pipeline Dataflow e gli utenti potrebbero non essere in grado di utilizzare la pagina Dettagli job di Dataflow per visualizzare i log dei job.

      Passaggi successivi