Questo documento spiega come creare e gestire i sink, ovvero le voci di log delle route che hanno origine in un progetto Google Cloud, verso destinazioni supportate.
Quando la destinazione di un sink non è un bucket di log nel progetto Google Cloud da cui ha origine una voce di log, è necessario un account di servizio. Cloud Logging crea e gestisce automaticamente questo account di servizio. ma potresti dover modificare le autorizzazioni concesse l'account di servizio. Puoi creare e gestire un account di servizio utilizzato dagli sink in più progetti. Per ulteriori informazioni, vedi Configura sink di log con account di servizio gestiti dall'utente.
Panoramica
I sink determinano il modo in cui Cloud Logging delle route. Con i sink, puoi indirizzare alcuni o tutti i tuoi le voci di log nelle 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. Il bucket di log può trovarsi nello stesso progetto in cui hanno origine le voci di log. in un altro progetto. 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.
Puoi combinare I dati di Cloud Logging con altri dati eseguendo l'upgrade di un bucket di log da utilizzare Analisi dei log e la creazione di un set di dati collegato, che è di sola lettura set di dati su cui è possibile eseguire query da BigQuery Studio e Looker Studio pagine.
Set di dati BigQuery: fornisce l'archiviazione delle voci di log in un set di dati BigQuery scrivibile. Il set di dati BigQuery possono trovarsi nello stesso progetto in cui hanno origine le voci di log o in un progetto. Puoi utilizzare funzionalità di analisi dei big data nelle voci di log archiviate. Per informazioni sulla visualizzazione delle voci di log indirizzate a BigQuery, consulta Visualizza i log indirizzati a BigQuery.
- Bucket Cloud Storage: fornisce lo spazio di archiviazione delle voci di log in Cloud Storage. Il bucket Cloud Storage può trovarsi nello stesso progetto in cui sono presenti le voci di log o in un altro progetto. Le voci di log vengono archiviate come file JSON. Per informazioni sulla visualizzazione delle voci di log indirizzate a Cloud Storage: consulta Visualizzare i log con routing a Cloud Storage.
Argomento Pub/Sub: fornisce supporto per le integrazioni di terze parti. Le voci di log vengono formattate in JSON e poi inoltrate a un argomento Pub/Sub. L'argomento può trovarsi nello stesso progetto in cui si trovano le voci di log o in un altro progetto. Per informazioni sulla visualizzazione delle voci di log indirizzate a vedi Pub/Sub, Visualizza i log con routing a Pub/Sub.
Progetto Google Cloud: esegui il routing delle voci di log a un altro progetto Google Cloud. Nel configurazione, i sink nel progetto di destinazione elaborano le voci di log.
I sink appartengono a una determinata risorsa Google Cloud: un account di fatturazione, una cartella o un'organizzazione. Quando la risorsa riceve un voce di log, ogni sink nella risorsa elabora la voce di log. Quando la voce di log corrisponde ai filtri del sink, la voce di log viene indirizzato alla destinazione del sink.
In genere, i sink instradano solo le voci di log che hanno origine da una risorsa. Tuttavia, per le cartelle e le organizzazioni puoi creare sink aggregati, le voci di log della route dalla cartella o dall'organizzazione e risorse che contiene. Questo documento non tratta e aggregati. Per ulteriori informazioni, 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. È consigliabile utilizzi la console Google Cloud:
- La pagina Router dei log elenca tutti i sink e fornisce opzioni per per gestire i lavandini.
- Quando crei un sink, puoi visualizzare in anteprima le voci di log corrispondenti dai filtri del sink.
- Puoi configurare le destinazioni del sink quando ne crei uno.
- Alcuni passaggi di autorizzazione sono stati completati automaticamente.
Prima di iniziare
Le istruzioni in questo documento descrivono la creazione e la gestione dei sink a livello di progetto Google Cloud. Puoi utilizzare la stessa procedura per creare un sink che instrada le voci di log che hanno origine in un'organizzazione, una cartella account di fatturazione.
Per iniziare, segui questi passaggi:
-
Enable the Cloud Logging API.
Assicurati che il tuo progetto Google Cloud contenga voci di log che puoi visualizzare in Esplora log.
-
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 a progetti, cartelle e organizzazioni.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 delle voci di log a una destinazione, la destinazione deve esistere prima tu crei il sink. Puoi creare la destinazione in qualsiasi progetto Google Cloud in qualsiasi organizzazione.
Prima di creare un sink, esamina le limitazioni che si applicano al del sink. Per ulteriori informazioni, consulta la sezione Limitazioni per le destinazioni di questo documento.
Creazione di un sink
Di seguito sono riportate le istruzioni per creare un sink in un progetto Google Cloud. Puoi utilizzare la stessa procedura per eseguire il routing delle voci di log che hanno origine Un'organizzazione, una cartella o un account di fatturazione:
- Puoi creare fino a 200 sink per progetto Google Cloud.
- Non inserire informazioni sensibili nei filtri del sink. I filtri sink vengono trattati come dati di servizio.
- Potrebbero essere necessarie diverse ore prima che i nuovi sink nei bucket Cloud Storage e avviare le voci di log del routing. I sink in Cloud Storage vengono elaborati ogni ora, mentre gli altri tipi di destinazioni vengono elaborati in tempo reale.
I sink non possono inoltrare le voci di log ai set di dati BigQuery collegati, che sono di sola lettura. Se vuoi eseguire il routing delle voci di log a BigQuery, il set di dati di destinazione deve essere abilitato per la scrittura.
I sink non definiscono lo schema per i set di dati BigQuery. La prima voce del log ricevuta da BigQuery determina invece lo schema della tabella di destinazione. Per ulteriori informazioni, vedi Schema di BigQuery per i log con routing.
Per informazioni su come visualizzare le voci di log nella destinazione di un sink, vedi Visualizza i log con routing ai bucket Cloud Logging.
Per visualizzare il numero e il volume delle voci di log instradate, consulta le metriche
logging.googleapis.com/exports/
.Esplora log aggiunge implicitamente limitazione congiuntiva,
AND
, tra le istruzioni mostrate nel riquadro delle query. Ad esempio, se la riga uno èresource.type = "gce_instance"
e la riga due èseverity >= "ERROR"
, la queryresource.type = "gce_instance" AND severity >= "ERROR"
. Se vuoi utilizzare una query mostrata da Esplora log in un altro contesto, ad esempio per il filtro di inclusione o esclusione di un sink, devi modificare la query e aggiungere le restrizioni congiuntive. Per ulteriori informazioni, consulta Linguaggio di query di Logging.
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 il progetto Google Cloud in cui si trovano le voci di log che che vuoi instradare.
Ad esempio, se vuoi eseguire il routing delle voci di log di accesso ai dati del progetto denominato
Project-A
in un bucket di log nel progetto denominatoProject-B
, quindi selezionaProject-A
.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 la destinazione utilizzando il menu Seleziona il servizio sink. Esegui una delle seguenti:
Per eseguire il routing delle voci di log a un servizio corrispondente 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 il set di dati scrivibile per ricevere le voci di log instradate. Hai anche la possibilità di per utilizzare tabelle partizionate.
- Bucket Cloud Storage: seleziona o crea l'elemento Bucket Cloud Storage per ricevere le voci di log instradate.
- Argomento Pub/Sub: seleziona o crea l'elemento per ricevere le voci di log indirizzate.
- Splunk: seleziona l'argomento Pub/Sub per il tuo Splunk completamente gestito di Google Cloud.
Per eseguire il routing delle voci di log a un altro progetto Google Cloud, seleziona Progetto Google Cloud, quindi inserisci il nome completo per la destinazione. Per informazioni sulla sintassi, consulta Formati del percorso di destinazione:
Per inoltrare le voci di log a un servizio in un altro progetto Google Cloud:
- Seleziona Altre risorse.
- Inserisci il nome completo della destinazione. Per informazioni sulla sintassi, consulta Formati del percorso di destinazione:
Specifica le voci di log da includere:
Vai al riquadro Scegli i log da includere nel sink.
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, verranno applicate tutte le voci di log della risorsa selezionata. vengono indirizzati alla destinazione.
Ad esempio, per instradare tutte le voci di log di accesso ai dati a un Logging, puoi utilizzare il filtro seguente:
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.
Per verificare di aver inserito il filtro corretto, seleziona Anteprima log. Esplora log si apre in una nuova scheda con il filtro precompilato.
(Facoltativo) Configurare un filtro di esclusione per eliminare alcuni dei voci di log incluse:
Vai al riquadro Scegli i log da escludere dal sink.
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 po' di tempo. Tieni presente che la lunghezza di un filtro non può superare 20.000 caratteri.
Seleziona Crea sink.
Concedi all'account di servizio per il sink l'autorizzazione per scrivere voci di log alla destinazione del sink. Per ulteriori informazioni, vedi Imposta le autorizzazioni della destinazione.
API
Per creare un sink di logging nel progetto Google Cloud, utilizza
projects.sinks.create
nell'API Logging. NellaLogSink
, fornisci i valori obbligatori appropriati nella richiesta Corpo: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 dove vuoi che le voci di log instradate. Per eseguire il routing delle voci di log a un progetto diverso, o verso una destinazione si trova in un altro progetto, imposta il campodestination
con percorso appropriato, come descritto Formati del percorso di destinazione:Ad esempio, se la destinazione del sink è Pub/Sub l'argomento
destination
avrà il seguente aspetto:pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
Nell'oggetto
LogSink
, fornisci il campo facoltativo appropriato informazioni:filter
: impostafilter
in corrispondenza delle voci di log che vuoi includere nel sink. Se non imposti un filtro, tutte le voci di log del tuo dei progetti Google Cloud 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 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 questo campo 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 la documentazione di riferimento di LogSink
.
gcloud
Per creare un sink:
Esegui il seguente 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 dove vuoi instradare le voci di log. Imposta SINK_DESTINATION con il percorso appropriato, come descritto in Formati del percorso di destinazione:
Ad esempio, se la destinazione del sink è Pub/Sub per ogni argomento, SINK_DESTINATION avrà 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 filtra che corrisponde alle voci di log che vuoi includere nel sink. Se non forniscono 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 in cui vuoi escludere il sink dal routing. Puoi utilizzare anche Funzionesample
per selezionare una parte delle voci di log da escludere. Questa opzione può essere ripetuta; puoi creare fino a 50 filtri di esclusione per destinazione.--description
: utilizza questa opzione per descrivere lo scopo o il caso d'uso per il lavandino.
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, consulta Riferimento
gcloud logging sinks
.Se la risposta al comando contiene una chiave JSON con l'etichetta
"writerIdentity"
, e poi concedi all'account di servizio del sink l'autorizzazione di scrittura della destinazione del sink. Per ulteriori informazioni, consulta Impostare le autorizzazioni della destinazione.Non è necessario impostare le autorizzazioni della destinazione quando la risposta non contiene una chiave JSON con l'etichetta
"writerIdentity"
.
Se ricevi notifiche di errore, consulta Risolvi i problemi di routing e sink.
Formati dei percorsi di destinazione
Se esegui il routing delle voci di log a un servizio che si trova in un altro progetto, devi fornisci al sink il nome completo del servizio. Analogamente, se esegui il routing delle voci di log a un progetto Google Cloud diverso, devi fornisci al sink il nome completo del progetto di destinazione:
Bucket dei log di 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
Gestisci i sink
Dopo aver creato i sink, puoi eseguire le seguenti azioni sui sink. L'applicazione di qualsiasi modifica apportata a un sink potrebbe richiedere alcuni minuti:
- Visualizza dettagli
- Aggiorna
Disattiva
- Non puoi disabilitare il sink
_Required
. - Puoi disattivare il sink
_Default
per impedire il routing delle voci di log al_Default
bucket Logging. - Se vuoi disattivare il sink
_Default
per qualsiasi nuovo i progetti o le cartelle Google Cloud creati nella tua organizzazione, quindi valuta la possibilità di configurare impostazioni predefinite delle risorse.
- Non puoi disabilitare il sink
Elimina
- Non puoi eliminare i sink
_Default
o_Required
. - Quando elimini un sink, non instrada più le voci di log.
- Se il sink ha un account di servizio dedicato, l'eliminazione del sink comporta anche l'eliminazione dell'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.
- Non puoi eliminare i sink
Risolvere gli errori
- Visualizza volume di log e tassi di errore
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.
Nella barra degli strumenti, seleziona la risorsa che contiene il sink. La 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 sink:
- Abilitato: indica se lo stato della destinazione è attivo 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 a cui è stato indirizzato il log. vengono inviate correttamente.
- 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 more_vert Altre azioni 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 delle voci di log alla 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 le voci di log nella destinazione del sink.
- Elimina sink: consente di eliminare il sink e interrompere il routing delle voci di log verso della destinazione 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.
Per ordinare la tabella in base a una colonna, seleziona il nome della colonna.
API
Per visualizzare i sink per il tuo progetto Google Cloud, chiama
projects.sinks.list
Per visualizzare i dettagli di un'area di destinazione, 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 disabilitare o riattivare il sink.
Per disabilitare un sink, imposta il campo
disabled
nell'oggettoLogSink
sutrue
, quindi chiamaprojects.sink.update
.Per riattivare il sink, imposta il campo
disabled
nell'oggettoLogSink
sufalse
e poi chiamaprojects.sink.update
.Per eliminare un sink, chiama
projects.sinks.delete
Per ulteriori informazioni sulla gestione dei sink mediante per l'API Logging, consulta la documentazione di riferimento di
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 l'opzione appropriata per specificare la risorsa che contiene il sink. Per Ad esempio, se hai creato il sink a livello di organizzazione, utilizza
--organization=ORGANIZATION_ID
opzione per elencare le 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 il comando
gcloud logging sinks update
che corrisponde al metodo APIprojects.sink.update
.Puoi aggiornare un sink per modificare destinazione, filtri descrizione o 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 l'opzione--disabled
:gcloud logging sinks update SINK_NAME --disabled
Per riattivare il sink, utilizza il
gcloud logging sinks update
rimuovi l'opzione--disabled
e includi--no-disabled
:gcloud logging sinks update SINK_NAME --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 delle voci di log nei bucket di log
Puoi disabilitare il sink _Default
e tutti i sink definiti dall'utente. Quando disattivi un sink, questo smette di inoltrare le voci di log alla destinazione.
Ad esempio, se disabiliti il sink _Default
, non verrà visualizzata alcuna voce di log
indirizzato al bucket _Default
. La
Il bucket _Default
diventa vuoto quando tutte le voci di log memorizzate in precedenza
soddisfano i requisiti del bucket
periodo di conservazione.
Le seguenti istruzioni spiegano come
disabilita i sink del progetto Google Cloud che instradano le voci di log
_Default
bucket di log:
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 le voci di log al bucket di log
_Default
, filtra i sink in base alla destinazione e 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 più lunghe voci di log per il bucket
_Default
.
Per riattivare un sink disattivato e riavviare le voci di log del 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 che instradano le voci di log al bucket di log
_Default
, filtra i sink in base alla destinazione e inserisci_Default
. - Per ogni sink, seleziona more_vert Menu e quindi seleziona Attiva sink.
API
Per visualizzare i canali di destinazione per il tuo progetto Google Cloud, chiama il metodo
projects.sinks.list
dell'API Logging.Identifica gli eventuali sink che indirizzano i dati al bucket
_Default
.Ad esempio, per disabilitare il sink
_Default
, Impostare il campodisabled
nell'oggettoLogSink
sutrue
, quindi chiamaprojects.sink.update
.Il sink
_Default
è ora disabilitato. non instrada più le voci di log il bucket_Default
.
a disabilitare 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
.
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 di log
_Default
. Per descrivere un sink, inclusa la visualizzazione del nome di destinazione, utilizza il metodogcloud logging sinks describe
che corrisponde al metodo dell'API Loggingprojects.sinks.get
:gcloud logging sinks describe SINK_NAME
Esegui il comando
gcloud logging sinks update
e includi l'opzione--disabled
. Ad esempio, per disattivare_Default
, usa questo comando:gcloud logging sinks update _Default --disabled
Il sink
_Default
è ora disabilitato. non instrada più le voci di log del bucket di log_Default
.
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 l'opzione --disabled
e includi --no-disabled
:
gcloud logging sinks update _Default --no-disabled
Impostare le autorizzazioni di destinazione
Questa sezione descrive come concedere a Logging le autorizzazioni Identity and Access Management per scrivere le voci di log nella destinazione dell'eseguibile 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 flusso, 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
sink che scrivono in un bucket di log nello stesso progetto Google Cloud in cui
ha origine la voce di log. Per la seconda configurazione, un account di servizio
non è obbligatorio, perciò il campo Identità autore del sink
è elencato come None
nella console. La
L'API e i comandi Google Cloud CLI non segnalano un'identità writer.
Le seguenti istruzioni si applicano a progetti, cartelle, organizzazioni e account di fatturazione:
Console
Assicurati di avere l'accesso come proprietario alla progetto Google Cloud che contiene la destinazione. Se non hai l'accesso come Proprietario alla destinazione del sink, quindi chiedi a un proprietario del progetto di aggiungere l'identità writer come entità.
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.
- Nella barra degli strumenti, seleziona il progetto che contiene il sink.
- Seleziona more_vert Menu e poi Visualizza dettagli della canalizzazione. L'identità dell'autore viene visualizzata nella Riquadro Dettagli sink.
-
Se il valore del campo
writerIdentity
contiene un indirizzo email, vai al passaggio successivo. Quando il valore èNone
, non devi configurare le autorizzazioni di destinazione per il sink.Copia l'identità writer del sink negli appunti.
Se la destinazione è un servizio in un progetto diverso o in un altro progetto, seleziona il progetto di destinazione nella barra degli strumenti.
Aggiungi l'account di servizio come entità IAM nel progetto di destinazione:
-
Nella console Google Cloud, vai alla pagina IAM:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo IAM e Console di amministrazione.
Seleziona il progetto di destinazione.
Fai clic su
Concedi l'accesso.Concedi all'account di servizio il ruolo IAM richiesto:
- 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
Ti consigliamo di utilizzare la console Google Cloud o Google Cloud CLI per concedere un ruolo all'account di servizio.
gcloud
Assicurati di avere l'accesso come proprietario alla progetto Google Cloud che contiene la destinazione. Se non hai l'accesso come Proprietario alla destinazione del sink, quindi chiedi a un proprietario del progetto di aggiungere l'identità writer come entità.
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.L'identità writer per l'account di servizio è simile alla seguenti:
serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
Aggiungi l'account di servizio come entità IAM nel progetto di destinazione:
Prima di utilizzare il seguente comando, apporta le seguenti sostituzioni:
- PROJECT_ID: l'identificatore del progetto.
- PRINCIPAL: un identificatore per l'entità da utilizzare
concedere il ruolo. Di solito, gli identificatori entità hanno il seguente formato:
PRINCIPAL-TYPE:ID
. Ad esempio:user:my-user@example.com
. Per un elenco completo dei formati chePRINCIPAL
può avere, consulta gli identificatori entità. ROLE: un ruolo IAM.
- 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
(
Esegui la
gcloud projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding PROJECT_ID --member=PRINCIPAL --role=ROLE
Limitazioni delle destinazioni
Questa sezione descrive le limitazioni specifiche della destinazione:
- Se esegui il routing delle voci di log in un bucket di log in un altro progetto Google Cloud, Error Reporting non analizza queste voci di log. Per saperne di più, consulta Panoramica di Error Reporting.
- Se esegui il routing delle voci di log a BigQuery, Il set di dati BigQuery deve essere abilitato per la scrittura. Non puoi indirizzare voci di log ai set di dati collegati, che sono di sola lettura.
Le seguenti limitazioni si applicano quando esegui il routing delle voci di log a diverse Progetti Google Cloud:
Esiste un limite di un hop.
Ad esempio, se indirizzi le voci di log dal progetto
A
al progettoB
, non puoi indirizzarle dal progettoB
a un altro progetto.Gli audit log non vengono instradati al bucket di log
_Required
nella destinazione progetto.Ad esempio, se esegui il routing delle voci di log dal progetto
A
a nel progettoB
, il bucket di log_Required
nel progettoA
conterrà gli audit log per il progettoA
. Gli audit log per il progettoA
non sono indirizzato al progettoB
. Per eseguire il routing di queste voci di log, crea un sink è un bucket di log.Quando il progetto di destinazione si trova in una cartella o un'organizzazione diversa, i sink aggregati in quella cartella o organizzazione indirizzare la voce di log.
Ad esempio, supponiamo che il progetto
A
si trovi nella cartellaX
. Quando una voce di log ha origine nel progettoA
, la voce di log viene elaborata i sink aggregati nella cartellaX
e i sink nel progettoA
. Adesso supponiamo che il progettoA
contenga un sink che instrada le sue voci di log a progettoB
, che si trova nella cartellaY
. Le voci di log del progettoA
passa attraverso i sink nel progettoB
; tuttavia, non passano dei sink aggregati nella cartellaY
.
Per utilizzare Esplora log per visualizzare le voci di log instradate a un progetto Usando un sink aggregato, imposta il campo Perfeziona ambito su ambito di archiviazione e quindi selezionare una visualizzazione del log che fornisca l'accesso a queste voci di log.
Esempi di codice
Per utilizzare il codice della libreria client per configurare i canali di destinazione nelle lingue scelte, consulta Librerie client di logging: canali di destinazione dei 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
, potrebbe essere necessario ripristinare
per questo sink alla sua configurazione originale. Una volta creato, l'emissario _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 di container e pod di Google Kubernetes Engine
Per escludere le voci di 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 le voci di log dei nodi di Google Kubernetes Engine per GKE
sistema 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")
visualizzare il volume delle voci di log di nodi, pod e container di Google Kubernetes Engine nei bucket di log, usa Metrics Explorer:
- Visualizza volume delle voci di log del nodo
- Visualizza voce di log del pod
- Visualizza volume delle voci di log del container
Escludi i log di Dataflow non necessari per la supportabilità
Per escludere le voci di log di Dataflow che non sono richieste 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 Metrics Explorer.
Supportabilità
Sebbene Cloud Logging ti consenta di escludere le voci di log e di impedirne la memorizzazione in un bucket di log, potresti prendere in considerazione la possibilità di conservare le voci di log utili per la supportabilità. L'utilizzo di queste voci di log può aiutarti a risolvere e identificare i problemi con le tue applicazioni.
Ad esempio, le voci di log di sistema di GKE risolvere i problemi alle tue applicazioni e ai tuoi cluster GKE perché generati per gli eventi che si verificano nel cluster. Queste voci di log possono aiutarti determinare se il codice dell'applicazione o l'infrastruttura GKE sottostante causa un errore dell'applicazione. I log di sistema GKE includono anche il logging di controllo 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, 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 delle voci di log, consulta Risolvi i problemi relativi ai log di routing.
Per scoprire come visualizzare le voci di log 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.