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:
Assicurati di avere un progetto Google Cloud con i log che puoi visualizzare nel Esplora log.
-
Attiva l'API Cloud Logging.
-
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.
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
-
Nella console Google Cloud, vai alla pagina Router dei log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Seleziona un progetto Google Cloud esistente.
Seleziona Crea sink.
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.
Nel riquadro Destinazione sink, seleziona il servizio sink e usando il menu Seleziona servizio sink.
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.
Nel riquadro Scegli i log da includere nel sink, segui questi passaggi:
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.
Per verificare di aver inserito il filtro corretto, seleziona Anteprima log. Esplora log si apre in una nuova scheda con il filtro precompilati.
(Facoltativo) Nel riquadro Scegli i log per escludere il sink, procedi nel seguente modo: le seguenti:
Nel campo Nome filtro di esclusione, inserisci un nome.
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.
Seleziona Crea sink.
API
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 campodestination
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
Nell'oggetto LogSink, fornisci le informazioni facoltative appropriate:
filter
: impostafilter
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 Funzionesample
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.
Chiama projects.sinks.create per creare il sink.
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 Funzionesample
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
-
Nella console Google Cloud, vai alla pagina Router dei log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Seleziona il progetto Google Cloud che contiene utilizzando il selettore di risorse in qualsiasi punto Console Google Cloud:
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 more_vert 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
sutrue
.Per riattivare il sink, chiama
projects.sink.update
e imposta la proprietàdisabled
sufalse
.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 Loggingprojects.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 Loggingprojects.sinks.get
:gcloud logging sinks describe SINK_NAME
Per aggiornare un sink, utilizza
gcloud logging sinks update
che corrisponde al metodo APIprojects.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 denominatomy-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 APIprojects.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 APIprojects.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
-
Nella console Google Cloud, vai alla pagina Router dei log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Per trovare tutti i sink che instradano i log al bucket
_Default
, filtra dei sink in base alla destinazione, quindi inserisci_Default
.Per ogni sink, seleziona more_vert 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:
-
Nella console Google Cloud, vai alla pagina Router dei log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
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
.Per ogni sink, seleziona more_vert Menu e quindi seleziona Attiva sink.
API
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
.Ad esempio, per disabilitare il sink
_Default
, chiamaprojects.sink.update
e imposta la proprietàdisabled
sutrue
.
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
Per visualizzare l'elenco dei sink per il progetto Google Cloud, utilizza la
gcloud logging sinks list
che corrisponde al metodo dell'API Loggingprojects.sinks.list
:gcloud logging sinks list
Identifica tutti i sink che eseguono il routing al bucket
_Default
. Per descrivere per un sink, inclusa la visualizzazione del nome della destinazione, utilizzagcloud logging sinks describe
che corrisponde al metodo dell'API Loggingprojects.sinks.get
:gcloud logging sinks describe SINK_NAME
Ad esempio, per disabilitare il sink
_Default
, utilizza il metodogcloud 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
- .
Per ottenere l'identità writer del sink (un indirizzo email) dal nuovo sink, segui questi passaggi:
-
Nella console Google Cloud, vai alla pagina Router dei log:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Logging.
Seleziona more_vert Menu, quindi scegli Visualizza i dettagli del sink. L'identità dell'autore viene visualizzata nella Riquadro Dettagli sink.
-
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.Per copiare l'identità writer del sink negli appunti: fai clic su content_copy Copia.
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 Autorizzazionelogging.logEntries.route
.
- Per le destinazioni Cloud Storage, aggiungi l'identità writer del sink
come entità mediante IAM, quindi assegnale
Ruolo Creatore oggetti Storage
(
API
Chiama il metodo API projects.sinks.list per visualizzare l'elenco dei sink nella progetto Google Cloud.
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.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 Autorizzazionelogging.logEntries.route
.
- Per le destinazioni Cloud Storage, aggiungi l'identità writer del sink
come entità mediante IAM, quindi assegnale
Ruolo Creatore oggetti Storage
(
gcloud
Recupera l'account di servizio dal campo
writerIdentity
del sink:gcloud logging sinks describe SINK_NAME
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 unwriterIdentity
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
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 Autorizzazionelogging.logEntries.route
.
Ad esempio, per concedere il ruolo Writer log (
roles/logging.logWriter
) all'account di servizioservice-123456789012@gcp-sa-logging.iam.gserviceaccount.com
nel progettomy-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'
- Per le destinazioni Cloud Storage, aggiungi l'identità writer del sink
come entità mediante IAM, quindi assegnale
Ruolo Creatore oggetti Storage
(
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
Se riscontri problemi durante l'utilizzo dei sink per eseguire il routing dei log, consulta Risolvi i problemi relativi ai log di routing.
Per scoprire come visualizzare i log con routing nelle relative destinazioni e come i log sono formattati e organizzati, Visualizza i log nelle destinazioni sink.
Per scoprire di più su come eseguire query e applicare filtri con Linguaggio di query di Logging, vedi Linguaggio di query di Logging.