Esegui il routing dei log nelle destinazioni supportate

Questo documento spiega come creare e gestire i sink per instradare le voci di log a destinazioni supportate.

Cloud Logging crea e gestisce automaticamente un account di servizio per il log sink che instradano i log verso una destinazione diversa da un bucket di log progetto Google Cloud attuale. Puoi creare e gestire un account di servizio usato dai sink in più progetti. Per ulteriori informazioni, vedi Configura sink di log con account di servizio gestiti dall'utente.

Panoramica

I sink controllano il modo in cui Cloud Logging delle route. Con i sink, puoi instradare alcuni o tutti i log a le seguenti destinazioni:

  • Bucket Cloud Logging: fornisce spazio di archiviazione in Cloud Logging. Un bucket di log può archiviare le voci di log ricevute da più progetti Google Cloud. Puoi combinare I dati di Cloud Logging con altri dati eseguendo l'upgrade di un bucket di log da utilizzare Analisi dei log e creazione di un set di dati BigQuery collegato. Per informazioni sulla visualizzazione delle voci di log archiviate nei bucket di log, consulta Panoramica delle query e delle visualizzazioni dei log e visualizzare i log con routing ai bucket Cloud Logging.
  • Set di dati BigQuery: fornisce l'archiviazione delle voci di log in set di dati BigQuery. Puoi utilizzare le funzionalità di analisi dei big data sulle voci di log archiviate. Per combinare i dati di Cloud Logging con altri origini dati, ti consigliamo di eseguire l'upgrade dei bucket di log Analisi dei log e poi creare un set di dati BigQuery collegato. Per informazioni sulla visualizzazione delle voci di log indirizzate a BigQuery, consulta Visualizza i log indirizzati a BigQuery.
  • Bucket Cloud Storage: fornisce l'archiviazione delle voci di log in Cloud Storage. Registra sono archiviate come file JSON. Per informazioni sulla visualizzazione del log con routing a Cloud Storage, vedi Visualizzare i log con routing a Cloud Storage.
  • Argomento Pub/Sub: fornisce supporto per le integrazioni di terze parti. Registra vengono formattate in JSON e quindi instradate a Pub/Sub per ogni argomento. Per informazioni sulla visualizzazione delle voci di log indirizzate a vedi Pub/Sub, Visualizza i log con routing a Pub/Sub.
  • Splunk: fornisce assistenza per Splunk. Devi instradare le voci di log a un argomento Pub/Sub e quindi sottoscrivere quell'argomento usando Splunk.
  • Progetto Google Cloud: esegui il routing delle voci di log a un altro progetto Google Cloud. Quando puoi instradare le voci di log a un altro progetto Google Cloud, la destinazione il router dei log del progetto riceve le voci di log e le elabora. La i sink nel progetto di destinazione determinano in che modo vengono vengono indirizzate correttamente. Error Reporting può analizzare le voci di log quando la destinazione Il progetto instrada queste voci di log a un bucket di log di proprietà della destinazione progetto.
  • Altre risorse: instrada le voci di log a una destinazione supportata che si trova in un altro progetto. Per informazioni sui percorsi da utilizzare, consulta Formati del percorso di destinazione:

I sink appartengono a una determinata risorsa Google Cloud: i progetti Google Cloud, account di fatturazione, cartelle e organizzazioni. Quando la risorsa riceve un di log, instrada la voce di log in base ai sink che contiene risorsa. La voce di log viene inviata alla destinazione associata a ogni corrispondenza un lavandino.

Un sink aggregato è un tipo di sink che combina e instrada le voci di log dal Risorse Google Cloud contenuti in un'organizzazione o da una cartella. Per istruzioni, vedi Facolta e instrada i log a livello di organizzazione verso le destinazioni supportate.

