Memorizza e analizza i log in locale in Oracle Cloud Infrastructure
Oracle Cloud Infrastructure Data Flow è un servizio Apache Spark ™ completamente gestito ideale per l'elaborazione di grandi volumi di file di log.
I file di log vengono generati per tutto il tempo. Tutto, dall'hardware, ai sistemi operativi, ai dispositivi di rete, ai servizi Web e alle applicazioni, genera registri in modo continuo. L'analisi di questi dati di log consente di risolvere e diagnosticare i problemi, riparazioni predittive, rilevamento delle intrusioni, pattern di accesso Web e molto altro ancora.
Il flusso di dati consente la memorizzazione centralizzata dei dati di log in Oracle Cloud Infrastructure Object Storage. Abilita l'analisi dei dati creando un'applicazione Apache Spark una volta e quindi eseguendola sui nuovi file di log al loro arrivo in Object Storage. L'output di questa analisi può quindi essere caricato in Autonomous Data Warehouse per eseguire query e report. E tutto questo viene fatto senza costi comuni come il provisioning di cluster o installazioni software.
Architettura
Questa architettura mostra il flusso di dati che si connette allo storage degli oggetti, analizza i file di log e salva i risultati in Autonomous Data Warehouse per il reporting.
Il seguente diagramma illustra questa architettura di riferimento.

