On-Premise-Logs in Oracle Cloud Infrastructure speichern und analysieren
Oracle Cloud Infrastructure Data Flow ist ein vollständig verwalteter Apache Spark ™-Service, der sich ideal für die Verarbeitung großer Volumes von Logdateien eignet.
Logdateien werden ständig generiert. Alles von Hardware, Betriebssystemen, Netzwerkgeräten, Webservices und Anwendungen generiert kontinuierlich Protokolle. Die Analyse dieser Logdaten hilft bei der Fehlersuche und Diagnose, prädiktiven Reparaturen, Eindringlingserkennung, Webzugriffsmustern und vielem mehr.
Data Flow ermöglicht die zentrale Speicherung von Logdaten in Oracle Cloud Infrastructure Object Storage. Sie ermöglicht die Analyse der Daten, indem Sie eine Apache Spark-Anwendung einmal erstellen und dann auf neuen Logdateien ausführen, wenn sie in Object Storage ankommen. Die Ausgabe dieser Analyse kann dann zur Abfrage und Berichterstattung in Autonomous Data Warehouse geladen werden. Und das alles ohne Overhead wie das Provisioning von Clustern oder Software-Installationen.
Architektur
Diese Architektur zeigt den Datenfluss an, der sich bei Object Storage anmeldet, die Logdateien analysiert und die Ergebnisse in Autonomous Data Warehouse zum Reporting speichert.
Das folgende Diagramm veranschaulicht diese Referenzarchitektur.