Per creare e gestire i sink, puoi usare la console Google Cloud, l'API Cloud Logging e Google Cloud CLI. L'utilizzo del La console Google Cloud offre i seguenti vantaggi rispetto agli altri metodi:

  • Visualizza e gestisci tutti i tuoi sink in un'unica posizione.
  • Prima di visualizzare l'anteprima delle voci di log corrispondenti al filtro del sink e creare il sink.
  • Crea e autorizza le destinazioni dei sink.

Prima di iniziare

Le istruzioni in questo documento descrivono la creazione e la gestione dei sink a livello di progetto Google Cloud. Puoi anche creare sink non aggregati per account di fatturazione, cartelle e organizzazioni.

Per iniziare, segui questi passaggi:

  1. Assicurati di avere un progetto Google Cloud con i log che puoi visualizzare nel Esplora log.

  2. Attiva l'API Cloud Logging.

    Abilita l'API

  3. Per ottenere le autorizzazioni necessarie per creare, modificare o eliminare un sink, chiedi all'amministratore di concederti Ruolo IAM Autore configurazione log (roles/logging.configWriter) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

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

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

  4. Hai una risorsa in una destinazione supportata oppure poterne creare uno.

    Per eseguire il routing dei log a una destinazione, la destinazione deve esistere prima di e creare il sink. Puoi creare la destinazione in qualsiasi progetto Google Cloud in qualsiasi organizzazione.

    Potrebbero essere applicate alcune limitazioni quando esegui il routing dei log ad altri destinazioni. Per saperne di più, vedi Limitazioni della destinazione.

Creazione di un sink

Di seguito sono riportate le istruzioni per creare un sink in un progetto Google Cloud. Anziché un progetto Google Cloud, puoi specificare un account di fatturazione, cartella o organizzazione.

Puoi creare fino a 200 sink per progetto Google Cloud.

Dopo aver creato il sink, assicurati che Logging dispone delle autorizzazioni appropriate per scrivere i log nella destinazione del sink; vedi Imposta le autorizzazioni della destinazione.

Per creare un sink, segui questi passaggi:

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 un progetto Google Cloud esistente.

  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 creare il sink, non puoi rinominarlo, ma puoi eliminarlo e creare un nuovo sink.

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

  5. Nel riquadro Destinazione sink, seleziona il servizio sink e usando il menu Seleziona servizio sink.

    1. Per eseguire il routing dei log a un servizio nello stesso progetto Google Cloud, seleziona una delle seguenti opzioni:

      • Bucket Cloud Logging: seleziona o crea un Bucket di Logging.
      • Set di dati BigQuery: seleziona o crea l'elemento per ricevere i log con routing. Hai anche la possibilità di utilizzare tabelle partizionate.
      • Bucket Cloud Storage: seleziona o crea l'elemento Bucket Cloud Storage per ricevere i log con routing.
      • Argomento Pub/Sub: seleziona o crea l'elemento per ricevere i log con routing.
      • Splunk: seleziona l'argomento Pub/Sub per il tuo Splunk completamente gestito di Google Cloud.
      • Progetto Google Cloud: seleziona o crea il progetto Google Cloud per ricevere i log con routing.
      • Altra risorsa: seleziona questa opzione per instradare le voci di log a. per una destinazione supportata in un altro progetto. Per informazioni sul percorso consulta Formati del percorso di destinazione.
  6. Nel riquadro Scegli i log da includere nel sink, segui questi passaggi:

    1. Nel campo Crea filtro di inclusione, inserisci un'espressione di filtro che corrisponda alle voci di log che vuoi includere. Per scoprire di più su la sintassi per la scrittura dei filtri, consulta Linguaggio di query di Logging.

      Se non imposti un filtro, tutti i log della risorsa selezionata verranno indirizzate alla destinazione.

      Ad esempio, potresti creare un filtro per instradare tutti i log di accesso ai dati a un un singolo bucket Logging. Questo filtro ha il seguente aspetto:

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

      Tieni presente che la lunghezza di un filtro non può superare i 20.000 caratteri.

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

  7. (Facoltativo) Nel riquadro Scegli i log per escludere il sink, procedi nel seguente modo: le seguenti:

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

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

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

  8. Seleziona Crea sink.

