Aggregare i log utilizzando il servizio di ricerca OCI con OpenSearch
Il servizio di ricerca OCI con il servizio gestito OpenSearch di Oracle OpenSearch consente di cercare set di dati di grandi dimensioni e visualizzare i risultati in millisecondi sfruttando un potente indice. OpenSearch è una suite di ricerca e analisi open source basata sulla comunità derivata da Elasticsearch 7.10.2 con licenza Apache 2.0 e Kibana 7.10.2.
- un daemon del motore di ricerca - OpenSearch
- una visualizzazione e un'interfaccia utente - Dashboard OpenSearch
- Analizzare i log
- Memorizza, analizza e connetti i dati degli eventi per trovare e risolvere i problemi il più rapidamente possibile e migliorare le prestazioni delle applicazioni.
- Espandi facilmente la dimensione del cluster per fluttuazioni stagionali nei dati degli eventi.
- Ricerca di applicazioni
I data set aumentano costantemente le dimensioni e un'esperienza di ricerca rapida e personalizzata è necessaria per le applicazioni, i siti Web e i repository di dati di grandi dimensioni. Il servizio di ricerca OCI con OpenSearch consente di ottenere i risultati più veloci in base alla frequenza con cui alcuni dati/pagine vengono ricavati o in base al tempo.
Ad esempio, un'azienda di archiviazione di foto potrebbe rendere più veloci i risultati delle immagini richieste di recente, spostando le immagini più vecchie e meno accessibili per risparmiare spazio di archiviazione per mantenere l'indicizzazione il più velocemente possibile.
Architettura
Questa architettura di riferimento mostra un caso d'uso semplice per la registrazione, l'elaborazione e il consolidamento dei server.
Il diagramma riportato di seguito illustra questa architettura di riferimento.
oci-opensearch-log-analytics-arch-oracle.zip
Il diagramma riportato sopra mostra un ambiente applicativo semplificato ad alta disponibilità su OCI, con lo stato attivo su due istanze di virtual machine dietro un load balancer. Le istanze esistono in due domini di disponibilità distinti.
Ogni istanza di virtual machine utilizza Filebeat per l'inoltro dei log. Filebeat è un agente leggero, installato sulle istanze delle virtual machine, che monitora i file di log e le posizioni specificate, raccoglie gli eventi di log e li inoltra a Logstash.
Logstash, la pipeline di elaborazione dati per l'analisi e la trasformazione dei log, viene eseguita nelle istanze inserite in due domini di disponibilità distinti. Logstash, a sua volta, invia i log trasformati al servizio di ricerca OCI con OpenSearch
Il servizio di ricerca OCI con OpenSearch è un servizio gestito a livello regionale, con ridondanza integrata. Il servizio di ricerca OCI con OpenSearch dispone di endpoint privati per i dashboard OpenSearch e OpenSearch, pertanto il traffico non attraversa Internet.
- 9200 per OpenSearch
- 5601 per dashboard OpenSearch
L'architettura prevede i componenti elencati di seguito.
- Tenancy
Una tenancy è una partizione sicura e isolata impostata da Oracle all'interno di Oracle Cloud quando ti iscrivi a Oracle Cloud Infrastructure. È possibile creare, organizzare e amministrare le risorse in Oracle Cloud all'interno della propria tenancy. Una tenancy è sinonimo di azienda o organizzazione. In genere, un'azienda avrà un'unica tenancy e rifletterà la sua struttura organizzativa all'interno di tale tenancy. Una singola tenancy è in genere associata a una singola sottoscrizione e una singola sottoscrizione di solito ha una sola tenancy.
- Criteri
Un criterio Oracle Cloud Infrastructure Identity and Access Management specifica chi può accedere alle risorse e come. L'accesso viene concesso a livello di gruppo e compartimento. Ciò significa che è possibile scrivere un criterio che consente a un gruppo di accedere a un tipo specifico di compartimento specifico o alla tenancy.
- Compartimenti
I compartimenti sono partizioni logiche tra più aree all'interno di una tenancy Oracle Cloud Infrastructure. Utilizzare i compartimenti per organizzare le risorse in Oracle Cloud, controllare l'accesso alle risorse e impostare le quote di utilizzo. Per controllare l'accesso alle risorse in un determinato compartimento, puoi definire criteri che specificano gli utenti che possono accedere alle risorse e le azioni che possono eseguire.
- Rete cloud virtuale
Uno dei primi passi in OCI è l'impostazione di una rete cloud virtuale (VCN) per le risorse cloud. Una VCN è una rete definita dal software impostata nell'area OCI. Le VCN possono essere segmentate in subnet, che possono essere specifiche di un'area o di un dominio di disponibilità. Sia le subnet specifiche dell'area che quelle del dominio di disponibilità possono coesistere nella stessa VCN. Una subnet può essere pubblica o privata.
- Domini di disponibilità
I domini di disponibilità sono data center indipendenti e standalone all'interno di un'area geografica. Le risorse fisiche presenti in ciascun dominio di disponibilità sono isolate dalle risorse presenti negli altri domini di disponibilità, il che garantisce la tolleranza agli errori. I domini di disponibilità non condividono l'infrastruttura, ad esempio l'alimentazione o il raffreddamento, né la rete interna del dominio di disponibilità. Pertanto, è improbabile che un errore di un dominio di disponibilità influisca sugli altri domini di disponibilità nell'area.
- Host bastion
L'host Bastion è un'istanza di computazione che funge da punto di accesso sicuro e controllato alla topologia dall'esterno del cloud. Consente di accedere a risorse riservate collocate in reti private a cui non è possibile accedere direttamente dall'esterno del cloud. La topologia dispone di un singolo punto di accesso conosciuto che è possibile monitorare e controllare regolarmente, in modo da evitare di esporre i componenti più sensibili della topologia senza compromettere l'accesso.
- Load balancer
Il servizio Oracle Cloud Infrastructure Load Balancing fornisce la distribuzione automatica del traffico da un singolo punto di accesso a più server nel back-end.
- Istanze di computazione
Oracle Cloud Infrastructure Compute consente di eseguire il provisioning e la gestione degli host di computazione. Puoi avviare le istanze di computazione con forme che soddisfano i requisiti delle tue risorse (CPU, memoria, larghezza di banda della rete e storage). Dopo aver creato un'istanza di computazione, puoi accedervi in modo sicuro, riavviarla, collegare e scollegare i volumi e arrestarli quando non ne hai bisogno.
- Gateway Internet
Il gateway Internet consente il traffico tra le subnet pubbliche in una VCN e la rete Internet pubblica.
- Gateway di instradamento dinamico (DRG)
Il gateway DRG è un router virtuale che fornisce un percorso per il traffico di rete privato tra VCN nella stessa area, tra una VCN e una rete esterna all'area, ad esempio una VCN in un'altra area Oracle Cloud Infrastructure, una rete on premise o una rete in un altro provider cloud.
- Vault
Oracle Cloud Infrastructure Vault consente di gestire centralmente le chiavi di cifratura che proteggono i dati e le credenziali segrete utilizzate per proteggere l'accesso alle risorse nel cloud.
- VPN site-to-Site
VPN site-to-Site fornisce la connettività VPN IPSec tra la tua rete on premise e i VCN in Oracle Cloud Infrastructure. La suite di protocolli IPSec cifra il traffico IP prima che i pacchetti vengano trasferiti dall'origine alla destinazione e decifra il traffico all'arrivo.
- FastConnect
Oracle Cloud Infrastructure FastConnect offre un modo semplice per creare una connessione dedicata e privata tra il tuo data center e Oracle Cloud Infrastructure. FastConnect fornisce opzioni di larghezza di banda più elevata e un'esperienza di rete più affidabile rispetto alle connessioni basate su Internet.
- Web Application Firewall (WAF)
Oracle Cloud Infrastructure Web Application Firewall (WAF) è un servizio di applicazione perimetrale, basato su area geografica e conforme alle carte di pagamento (PCI) collegato a un punto di applicazione, ad esempio un load balancer o un nome di dominio di applicazione Web. WAF protegge le applicazioni dal traffico Internet dannoso e indesiderato. WAF è in grado di proteggere qualsiasi endpoint che si interfaccia con Internet, garantendo un'applicazione coerente delle regole in tutte le applicazioni di un cliente.
Suggerimenti
- VCN
Quando crei una VCN, determina il numero di blocchi CIDR necessari e la dimensione di ogni blocco in base al numero di risorse che intendi collegare alle subnet nella VCN. Utilizzare i blocchi CIDR che si trovano all'interno dello spazio di indirizzi IP privati standard.
Selezionare i blocchi CIDR che non si sovrappongono a qualsiasi altra rete (in Oracle Cloud Infrastructure, il data center on premise o un altro provider cloud) a cui si intende impostare connessioni private.
Dopo aver creato una VCN, è possibile modificare, aggiungere e rimuovere i relativi blocchi CIDR.
Durante la progettazione delle subnet, prendi in considerazione i requisiti di flusso del traffico e sicurezza. Associare tutte le risorse all'interno di un livello o ruolo specifico alla stessa subnet, che può fungere da limite di sicurezza.
- Sicurezza
Utilizza i criteri per limitare l'accesso alle risorse OCI di cui la tua azienda dispone e le modalità di accesso. Sono necessari criteri specifici per un servizio di ricerca OCI di successo con la creazione del cluster OpenSearch. Utilizzare Vault per una maggiore protezione delle chiavi, dei certificati e dei segreti.
Il servizio di networking offre due funzionalità firewall virtuali che utilizzano regole di sicurezza per controllare il traffico a livello di pacchetto: liste di sicurezza e gruppi di sicurezza di rete (NSG). Un gruppo NSG è costituito da un set di regole di sicurezza in entrata e in uscita valide solo per un set di VNIC di tua scelta in una singola VCN. Ad esempio, puoi scegliere tutte le istanze di computazione che agiscono come server Web nel livello Web di un'applicazione a più livelli nella tua VCN.
Le regole di sicurezza NSG funzionano allo stesso modo delle regole delle liste di sicurezza. Tuttavia, per l'origine o la destinazione di una regola di sicurezza NSG, è possibile specificare un gruppo NSG anziché un blocco CIDR. In questo modo, puoi scrivere facilmente le regole di sicurezza per controllare il traffico tra due gruppi NSG nella stessa VCN o il traffico all'interno di un singolo gruppo NSG. Quando si crea un sistema di database, è possibile specificare uno o più gruppi NSG. È inoltre possibile aggiornare un sistema di database esistente per utilizzare uno o più gruppi NSG.
- Calcolo
Scegli le forme con la combinazione di OCPU e memoria appropriata, quindi esegui il provisioning dello storage NVMe e/o a blocchi locale in base alle esigenze, per ogni istanza.
Considerazioni
Quando si implementa questa architettura, considerare i requisiti dei parametri riportati di seguito.
- Log
In questa architettura di riferimento, utilizziamo Logstash per l'analisi e la trasformazione dei log.
Filebeat può anche inviare i log direttamente a OpenSearch. Questo approccio potrebbe essere utilizzato in un unico tipo di tronchi o registri molto uniformi. Filebeat non è in grado di filtrare e trasformare i log in modo avanzato, rendendo difficile aggregare i log di tipi diversi quando il formato è distinto.
- Istanze
In questa architettura di riferimento utilizziamo istanze dedicate per Logstash. In alternativa, Logstash può essere eseguito in ogni istanza o server di origine. Ciò comporta un maggiore consumo di risorse nelle istanze o nei server di origine.
Per l'alta disponibilità di Logstash, prova a usare più istanze, diffondersi tra domini di errore o domini di disponibilità. Filebeat può caricare il bilanciamento tra le istanze Logstash, senza un load balancer separato.
- Code persistenti
Valutare la possibilità di configurare code persistenti per Logstash. Una coda persistente Logstash aiuta a evitare la perdita di dati durante la cessazione anomala memorizzando la coda dei messaggi in esecuzione su disco.
