I sink aggregati consentono di raccogliere e instradare le voci di log di tutte le risorse all'interno di una cartella o di un'organizzazione verso una destinazione supportata. Puoi utilizzare i sink aggregati per archiviare i dati di log in una posizione centrale e controllare se le risorse secondarie 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 quali voci di log 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, con intercettazione e senza intercettazione, a seconda che tu voglia che anche le risorse figlio indirizzino le voci di log. Quando esistono sink aggregati nella gerarchia delle risorse di una voce di log, il router dei log invia prima la voce di log a questi sink e il tipo di sink determina cosa succede dopo:
- Sink aggregato di intercettazione
Un sink aggregato di intercettazione impedisce il routing delle voci di log ai sink nelle risorse figlio, ad eccezione dei sink
_Requirednelle risorse da cui provengono le voci di log. Un sink aggregato di intercettazione può essere utile per evitare che copie duplicate di voci di log vengano archiviate in più posizioni.Ad esempio, supponiamo che tu debba attivare gli audit log di controllo dell'accesso ai dati per scopi di controllo. Per semplificare l'analisi, vuoi archiviare questi log in una posizione centralizzata. Tuttavia, per motivi di sicurezza e di costo, 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 intercettante
Un sink aggregato non di intercettazione non influisce sul modo in cui le voci di log vengono indirizzate ad altri sink. Ciò significa che, anche se una voce di log corrisponde al filtro di un sink aggregato non intercettante, la voce di log viene inoltrata ad altri sink nella gerarchia delle risorse della voce di log. Un sink aggregato non intercettante 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 intercettante che indirizza 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 anche le voci di log ai sink di log nella risorsa in cui sono state generate.
Esempi di routing
Questa sezione illustra come una voce di log che ha origine in un progetto potrebbe passare attraverso i sink nella sua gerarchia delle risorse.
Esempio: non esistono sink aggregati
Se 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 a nessuno dei filtri di esclusione del sink.
Esempio: esiste un sink aggregato non intercettante
Supponiamo che nella gerarchia delle risorse per una voce di log esista un sink aggregato non intercettante. Dopo che il router dei log invia la voce di log al sink aggregato non intercettante, si verifica quanto segue:
Il sink aggregato non intercettante instrada la voce di log alla destinazione del sink quando la voce di log corrisponde al filtro di inclusione, ma non a un filtro di esclusione.
Il router dei log invia la voce di log ai sink di log nel progetto in cui ha avuto origine la voce di log.
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 a nessuno dei filtri di esclusione del sink.
Esempio: esiste un sink aggregato di intercettazione
Supponiamo che nella gerarchia delle risorse per 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 situazioni:
La voce di log corrisponde al filtro di inclusione, ma non corrisponde a nessun filtro di esclusione:
- La voce di log viene indirizzata alla destinazione del sink aggregato di intercettazione.
- La voce di log viene inviata al sink
_Requirednel progetto in cui è stata generata.
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 avuto origine la voce di log.
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 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 progettoGoogle Cloud .
I sink di log nel progetto di destinazione cambiano percorso delle voci di log verso le relative 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 intercettanti.
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 altro progetto.
Sono supportate le seguenti destinazioni:
- ProgettoGoogle Cloud
Seleziona questa destinazione se vuoi che i sink di log nel progetto di destinazione cambino il percorso delle voci di log o se 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 che vengono indirizzate al bucket di log
_Requirednel progetto di origine. Ad esempio, se esegui il routing dei log delle attività di amministrazione a un altro progetto, i sink di log_Requirede_Defaultnel progetto di destinazione escludono queste voci di log. Per archiviare queste voci di log, nel progetto di destinazione aggiorna il sink di log_Defaulto crea un sink di log personalizzato.
- Bucket di log
- Seleziona questa destinazione se vuoi archiviare i dati di log in risorse gestite da Cloud Logging. I dati di log archiviati nei bucket di log possono essere visualizzati e analizzati utilizzando servizi come Esplora log.
- Argomento Pub/Sub
- Seleziona questa destinazione se vuoi esportare i dati di log daGoogle Cloud e poi utilizzare un'integrazione di terze parti. Le voci di log vengono formattate come JSON e poi indirizzate a un argomento Pub/Sub.
Best practice
Ti consigliamo di utilizzare un progettoGoogle Cloud come destinazione di un sink aggregato. Con questa destinazione, i sink di log nel progettoGoogle Cloud di destinazione cambiano il percorso delle voci di log.
Il sink _Required esegue il routing solo delle voci di log che corrispondono al filtro e che provengono dalla 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:
Valuta se le risorse secondarie hanno bisogno di un controllo indipendente sul routing delle voci di log. Se una risorsa secondaria richiede il controllo indipendente di determinate voci di log, verifica che il sink di intercettazione non esegua il routing di queste voci di log.
Aggiungi i dati di contatto alla descrizione di un sink di intercettazione. Questo potrebbe essere utile se i gestori del sink di intercettazione sono diversi dai gestori dei progetti le cui voci di log vengono intercettate.
Testa la configurazione del sink creando prima un sink aggregato non intercettante per verificare che vengano indirizzate le voci di log corrette.
Passaggi successivi
Per informazioni su come creare un sink aggregato, consulta quanto segue:
Instrada i log verso destinazioni supportate: gestisci i sink