API

  1. Per creare un sink di logging nel progetto Google Cloud, utilizza projects.sinks.create nell'API Logging. Nel LogSink , fornisci i valori obbligatori appropriati nella richiesta corpo del testo:

    • name: un identificatore del sink. Tieni presente che, dopo aver creato non puoi rinominare il sink, ma puoi eliminarlo e creare un un nuovo lavandino.
    • destination: il servizio e la destinazione in cui vuoi che vengano visualizzati i log vengono indirizzate correttamente. Per eseguire il routing dei log a un progetto diverso o a una destinazione si trova in un altro progetto, imposta il campo destination con percorso appropriato, come descritto in Formati del percorso di destinazione.

      Ad esempio, se la destinazione del sink è un BigQuery del set di dati, destination avrà il seguente aspetto:

      bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
      
  2. Nell'oggetto LogSink, fornisci le informazioni facoltative appropriate:

    • filter : imposta filter in modo che corrisponda alle voci di log che vuoi includere nel sink. Se non imposti un filtro, tutti i log del tuo progetto Google Cloud vengono indirizzate alla destinazione. Tieni presente che la lunghezza di un filtro non può superare i 20.000 caratteri.
    • exclusions: imposta questa proprietà in modo che corrisponda alle voci di log che preferisci escludere dal sink. Puoi utilizzare anche Funzione sample per selezionare una parte delle voci di log da escludere. Puoi creare al massimo 50 filtri di esclusione per sink.
    • description: imposta questa proprietà per descrivere lo scopo o il caso d'uso per nel lavandino.
  3. Chiama projects.sinks.create per creare il sink.

  4. Se la risposta dell'API contiene una chiave JSON con l'etichetta "writerIdentity", e poi concedi all'account di servizio del sink l'autorizzazione per scrivere della destinazione del sink. Per ulteriori informazioni, consulta Impostare le autorizzazioni della destinazione.

    Non è necessario impostare le autorizzazioni di destinazione quando la risposta dell'API non contiene una chiave JSON con l'etichetta "writerIdentity".

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

gcloud

Per creare un sink, esegui questo comando gcloud logging sinks create .

Fornisci i valori appropriati per le variabili nel comando come segue:

  • SINK_NAME: un identificatore del sink. Tieni presente che dopo crei il sink, non puoi rinominarlo, ma puoi eliminarlo e creare un nuovo sink.
  • SINK_DESTINATION: il servizio e la destinazione dove vuoi con il routing dei log. Per eseguire il routing dei log a un altro progetto o a un destinazione che si trova in un altro progetto, imposta SINK_DESTINATION con il percorso appropriato, come descritto in Formati del percorso di destinazione.

    Ad esempio, se la destinazione del sink è un set di dati BigQuery, il valore SINK_DESTINATION è simile al seguente:

    bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
    
  • OPTIONAL_FLAGS include i seguenti flag:

    • --log-filter : usa questo flag per impostare un filtra che corrisponde alle voci di log che vuoi includere nel sink. In caso contrario imposta un filtro, tutti i log del progetto Google Cloud vengono instradati a la destinazione.
    • --exclusion: utilizza questo flag per impostare un filtro di esclusione per le voci di log che vuoi escludere dal sink. Puoi utilizzare anche Funzione sample per selezionare una parte delle voci di log da escludere. Questo flag può essere ripetuto; puoi creare fino a 50 esclusioni e filtri per sink.
    • --description: utilizza questo flag per descrivere lo scopo o il caso d'uso per nel lavandino.
gcloud logging sinks create SINK_NAME SINK_DESTINATION OPTIONAL_FLAGS

Ad esempio, per creare un sink in un bucket Logging, 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, che include altri flag ed esempi, consulta la Riferimento gcloud logging sinks.

Potrebbero essere necessarie diverse ore prima che i nuovi sink di log nei bucket Cloud Storage per avviare il routing dei log. I sink in Cloud Storage vengono elaborati ogni ora, mentre gli altri tipi di destinazioni vengono elaborati in tempo reale.