Beschreibung der Abbildung architektur-analyse-logs.png
Die Architektur verfügt über folgende Komponenten:
- Region
Eine Oracle Cloud Infrastructure-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Rechenzentrum (Availability-Domains) enthält. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie trennen (über Länder oder sogar Kontinente).
- Availability-Domains
Availability-Domains sind eigenständige, unabhängige Rechenzentren innerhalb einer Region. Die physischen Ressourcen in jeder Availability-Domain werden von den Ressourcen in den anderen Availability-Domains isoliert, was eine Fehlertoleranz bietet. Availability-Domains teilen keine Infrastruktur wie Strom oder Kühlung oder das interne Availability-Domainnetzwerk. Ein Fehler bei einer Availability-Domain wirkt sich daher unwahrscheinlich auf die anderen Availability-Domains in der Region aus.
- Fault-Domains
Eine Faultdomain ist eine Gruppierung von Hardware und Infrastruktur innerhalb einer Availability-Domain. Jede Availability-Domain verfügt über drei Faultdomains mit unabhängiger Power und Hardware. Wenn Sie Ressourcen auf mehrere Faultdomains verteilen, können Ihre Anwendungen physischen Serverausfall, Systemwartung und Stromausfälle innerhalb einer Faultdomain tolerieren.
- Virtuelles Cloud-Netzwerk (VCN) und Subnetze
Ein VCN ist ein anpassbares softwaredefiniertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region einrichten. Wie herkömmliche Data Center-Netzwerke geben VCNs Ihnen die vollständige Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere nicht überlappende CIDR-Blöcke enthalten, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die in eine Region oder in eine Availability-Domain skaliert werden können. Jedes Subnetz besteht aus einem zusammenhängenden Adressbereich, der sich nicht mit den anderen Subnetzen in VCN überschneidet. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz kann öffentlich oder privat sein.
- Objektspeicher
Der Objektspeicher bietet schnellen Zugriff auf große Mengen strukturierter und unstrukturierter Daten aller Inhaltstypen, einschließlich Datenbankbackups, Analysedaten und reicher Inhalte wie Bilder und Videos. Verwenden Sie Standardspeicher für "heißen" Speicher, auf den Sie schnell, sofort und häufig zugreifen müssen. Verwenden Sie Archivspeicher für "kalte" Speicher, die Sie für lange Zeiträume behalten und selten oder selten Zugriff.
- Autonomes Data Warehouse
Oracle Autonomous Data Warehouse ist ein selbstfahrender, selbstsichernder, selbstreparierender Datenbankservice, der für Data Warehousing-Workloads optimiert ist. Sie müssen keine Hardware konfigurieren oder verwalten oder Software installieren. Oracle Cloud Infrastructure verarbeitet das Erstellen der Datenbank sowie das Sichern, Patchen, Upgraden und Optimieren der Datenbank.
- Datenfluss
Oracle Cloud Infrastructure Data Flow ist ein vollständig verwalteter Service für die Ausführung von Apache Spark ™-Anwendungen. Es ermöglicht Entwicklern, sich auf ihre Anwendungen zu konzentrieren und bietet eine einfache Laufzeitumgebung, um sie auszuführen. Es verfügt über eine einfache und einfache Benutzeroberfläche mit API-Unterstützung für die Integration mit Anwendungen und Workflows. Sie müssen keine Zeit mit der zugrunde liegenden Infrastruktur, dem Cluster-Provisioning oder der Softwareinstallation verbringen.
Empfehlungen
Ihre Anforderungen können von der hier beschriebenen Architektur abweichen. Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt.
- VCN
Wenn Sie ein VCN erstellen, bestimmen Sie die Anzahl der erforderlichen CIDR-Blöcke und die Größe jedes Blocks basierend auf der Anzahl der Ressourcen, die Sie an Subnetze in VCN anhängen möchten. Verwenden Sie CIDR-Blöcke, die sich innerhalb des standardmäßigen privaten IP-Adressraums befinden.
Wählen Sie CIDR-Blöcke, die sich nicht mit einem anderen Netzwerk überschneiden (in Oracle Cloud Infrastructure, Ihrem On-Premise-Rechenzentrum oder einem anderen Cloud-Provider), zu dem Sie private Verbindungen einrichten möchten.
Nachdem Sie ein VCN erstellt haben, können Sie die CIDR-Blöcke ändern, hinzufügen und entfernen.
Wenn Sie die Subnetze entwerfen, berücksichtigen Sie Ihre Verkehrsfluss- und Sicherheitsanforderungen. Ordnen Sie alle Ressourcen innerhalb einer bestimmten Ebene oder Rolle an dasselbe Subnetz zu, das als Sicherheitsgrenze dienen kann.
- Objektspeicher
Geben Sie alle Logdateien in Oracle Cloud Infrastructure Object Storage ein. Bestimmen Sie die entsprechende Batchgröße basierend auf den Geschäftsanforderungen, und führen Sie die Datenflussanwendungen aus, um die Dateien zu verarbeiten.
- Datenfluss
Es ist keine spezielle Konfiguration erforderlich. Größere VM-Formen für den Spark-Treiber und Ausführer werden jedoch basierend auf der Menge der Logdaten empfohlen, die in jeder Ausführung der Anwendung verarbeitet werden.
- Oracle Autonomous Data Warehouse
Stellen Sie sicher, dass das Wallet für den Zugriff auf das Data Warehouse an einem sicheren Ort gespeichert ist und nur von autorisierten Benutzern aufgerufen werden kann. Eine Überlegung für das Deployment von Autonomous Data Warehouse wäre, dies in einem VCN als privatem Endpunkt zu erstellen.
- Sicherheit
Verwenden Sie die Oracle Cloud Infrastructure Identity and Access Management-Lösung, um Policys anzuwenden und den Benutzern, Gruppen und Ressourcen Zugriff zu gewähren. Die Spark-Anwendung benötigt Zugriff auf die Buckets, um die Logdateien zu lesen. Verwenden Sie den Vault-Service, um das Kennwort zu speichern, das für den Zugriff auf Autonomous Data Warehouse erforderlich ist.
Überlegungen
- Häufigkeit
Die Häufigkeit, mit der Sie Ihre Anwendung ausführen, hängt von der Lautstärke und Häufigkeit eingehender Logdateien ab. Die Spark-Anwendung muss mit einer entsprechenden Logik geschrieben werden, damit sie diesen eingehenden Datenbatch verarbeiten kann. Eine allgemeine Richtlinie ist die Zeit für die Verarbeitung jedes Batches, die mit der Häufigkeit der Aktualisierung in Autonomous Data Warehouse durch nachgeschaltete Services, die die verarbeitete Ausgabe verbrauchen, abgestimmt werden muss.
- Performance
Mehrere Faktoren beeinflussen die Performance, aber das Wichtigste ist die Datenverteilung und Partitionierung eingehender Logdateien. Die Spark-Anwendung kann bei Bedarf für jede Partition parallel zu OCPU- und Speicherressourcen ausgeführt werden. Oracle Cloud Infrastructure Data Flow bietet volle Elastizität zur Verwaltung der Ressourcen, die für jede Ausführung der Anwendung erforderlich sind.
- Sicherheit
Verwenden Sie Policys, um einzuschränken, wer auf Oracle Cloud Infrastructure-Ressourcen zugreifen kann und inwieweit. Verwenden Sie Oracle Cloud Infrastructure Identity and Access Management (IAM), um bestimmten Benutzern und Benutzergruppen Berechtigungen für Datenfluss und Ausführungsverwaltung im Datenfluss zuzuweisen.
Verschlüsselung ist standardmäßig für Oracle Cloud Infrastructure Object Storage aktiviert und kann nicht deaktiviert werden.
- Kostenfaktor
Oracle Cloud Infrastructure Data Flow wird pro Verwendung bezahlt. Daher zahlen Sie nur, wenn Sie die Datenflussanwendung ausführen, nicht, wenn Sie sie erstellen. Es ist ratsam, die Logs mit verschiedenen verfügbaren Ebenen zu speichern: Object Store ("Hot"-Speicher) und Archive Store ("cold"-Speicher). Die verarbeiteten Daten können dann in Autonomous Data Warehouse gespeichert werden.
Bereitstellen
Der Terraform-Code für diese Referenzarchitektur ist auf GitHub verfügbar.
- Gehen Sie zu GitHub.
- Klonen oder laden Sie das Repository auf Ihren lokalen Computer herunter.
- Befolgen Sie die Anweisungen im Dokument
README.