I sink aggregati consentono di raccogliere e instradare le voci di log da tutte le risorse all'interno di una cartella o di un'organizzazione a una destinazione supportata. Puoi utilizzare i sink aggregati per archiviare i dati dei log in una posizione centrale e controllare se le risorse figlio archiviano copie duplicate.
Informazioni sui sink aggregati
Un sink aggregato è un sink a livello di cartella o organizzazione che instrada le voci di log sia dalla risorsa in cui è definito il sink sia da tutte le relative risorse figlio. Come un sink a livello di progetto, un sink aggregato ha una destinazione e un filtro che determina le voci di log da instradare, ma un sink a livello di progetto instrada le voci di log solo da un singolo progetto.
Tipi di sink aggregati
Puoi creare due tipi di sink aggregati, di intercettazione e non di intercettazione , a seconda che tu voglia che anche le risorse figlio instradino le voci di log. Quando nella gerarchia delle risorse di una voce di log esistono sink aggregati, il router dei log invia la voce di log a questi sink per primi e il tipo di sink determina cosa succede dopo:
- Sink aggregato di intercettazione
Un sink aggregato di intercettazione impedisce l'instradamento delle voci di log ai sink nelle risorse figlio, ad eccezione dei sink
_Requirednelle risorse in cui hanno origine le voci di log. Un sink aggregato di intercettazione può essere utile per impedire l'archiviazione di copie duplicate di voci di log in più posizioni.Ad esempio, supponiamo che tu debba abilitare i log di controllo dell'accesso ai dati per scopi di controllo. Per semplificare l'analisi, vuoi archiviare questi log in una posizione centrale. Tuttavia, per motivi di sicurezza e di costi, vuoi anche impedire che questi log vengano archiviati a livello di progetto. Per questo scenario, puoi creare un sink aggregato di intercettazione.
- Sink aggregato non di intercettazione
Un sink aggregato non di intercettazione non influisce sulla modalità di instradamento delle voci di log ad altri sink. Ciò significa che, anche quando una voce di log corrisponde al filtro di un sink aggregato non di intercettazione, viene inoltrata ad altri sink nella gerarchia delle risorse della voce di log. Un sink aggregato non di intercettazione ti consente di mantenere la visibilità delle voci di log nelle risorse in cui sono state generate.
Ad esempio, potresti creare un sink aggregato non di intercettazione che instrada tutte le voci di log generate dalle cartelle contenute in un'organizzazione a un bucket di log centrale. Le voci di log vengono archiviate nel bucket di log centrale. Tuttavia, poiché il sink non è di intercettazione, il router dei log invia le voci di log anche ai sink di log nella risorsa in cui sono state generate.
Esempi di routing
Questa sezione illustra il flusso di una voce di log che ha origine in un progetto attraverso i sink nella relativa gerarchia delle risorse.
Esempio: non esistono sink aggregati
Quando nella gerarchia delle risorse della voce di log non esistono sink aggregati, la voce di log viene inviata ai sink di log nel progetto in cui ha origine. Un sink a livello di progetto instrada la voce di log alla destinazione del sink quando la voce di log corrisponde al filtro di inclusione del sink, ma non corrisponde a nessuno dei filtri di esclusione del sink.
Esempio: esiste un sink aggregato non di intercettazione
Supponiamo che nella gerarchia delle risorse di una voce di log esista un sink aggregato non di intercettazione. Dopo che il router dei log invia la voce di log al sink aggregato non di intercettazione, si verifica quanto segue:
Il sink aggregato non di intercettazione instrada la voce di log alla destinazione del sink quando la voce di log corrisponde al filtro di inclusione, ma non corrisponde a nessun filtro di esclusione.
Il router dei log invia la voce di log ai sink di log nel progetto in cui ha origine.
Un sink a livello di progetto instrada la voce di log alla destinazione del sink quando la voce di log corrisponde al filtro di inclusione del sink, ma non corrisponde a nessuno dei filtri di esclusione del sink.
Esempio: esiste un sink aggregato di intercettazione
Supponiamo che nella gerarchia delle risorse di una voce di log esista un sink aggregato di intercettazione. Dopo che il router dei log invia la voce di log al sink aggregato di intercettazione, si verifica una delle seguenti condizioni:
La voce di log corrisponde al filtro di inclusione, ma non corrisponde a nessun filtro di esclusione:
- La voce di log viene instradata alla destinazione del sink aggregato di intercettazione.
- La voce di log viene inviata al sink
_Requirednel progetto in cui ha origine.
La voce di log non corrisponde al filtro di inclusione o corrisponde ad almeno un filtro di esclusione:
- La voce di log non viene instradata dal sink aggregato di intercettazione.
Il router dei log invia la voce di log ai sink di log nel progetto in cui ha origine.
Un sink a livello di progetto instrada la voce di log alla destinazione del sink quando la voce di log corrisponde al filtro di inclusione del sink, ma non corrisponde a nessuno dei filtri di esclusione del sink.
Destinazioni supportate per i sink aggregati
Questa sezione elenca le destinazioni supportate per i sink aggregati.
Sink di intercettazione
La destinazione di un sink aggregato di intercettazione deve essere un Google Cloud progetto.
I sink di log nel progetto di destinazione reindirizzano le voci di log alle rispettive destinazioni. Sono supportate tutte le destinazioni, ad eccezione dei progetti. Ad esempio, i sink di log nel progetto di destinazione potrebbero reindirizzare le voci di log a un bucket di log.
Sink non di intercettazione
Questa sezione descrive le destinazioni supportate per i sink aggregati non di intercettazione.
La destinazione di un sink può trovarsi in una risorsa diversa dal sink. Ad esempio, puoi utilizzare un sink di log per instradare le voci di log da un progetto a un bucket di log archiviato in un progetto diverso.
Sono supportate le seguenti destinazioni:
- Google Cloud project
Seleziona questa destinazione quando vuoi che i sink di log nel progetto di destinazione reindirizzino le voci di log o quando hai creato un sink aggregato di intercettazione. I sink di log nel progetto di destinazione possono reindirizzare le voci di log a qualsiasi destinazione supportata, ad eccezione di un progetto.
I sink di log creati dal sistema nel progetto di destinazione escludono le voci di log instradate al bucket di log
_Requirednel progetto di origine. Ad esempio, se instradi i log delle attività di amministrazione a un altro progetto, sia i sink di log_Requiredsia_Defaultnel progetto di destinazione escludono queste voci di log. Per archiviare queste voci di log, nel progetto di destinazione aggiorna il_Defaultsink di log o crea un sink di log personalizzato.
- Bucket di log
Seleziona questa destinazione quando vuoi archiviare i dati dei log nelle risorse gestite da Cloud Logging. I dati dei log archiviati nei bucket di log possono essere visualizzati e analizzati utilizzando servizi come Esplora log e Observability Analytics.
Se vuoi unire i dati dei log ad altri dati aziendali, puoi archiviarli in un bucket di log e creare un set di dati BigQuery collegato. Un set di dati BigQuery collegato è di sola lettura, ma puoi eseguirvi query come qualsiasi altro set di dati BigQuery.
- Set di dati BigQuery
- Seleziona questa destinazione quando vuoi unire i dati dei log ad altri dati aziendali. Il set di dati specificato deve essere abilitato per la scrittura. Non impostare la destinazione di un sink come set di dati BigQuery collegato. I set di dati BigQuery collegati sono di sola lettura.
- Bucket Cloud Storage
- Seleziona questa destinazione quando vuoi archiviare i dati dei log a lungo termine. Il bucket Cloud Storage può trovarsi nel progetto in cui hanno origine le voci di log o in un progetto diverso. Le voci di log vengono archiviate come file JSON.
- Argomento Pub/Sub
- Seleziona questa destinazione quando vuoi esportare i dati dei log da Google Cloud e poi utilizzare integrazioni di terze parti come Splunk o Datadog. Le voci di log vengono formattate come JSON e poi instradate a un argomento Pub/Sub.
Best practice
Ti consigliamo di impostare come destinazione di un sink aggregato un
Google Cloud progetto. Con questa destinazione, i sink di log nel progetto di destinazione
Google Cloud reindirizzano le voci di log.
Il sink _Required instrada solo le voci di log che corrispondono al relativo filtro e che hanno origine nella risorsa in cui è definito il sink. Pertanto, se vuoi archiviare copie aggiuntive delle voci di log che corrispondono al filtro del sink _Required, devi creare un sink di log personalizzato o modificare il filtro del sink di log _Default.
Quando crei un sink di intercettazione, ti consigliamo di procedere nel seguente modo:
Valuta se le risorse figlio hanno bisogno di un controllo indipendente dell'instradamento delle voci di log. Se una risorsa figlio ha bisogno di un controllo indipendente di determinate voci di log, verifica che il sink di intercettazione non instradi queste voci di log.
Aggiungi le informazioni di contatto alla descrizione di un sink di intercettazione. Questo potrebbe essere utile se le persone che gestiscono il sink di intercettazione sono diverse da quelle che gestiscono i progetti le cui voci di log vengono intercettate.
Testa la configurazione del sink creando prima un sink aggregato non di intercettazione per verificare che le voci di log corrette vengano instradate.
Sink aggregati di intercettazione e metriche basate su log
Le metriche basate su log sono Cloud Monitoring metriche derivate dal contenuto delle voci di log. La modalità di instradamento di una voce di log determina le metriche basate su log a cui può contribuire. Poiché un sink aggregato di intercettazione influisce sulla modalità di instradamento delle voci di log, la creazione di questo tipo di sink può comportare modifiche ai valori delle metriche basate su log esistenti.
Per ulteriori informazioni, vedi In che modo l'instradamento delle voci di log influisce sulle metriche basate su log.
Sink aggregati e Controlli di servizio VPC
Quando utilizzi i sink aggregati e i Controlli di servizio VPC, si applicano le seguenti limitazioni e i seguenti requisiti di configurazione:
Accesso ai log del progetto all'interno di un perimetro: i sink aggregati possono accedere ai dati dei log dei progetti all'interno di un perimetro di servizio. Per impedire ai sink aggregati di accedere ai dati all'interno di un perimetro, utilizza Identity and Access Management per gestire le autorizzazioni di Cloud Logging.
Dati dei log a livello di cartella e organizzazione: un perimetro di servizio dei Controlli di servizio VPC non protegge i dati dei log a livello di cartella o organizzazione, inclusi i dati dei log aggregati. Sebbene tu possa aggiungere una cartella a un perimetro di servizio regolare, in questo modo vengono protetti solo i progetti all'interno della gerarchia delle cartelle, non le risorse o i log a livello di cartella. Non puoi aggiungere un'organizzazione come risorsa protetta in un perimetro di servizio.
Per gestire le autorizzazioni di Logging a livello di cartella o organizzazione, utilizza IAM.
Regole in entrata per le destinazioni protette dal perimetro: se instradi i log utilizzando un sink a livello di cartella o organizzazione a una risorsa protetta da un perimetro di servizio, devi aggiungere una regola in entrata al perimetro di servizio di destinazione. La regola in entrata deve consentire l'accesso alla risorsa dal account di servizio (identità del writer) utilizzato dal sink aggregato. Per ulteriori informazioni, consulta le seguenti pagine:
Limitazioni del tipo di identità nelle regole in entrata e in uscita: quando un sink di log aggregato instrada i log a una risorsa Cloud Storage che si trova nel perimetro dei Controlli di servizio VPC, la regola in entrata o in uscita non può utilizzare
ANY_SERVICE_ACCOUNToANY_USER_ACCOUNTcome tipo di identità. Utilizza inveceANY_IDENTITYcome tipo di identità.Non è necessario configurare una regola in entrata per i sink non aggregati.
Passaggi successivi
Per informazioni su come creare un sink aggregato, vedi:
Instrada i log verso le destinazioni supportate: gestisci i sink