I sink non definiscono lo schema per i set di dati BigQuery. La prima voce di log ricevuta da BigQuery determina invece schema per la tabella di destinazione. Per saperne di più, consulta Schema di BigQuery per i log con routing.

Per informazioni su come visualizzare i log nelle destinazioni sink, consulta Visualizza i log con routing ai bucket Cloud Logging.

Dopo aver creato il sink, puoi visualizzare il numero e il volume delle voci di log ricevuto tramite logging.googleapis.com/exports/ metriche.

Se ricevi notifiche di errore, consulta Risolvi i problemi di routing e sink.

Non inserire informazioni sensibili nei filtri del sink. I filtri sink vengono trattati come dati di servizio.

Formati percorso di destinazione

Se esegui il routing verso una destinazione che si trova in un altro progetto, devi offrono gli strumenti per log, BigQuery Cloud Storage o servizio e destinazione Pub/Sub informazioni:

  • Instradare le voci di log a un bucket di log di Cloud Logging che si trova in un altro progetto Google Cloud, la destinazione del sink seguenti:

    logging.googleapis.com/projects/DESTINATION_PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
    
  • Per instradare le voci di log a un altro progetto Google Cloud, utilizza il percorso di destinazione del sink è la seguente:

    logging.googleapis.com/projects/DESTINATION_PROJECT_ID
    
  • Per eseguire il routing delle voci di log a un set di dati BigQuery, il sink è la seguente:

    bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
    
  • Per instradare le voci di log a un bucket Cloud Storage, il sink è la seguente:

    storage.googleapis.com/BUCKET_NAME
    
  • Per instradare le voci di log a un argomento Pub/Sub, il sink è la seguente:

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

Gestisci i sink

Dopo aver creato i sink, puoi eseguire queste azioni sui sink:

  • Visualizza dettagli sink
  • Aggiorna sink
  • Disattiva sink
  • Elimina sink
  • Risoluzione dei problemi relativi al sink
  • Visualizza volume di log e tassi di errore del sink

Prima di eliminare un sink, considera quanto segue:

  • Non puoi eliminare i sink _Default e _Required, ma puoi disabilita i sink _Default per interrompere il routing dei log su _Default Bucket di logging.
  • Dopo l'eliminazione di un sink, il routing delle voci di log viene interrotto.
  • Se il sink ha un account di servizio dedicato, viene eliminato anche il sink l'account di servizio. Sink creati prima del giorno Il 22 maggio 2023 avranno account di servizio dedicati. Sink creati a partire dal 22 maggio 2023 avranno un account di servizio condiviso. L'eliminazione del sink non comporta l'eliminazione dell'account di servizio condiviso.

L'applicazione di qualsiasi modifica apportata a un sink potrebbe richiedere alcuni minuti.

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

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 che contiene utilizzando il selettore di risorse in qualsiasi punto Console Google Cloud:

    Viene selezionato un progetto dal menu a discesa.

  3. Per visualizzare sink aggregati, seleziona dell'organizzazione, della cartella o dell'account di fatturazione che contiene il sink.