Descrizione dell'immagine architecture-analyze-logs.png
L'architettura ha i seguenti componenti:
- Area
Un'area Oracle Cloud Infrastructure è un'area geografica localizzata che contiene uno o più data center, denominati domini di disponibilità. Le regioni sono indipendenti da altre regioni, e vaste distanze possono separarle (tra paesi o addirittura continenti).
- Domini di disponibilità
I domini di disponibilità sono data center indipendenti e autonomi all'interno di un'area. Le risorse fisiche in ogni dominio di disponibilità vengono isolate dalle risorse negli altri domini di disponibilità, che forniscono tolleranza di errore. I domini di disponibilità non condividono infrastrutture quali l'alimentazione o il raffreddamento o la rete di dominio di disponibilità interna. È quindi improbabile che un errore a un dominio di disponibilità influenzi gli altri domini di disponibilità nell'area.
- Domini di errore
Un dominio di errore è un raggruppamento di hardware e infrastruttura all'interno di un dominio di disponibilità. Ogni dominio di disponibilità ha tre domini di guasto con alimentazione e hardware indipendenti. Quando si distribuiscono risorse su più domini di errore, le applicazioni possono tollerare errori fisici del server, la manutenzione del sistema e gli errori di alimentazione all'interno di un dominio di errore.
- Rete cloud virtuale (VCN) e subnet
Un VCN è una rete customizzabile e definita dal software impostata in un'area Oracle Cloud Infrastructure. Come le tradizionali reti di data center, i VCN ti danno il controllo completo sul tuo ambiente di rete. Un VCN può avere più blocchi CIDR non sovrapposti che è possibile modificare dopo la creazione di VCN. È possibile segmentare un VCN in subnet, che possono essere definite in un'area o in un dominio di disponibilità. Ogni subnet è costituita da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet in VCN. È possibile modificare le dimensioni di una subnet dopo la creazione. Una subnet può essere pubblica o privata.
- Memorizzazione oggetti
Lo storage degli oggetti consente di accedere rapidamente a grandi quantità di dati strutturati e non strutturati di qualsiasi tipo di contenuto, inclusi backup del database, dati analitici e contenuti ricchi come immagini e video. Utilizzare lo storage standard per lo storage "caldo" a cui è necessario accedere rapidamente, immediatamente e frequentemente. Utilizzare lo storage di archivio per lo storage "freddo" che si conserva per lunghi periodi di tempo e raramente o raramente accedere.
- Autonomous Data Warehouse
Oracle Autonomous Data Warehouse è un servizio di database self-driving, self-securing e self-repairing ottimizzato per i carichi di lavoro del data warehouse. Non è necessario configurare o gestire alcun hardware o installare alcun software. Oracle Cloud Infrastructure gestisce la creazione del database, nonché il backup, l'applicazione di patch, l'aggiornamento e il tuning del database.
- Flusso di dati
Oracle Cloud Infrastructure Data Flow è un servizio completamente gestito per l'esecuzione delle applicazioni Apache Spark ™. Permette agli sviluppatori di concentrarsi sulle loro applicazioni e fornisce un ambiente di runtime facile da eseguire. Ha un'interfaccia utente semplice e semplice con supporto API per l'integrazione con applicazioni e flussi di lavoro. Non è necessario dedicare tempo all'infrastruttura di base, al provisioning del cluster o all'installazione del software.
Suggerimenti
Le vostre esigenze potrebbero differire dall'architettura descritta qui. Utilizzare i suggerimenti riportati di seguito come punto di partenza.
- VCN
Quando si crea un VCN, determinare il numero di blocchi CIDR richiesti e la dimensione di ciascun blocco in base al numero di risorse che si prevede di associare alle subnet in VCN. Utilizzare blocchi CIDR che si trovano all'interno dello spazio degli indirizzi IP privati standard.
Selezionare blocchi CIDR che non si sovrappongono a nessun'altra rete (in Oracle Cloud Infrastructure, nel data center in locale o in un altro provider cloud) a cui si intende impostare connessioni private.
Dopo aver creato un VCN, è possibile modificare, aggiungere e rimuovere i blocchi CIDR.
Quando si progettano le subnet, prendere in considerazione il flusso di traffico e i requisiti di sicurezza. Allegare tutte le risorse all'interno di uno specifico livello o ruolo alla stessa subnet, che può fungere da limite di sicurezza.
- Memorizzazione oggetti
Ingegnere tutti i file di log in Oracle Cloud Infrastructure Object Storage. Determinare la dimensione batch appropriata in base ai requisiti aziendali ed eseguire le applicazioni Flusso di dati per elaborare i file.
- Flusso di dati
Non è richiesta alcuna configurazione speciale. Tuttavia, le forme VM più grandi per il driver Spark e gli esecutori sono consigliate in base alla quantità di dati di log elaborati in ogni esecuzione dell'applicazione.
- Oracle Autonomous Data Warehouse
Assicurarsi che il wallet necessario per accedere al data warehouse sia memorizzato in un luogo sicuro e possa essere accessibile solo dagli utenti autorizzati. Una considerazione per la distribuzione di Autonomous Data Warehouse consiste nel creare questo elemento in un VCN come endpoint privato.
- Sicurezza
Utilizzare la soluzione Oracle Cloud Infrastructure Identity and Access Management per applicare i criteri e fornire l'accesso agli utenti, ai gruppi e alle risorse. L'applicazione Spark dovrà accedere ai bucket per leggere i file di log. Utilizzare il servizio vault per memorizzare la password richiesta per accedere a Autonomous Data Warehouse.
Considerazioni
- Frequenza
La frequenza con cui si esegue l'applicazione dipende dal volume e dalla frequenza dei file di log in entrata. L'applicazione Spark deve essere scritta con una logica appropriata in modo che possa gestire questo batch di dati in entrata. Una linea guida generale indica il tempo impiegato per elaborare ogni batch deve essere allineata alla frequenza di aggiornamento richiesta in Autonomous Data Warehouse dai servizi a valle che consumano l'output elaborato.
- Prestazioni
Diversi fattori influenzano le prestazioni, ma il più importante è la distribuzione dei dati e il partizionamento dei file di log in entrata. L'applicazione Spark può essere eseguita su ogni partizione in parallelo con OCPU e risorse di memoria in base alle esigenze. Oracle Cloud Infrastructure Data Flow offre la massima elasticità per gestire le risorse necessarie per ogni esecuzione dell'applicazione.
- Sicurezza
Utilizzare i criteri per limitare chi può accedere alle risorse Oracle Cloud Infrastructure e in che misura. Utilizzare Oracle Cloud Infrastructure Identity and Access Management (IAM) per assegnare privilegi a utenti e gruppi di utenti specifici per il flusso di dati ed eseguire la gestione all'interno del flusso di dati.
La cifratura è abilitata per Oracle Cloud Infrastructure Object Storage per impostazione predefinita e non può essere disattivata.
- Costo
Oracle Cloud Infrastructure Data Flow è pagante per uso, quindi si paga solo quando si esegue l'applicazione Flusso di dati, non quando la si crea. Si consiglia di memorizzare i log utilizzando diversi livelli disponibili: Object Store (storage "caldo") e Archivio (storage "freddo"). I dati elaborati possono quindi essere memorizzati in Autonomous Data Warehouse.
Distribuzione
Il codice Terraform per questa architettura di riferimento è disponibile su GitHub.
- Andare a GitHub.
- Duplicare o scaricare il repository nel computer locale.
- Seguire le istruzioni contenute nel documento
README.
Ulteriori informazioni
Per ulteriori informazioni su Oracle Cloud Infrastructure Data Flow, vedere le seguenti risorse.
- Esercitazione: impostare il flusso di dati per elaborare i log in locale in Oracle Cloud Infrastructure
- Oracle Cloud Infrastructure Data Flow
- Oracle Cloud Infrastructure Data Flow- Livello 100- Youtube
- Inserimento dei dati nella memorizzazione degli oggetti
- Framework best practice per Oracle Cloud Infrastructure