La pagina Router dei log contiene una tabella di riepilogo dei sink. Ogni tabella contiene informazioni sulle proprietà di un sink:

  • Attivato: indica se lo stato del sink è attivato o disattivato.
  • Tipo: il servizio di destinazione del sink; ad esempio Cloud Logging bucket.
  • Nome: l'identificatore del sink, fornito al momento della creazione del sink ad esempio _Default.
  • Descrizione: la descrizione del sink, come fornita quando il sink era è stato creato.
  • Destinazione: nome completo della destinazione in cui è stato indirizzato il log. verranno inviate.
  • Creato: la data e l'ora in cui è stato creato il sink.
  • Ultimo aggiornamento: la data e l'ora dell'ultima modifica del sink.

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

  • Visualizza dettagli sink: mostra nome, descrizione e servizio di destinazione, destinazione e filtri di inclusione ed esclusione. Selezionando Modifica, si apre il riquadro Modifica sink.
  • Modifica sink: apre il riquadro Modifica sink in cui puoi aggiornare il i parametri del sink.
  • Disattiva sink: consente di disattivare il sink e interrompere il routing dei log verso il del sink. Per ulteriori informazioni sulla disattivazione dei sink, consulta Interrompi l'archiviazione dei log nei bucket di log.
  • Attiva sink: consente di abilitare un sink disattivato e riavviare il routing i log nella destinazione del sink.
  • Elimina sink: consente di eliminare il sink e interrompere il routing dei log verso il sink del sink.
  • Sink dei problemi: apre Esplora log in cui puoi risolvere i problemi gli errori del sink.
  • Visualizza il volume di log e i tassi di errore del sink: apre Metrics Explorer dove puoi visualizzare e analizzare i dati dal sink.

Se fai clic sui nomi delle colonne, puoi ordinare i dati in ordine crescente in ordine decrescente.

API

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

  • Per visualizzare i dettagli di un sink, 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 per disattivare o riattivare il sink.

  • Per disabilitare un sink, chiama projects.sink.update e imposta la proprietà disabled su true.

    Per riattivare il sink, chiama projects.sink.update e imposta la proprietà disabled su false.

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

    Per ulteriori informazioni su questi metodi per la gestione dei sink utilizzando per l'API Logging, consulta il riferimento LogSink.

gcloud

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

    gcloud logging sinks list
    

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

  • Per descrivere un sink, utilizza 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 gcloud logging sinks update che corrisponde al metodo API projects.sink.update.

    Puoi aggiornare un sink per modificare destinazione, filtri descrizione oppure per disattivare 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 denominato my-second-gcs-bucket, il tuo comando ha questo aspetto:

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

    gcloud logging sinks update _Default  --disabled
    

    Per riattivare il sink, utilizza il gcloud logging sinks update rimuovi il flag --disabled e includi --no-disabled Segnala:

    gcloud logging sinks update _Default  --no-disabled
    
  • Per eliminare un sink, utilizza 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 tramite Google Cloud CLI, consulta Riferimento gcloud logging sinks.

Interrompi l'archiviazione dei log nei bucket di log

Per ogni progetto Google Cloud, Logging crea automaticamente due bucket di log: _Required e _Default. Il logging crea automaticamente due sink di log, _Required e _Default, la route sarà registrata nei bucket denominati corrispondenti.

Non puoi disabilitare il sink _Required. Puoi disattiva il sink _Default per interrompere l'archiviazione dei log nel _Default bucket. Puoi anche disabilitare qualsiasi sink definito dall'utente.

Quando disabiliti tutti i sink nel tuo progetto Google Cloud che inviano i log al bucket _Default, non verranno archiviati nuovi log nel bucket di log. Il bucket _Default è vuoto quando tutti i log archiviati in precedenza _Default bucket ha soddisfatto i requisiti del bucket periodo di conservazione.

Per disabilitare i sink del progetto Google Cloud che instradano i log verso _Default, procedi nel seguente modo: , completa questi passaggi:

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 instradano i log al bucket _Default, filtra dei sink in base alla destinazione, quindi inserisci _Default.

    Trova tutti i sink che eseguono il routing dei log al bucket predefinito.

  3. Per ogni sink, seleziona Menu e quindi seleziona Disattiva sink.

I sink sono ora disabilitati e il tuo progetto Google Cloud non genera più sink eseguire il routing dei log più lunghi al bucket _Default.

Per riattivare un sink disabilitato e riavviare i log di routing nel sink di destinazione, 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 disattivati precedentemente configurati per il routing dei log verso _Default bucket, filtra i sink in base alla destinazione, quindi inserisci _Default.

  3. Per ogni sink, seleziona Menu e quindi seleziona Attiva sink.

API

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

    Identifica tutti i sink che eseguono il routing al bucket _Default.

  2. Ad esempio, per disabilitare il sink _Default, chiama projects.sink.update e imposta la proprietà disabled su true.

Il sink _Default è ora disabilitato. non esegue più il routing dei log _Default bucket.

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

Per riattivare un sink, chiama projects.sink.update e imposta la proprietà disabled su false.

gcloud

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

    gcloud logging sinks list
    
  2. Identifica tutti i sink che eseguono il routing al bucket _Default. Per descrivere per un sink, inclusa la visualizzazione del nome della destinazione, utilizza gcloud logging sinks describe che corrisponde al metodo dell'API Logging projects.sinks.get:

    gcloud logging sinks describe SINK_NAME
    
  3. Ad esempio, per disabilitare il sink _Default, utilizza il metodo gcloud logging sinks update e includi il flag --disabled:

    gcloud logging sinks update _Default  --disabled
    

Il sink _Default è ora disabilitato. non esegue più il routing dei log _Default bucket.

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

Per riattivare un sink, utilizza il metodo gcloud logging sinks update rimuovi il flag --disabled e includi --no-disabled Segnala:

gcloud logging sinks update _Default  --no-disabled

Imposta autorizzazioni per la destinazione

Questa sezione descrive come concedere a Logging il Autorizzazioni di Identity and Access Management per scrivere i log nella destinazione del sink. Per l'intera di ruoli e autorizzazioni di Logging, consulta Controllo dell'accesso.

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

L'identità writer di un sink è l'identificatore del servizio associato al sink. Tutti i sink hanno un'identità writer, ad eccezione di per i sink che scrivono in un bucket di log nel progetto Google Cloud attuale. Quando la destinazione di un sink è un bucket di log nell'attuale progetto Google Cloud, il sink non richiede autorizzazioni della destinazione. Di conseguenza, il valore del campo identità autore è elencato come None nella console, e non è riportato dall'API e dai comandi Google Cloud CLI.

Di seguito sono riportate le istruzioni per impostare a livello di progetto Google Cloud autorizzazioni necessarie per il routing del sink alla destinazione. Invece di un progetto Google Cloud, puoi specificare un account di fatturazione, una cartella organizzazione:

Console

    .
  1. Per ottenere l'identità writer del sink (un indirizzo email) dal nuovo sink, segui questi passaggi:

    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 Menu, quindi scegli Visualizza i dettagli del sink. L'identità dell'autore viene visualizzata nella Riquadro Dettagli sink.

  2. Se il valore del campo writerIdentity contiene un indirizzo email, quindi procedi al passaggio successivo. Quando il valore è None, non devi configurare le autorizzazioni di destinazione per il sink.

  3. Per copiare l'identità writer del sink negli appunti: fai clic su Copia.

  4. Se hai l'accesso come proprietario alla destinazione, aggiungi il servizio account come entità IAM nel progetto di destinazione:

    • Per le destinazioni Cloud Storage, aggiungi l'identità writer del sink come entità mediante IAM, quindi assegnale Ruolo Creatore oggetti Storage (roles/storage.objectCreator).
    • Per le destinazioni BigQuery, aggiungi l'identità writer del sink come entità mediante IAM, quindi assegnale Ruolo di Editor dati BigQuery (roles/bigquery.dataEditor).
    • Per le destinazioni Pub/Sub, incluso Splunk, aggiungi l'identità writer del sink come entità mediante IAM, quindi assegnale Ruolo di Publisher Pub/Sub (roles/pubsub.publisher).
    • Per le destinazioni dei bucket Logging in diverse Per i progetti Google Cloud, aggiungi l'identità writer del sink come entità utilizzando IAM e poi assegnargli Ruolo Writer bucket di log (roles/logging.bucketWriter).
    • Per le destinazioni dei progetti Google Cloud, aggiungi il parametro writer come entità mediante IAM, quindi assegnargli Ruolo Writer log (roles/logging.logWriter). Nello specifico, un'entità ha bisogno Autorizzazione logging.logEntries.route.
    Se non hai l'accesso come Proprietario alla destinazione del sink, chiedi a un proprietario del progetto di e poi aggiungere l'identità autore come entità.

API

  1. Chiama il metodo API projects.sinks.list per visualizzare l'elenco dei sink nella progetto Google Cloud.

  2. Individua il sink di cui vuoi modificare le autorizzazioni e se il sink contengono una chiave JSON con l'etichetta "writerIdentity", quindi procedi al passaggio successivo. Se i dettagli non includono un "writerIdentity" non devi configurare le autorizzazioni di destinazione per il sink.

  3. Se hai l'accesso come proprietario IAM alla destinazione, aggiungi l'account di servizio alla destinazione, nel seguente modo:

    • Per le destinazioni Cloud Storage, aggiungi l'identità writer del sink come entità mediante IAM, quindi assegnale Ruolo Creatore oggetti Storage (roles/storage.objectCreator).
    • Per le destinazioni BigQuery, aggiungi l'identità writer del sink come entità mediante IAM, quindi assegnale Ruolo di Editor dati BigQuery (roles/bigquery.dataEditor).
    • Per le destinazioni Pub/Sub, incluso Splunk, aggiungi l'identità writer del sink come entità mediante IAM, quindi assegnale Ruolo di Publisher Pub/Sub (roles/pubsub.publisher).
    • Per le destinazioni dei bucket Logging in diverse Per i progetti Google Cloud, aggiungi l'identità writer del sink come entità utilizzando IAM e poi assegnargli Ruolo Writer bucket di log (roles/logging.bucketWriter).
    • Per le destinazioni dei progetti Google Cloud, aggiungi il parametro writer come entità mediante IAM, quindi assegnargli Ruolo Writer log (roles/logging.logWriter). Nello specifico, un'entità ha bisogno Autorizzazione logging.logEntries.route.
    Se non hai l'accesso come Proprietario alla destinazione del sink, chiedi a un proprietario del progetto di e poi aggiungere l'identità autore come entità.

gcloud

  1. Recupera l'account di servizio dal campo writerIdentity del sink:

    gcloud logging sinks describe SINK_NAME
    
  2. Individua il sink di cui vuoi modificare le autorizzazioni e se il sink i dettagli contengono una riga con writerIdentity, poi procedi al passaggio successivo. Se i dettagli non includono un writerIdentity non devi configurare le autorizzazioni di destinazione nel lavandino.

    Il valore del campo SERVICE_ACCT_NAME nel seguente è l'identità dell'autore, che è simile alla seguenti:

    serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
    
  3. Se hai l'accesso come proprietario IAM alla destinazione, aggiungi l'account di servizio alla destinazione, nel seguente modo:

    • Per le destinazioni Cloud Storage, aggiungi l'identità writer del sink come entità mediante IAM, quindi assegnale Ruolo Creatore oggetti Storage (roles/storage.objectCreator).
    • Per le destinazioni BigQuery, aggiungi l'identità writer del sink come entità mediante IAM, quindi assegnale Ruolo di Editor dati BigQuery (roles/bigquery.dataEditor).
    • Per le destinazioni Pub/Sub, incluso Splunk, aggiungi l'identità writer del sink come entità mediante IAM, quindi assegnale Ruolo di Publisher Pub/Sub (roles/pubsub.publisher).
    • Per le destinazioni dei bucket Logging in diverse Per i progetti Google Cloud, aggiungi l'identità writer del sink come entità utilizzando IAM e poi assegnargli Ruolo Writer bucket di log (roles/logging.bucketWriter).
    • Per le destinazioni dei progetti Google Cloud, aggiungi il parametro writer come entità mediante IAM, quindi assegnargli Ruolo Writer log (roles/logging.logWriter). Nello specifico, un'entità ha bisogno Autorizzazione logging.logEntries.route.
    Se non hai l'accesso come Proprietario alla destinazione del sink, chiedi a un proprietario del progetto di e poi aggiungere l'identità autore come entità.

    Ad esempio, per concedere il ruolo Writer log (roles/logging.logWriter) all'account di servizio service-123456789012@gcp-sa-logging.iam.gserviceaccount.com nel progetto my-test-project, esegui questo comando:

    gcloud projects add-iam-policy-binding my-test-project --member='serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com' --role='roles/logging.logWriter'
    

Limitazioni delle destinazioni

A seconda della destinazione in cui vengono instradati i log, potrebbero essere limitazioni.

Instrada ai bucket di log in diversi progetti Google Cloud

Quando esegui il routing dei log ai bucket di log in in diversi progetti Google Cloud:

  • Error Reporting è disabilitato per i log archiviati nei bucket di log che utilizzano gestite dal cliente.

Instrada a progetti Google Cloud diversi

Quando esegui il routing dei log a diverse impostazioni, si applicano le seguenti limitazioni Progetti Google Cloud:

  • È previsto un limite di un solo hop. Ad esempio, se esegui il routing delle voci di log dal progetto da A al progetto B, non puoi instradare le voci di log dal progetto B a un progetto diverso.

  • Gli audit log non vengono instradati al bucket _Required nella destinazione progetto. Devi creare un altro sink o bucket per archiviarli.

  • Se l'organizzazione o la cartella contenente il progetto Google Cloud a cui stai eseguendo il routing con sink aggregati esistenti, i log non vengono instradati dai sink aggregati.

Esempi di codice

Per utilizzare il codice della libreria client per configurare i sink nei linguaggi che hai scelto, consulta Librerie client di Logging: sink di log.

Esempi di filtro

Di seguito sono riportati alcuni esempi di filtri particolarmente utili durante la creazione lavandini.

Per ulteriori esempi che potrebbero essere utili durante lo sviluppo dell'inclusione filtri di esclusione e filtri di esclusione, consulta Query di esempio.

Ripristina il filtro del sink _Default

Se hai modificato il filtro per il sink _Default, ti consigliamo di ripristinarlo il suo filtro predefinito. Per farlo, inserisci il seguente filtro di inclusione:

  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 di container e pod di Google Kubernetes Engine

Per escludere i log di container e pod di Google Kubernetes Engine per Sistema GKE namespaces, utilizza il filtro seguente:

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 i log dei nodi di Google Kubernetes Engine per il sistema GKE. logNames, usa 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 del nodo Google Kubernetes Engine, pod e i log dei container archiviati nei bucket di log, Esplora metriche in Cloud Monitoring.

Escludi i log di Dataflow non richiesti per la supportabilità

Per escludere i log di Dataflow che non sono richiesti per supportabilità, usa 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 di Dataflow archiviati nei bucket di log, usa Esplora metriche in Cloud Monitoring.

Supportabilità

Sebbene Cloud Logging ti consenta di escludere i log archiviati in un bucket di log ti consigliamo di conservare i log per facilitare la supportabilità. L'utilizzo di questi log può aiutarti a risolvere e identificare rapidamente i problemi relativi le tue applicazioni.

Ad esempio, i log di sistema GKE sono utili per risolvere alle tue applicazioni e ai tuoi cluster GKE perché generati per gli eventi che si verificano nel cluster. Questi log possono aiutarti determinare se il codice dell'applicazione o il cluster GKE sottostante causa un errore dell'applicazione. Log di sistema GKE includi anche l'audit logging di Kubernetes generato dal server API Kubernetes , che include le modifiche apportate con il comando kubectl e Kubernetes eventi.

Per Dataflow, ti consigliamo, come minimo, di scrivere il tuo sistema log (labels."dataflow.googleapis.com/log_type"="system") e supportabilità (labels."dataflow.googleapis.com/log_type"="supportability") in bucket di log. Questi log essenziali per l'osservazione e la risoluzione dei problemi di Dataflow, e gli utenti potrebbero non essere in grado di usare Dataflow Dettagli job per visualizzare i log dei job.

Passaggi successivi