Logs mit OCI Search Service mit OpenSearch aggregieren
Mit OCI Search Service mit dem verwalteten OpenSearch-Service OpenSearch von Oracle können Sie große Datasets durchsuchen und Ergebnisse in Millisekunden anzeigen, indem Sie einen leistungsstarken Index verwenden. OpenSearch ist eine communitygesteuerte Open-Source-Such- und Analysesuite, die von der lizenzierten Elasticsearch 7.10.2 und Kibana 7.10.2 von Apache 2.0 abgeleitet ist.
- einen Suchmaschinen-Daemon - OpenSearch
- Visualisierung und Benutzeroberfläche - OpenSearch Dashboards
- Logs analysieren
- Sie können Ereignisdaten speichern, untersuchen und verbinden, um Probleme so schnell wie möglich zu finden und zu beheben sowie die Anwendungsperformance zu verbessern.
- Erweitern Sie Ihre Clustergröße problemlos für saisonale Fluktuationen von Ereignisdaten.
- Anwendungssuche
Datasets erhöhen sich ständig und eine schnelle und benutzerdefinierte Suche ist für Ihre Anwendungen, Websites und großen Daten-Repositorys erforderlich. OCI Search Service mit OpenSearch kann die schnellsten Ergebnisse basierend auf der Häufigkeit bestimmter Daten/Seiten ermöglichen, die bezogen werden oder auf Zeit basieren.
Beispiel: Ein Fotoarchivierungsgeschäft könnte Bildergebnisse für Bilder, die vor kurzem angefordert wurden, schneller darstellen, während ältere und weniger aufgerufene Bilder in einen warmen Speicher verschoben werden, um die Indexierung so schnell wie möglich zu halten.
Architektur
Diese Referenzarchitektur zeigt einen einfachen Anwendungsfall für Server-Logging, -Verarbeitung und -Konsolidierung.
Das folgende Diagramm veranschaulicht diese Referenzarchitektur.
oci-opensearch-log-analytics-arch-oracle.zip
Das obige Diagramm zeigt eine vereinfachte High-Availability-Anwendungsumgebung auf OCI an, wobei der Fokus auf zwei Virtual-Machine-Instanzen hinter einem Load Balancer liegt. Die Instanzen sind in zwei verschiedenen Availability-Domains vorhanden.
Jede VM-Instanz verwendet Filebeat für das Weiterleiten von Logs. Filebeat ist ein Lightweight Agent, der auf den Virtual-Machine-Instanzen installiert ist und die angegebenen Logdateien und Speicherorte überwacht, Logereignisse sammelt und an Logstash weiterleitet.
Logstash, die Datenverarbeitungspipeline für Logparsing und Transformation, wird in Instanzen ausgeführt, die in zwei verschiedenen Availability-Domains abgelegt sind. Logstash sendet die transformierten Logs wiederum mit OpenSearch an OCI Search Service.
OCI Search Service mit OpenSearch ist ein regionaler verwalteter Service mit integrierter Redundanz. OCI Search Service mit OpenSearch umfasst private Endpunkte für OpenSearch- und OpenSearch-Dashboards, sodass Ihr Traffic nicht über das Internet geleitet wird.
- 9200 für OpenSearch
- 5601 für OpenSearch-Dashboards
Die Architektur hat folgende Komponenten:
- Mandant
Ein Mandant ist eine sichere und isolierte Partition, die Oracle in Oracle Cloud einrichtet, wenn Sie sich für Oracle Cloud Infrastructure registrieren. Sie können Ihre Ressourcen in Oracle Cloud innerhalb Ihres Mandanten erstellen, organisieren und verwalten. Ein Mandant ist ein Synonym für eine Firma oder Organisation. Normalerweise hat ein Unternehmen einen einzelnen Mandanten und spiegelt seine Organisationsstruktur in diesem Mandanten wider. Ein einzelner Mandant ist in der Regel mit einem einzelnen Abonnement verknüpft, und ein einzelnes Abonnement hat in der Regel nur einen Mandanten.
- Policys
Eine Oracle Cloud Infrastructure Identity and Access Management-Policy gibt an, wer auf welche Ressourcen zugreifen kann und wie. Der Zugriff wird auf Gruppen- und Compartment-Ebene erteilt. Sie können eine Policy schreiben, mit der eine Gruppe einen bestimmten Zugriffstyp innerhalb eines bestimmten Compartments oder auf den Mandanten erhält.
- Abteilungen
Compartments sind regionsübergreifende logische Partitionen in einem Oracle Cloud Infrastructure-Mandanten. Mit Compartments können Sie Ihre Ressourcen in Oracle Cloud organisieren, den Zugriff auf die Ressourcen kontrollieren und Nutzungsquoten festlegen. Um den Zugriff auf die Ressourcen in einem bestimmten Compartment zu kontrollieren, definieren Sie Policys, mit denen angegeben wird, wer auf die Ressourcen zugreifen kann und welche Aktionen sie ausführen können.
- Virtuelles Cloud-Netzwerk
Einer Ihrer ersten Schritte in OCI besteht in der Einrichtung eines virtuellen Cloud-Netzwerks (VCN) für Ihre Cloud-Ressourcen. Ein VCN ist ein softwaredefiniertes Netzwerk, das Sie in einer OCI-Region einrichten. VCNs können in Subnetze segmentiert werden, die für eine Region oder eine Availability-Domain spezifisch sein können. Sowohl regionsspezifische als auch Availability-Domain-spezifische Subnetze können in demselben VCN vorhanden sein. Ein Subnetz kann öffentlich oder privat sein.
- Verfügbarkeitsdomains
Availability-Domains sind eigenständige, unabhängige Data Center innerhalb einer Region. Die physischen Ressourcen in jeder Availability-Domain sind von den Ressourcen in den anderen Availability-Domains isoliert, was Fehlertoleranz bietet. Availability-Domains haben keine gemeinsame Infrastruktur wie Stromversorgung, Kühlung oder das interne Availability-Domainnetzwerk. Daher ist es wahrscheinlich, dass sich ein Fehler in einer Availability-Domain auf die anderen Availability-Domains in der Region auswirkt.
- Bastion Host
Der Bastionhost ist eine Compute-Instanz, die als sicherer, kontrollierter Einstiegspunkt zur Topologie von außerhalb der Cloud dient. Damit können Sie auf sensible Ressourcen in privaten Netzwerken zugreifen, auf die nicht direkt außerhalb der Cloud zugegriffen werden kann. Die Topologie verfügt über einen einzigen, bekannten Einstiegspunkt, den Sie regelmäßig überwachen und auditieren können. So können Sie vermeiden, dass die empfindlicheren Komponenten der Topologie angezeigt werden, ohne den Zugriff darauf zu beeinträchtigen.
- Load Balancer
Der Oracle Cloud Infrastructure Load Balancing-Service ermöglicht automatisierte Trafficverteilung von einem einzelnen Entry Point zu mehreren Servern im Backend.
- Compute-Instanzen
Mit Oracle Cloud Infrastructure Compute können Sie Compute-Hosts bereitstellen und verwalten. Sie können Compute-Instanzen mit Ausprägungen starten, die Ihren Ressourcenanforderungen (CPU, Arbeitsspeicher, Netzwerkbandbreite und Speicher) entsprechen. Nach dem Erstellen einer Compute-Instanz können Sie sicher auf die Compute-Instanz zugreifen, sie neu starten, Volumes zuordnen oder entfernen und sie beenden, wenn Sie sie nicht benötigen.
- Internetgateway
Das Internetgateway ermöglicht den Traffic zwischen den öffentlichen Subnetzen in einem VCN und dem öffentlichen Internet.
- Dynamisches Routinggateway (DRG)
Das DRG ist ein virtueller Router, der einen Pfad für privaten Netzwerkverkehr zwischen VCNs in derselben Region zwischen einem VCN und einem Netzwerk außerhalb der Region bereitstellt, wie ein VCN in einer anderen Oracle Cloud Infrastructure-Region, ein On-Premise-Netzwerk oder ein Netzwerk in einem anderen Cloud-Provider.
- Gewölbe
Oracle Cloud Infrastructure Vault ermöglicht die zentrale Verwaltung der Verschlüsselungsschlüssel, die Ihre Daten schützen, und der Secret-Zugangsdaten, die Sie für den sicheren Zugriff auf Ihre Ressourcen in der Cloud verwenden.
- Site-to-Site-VPN
Über das Site-to-Site-VPN wird eine IPSec-VPN-Verbindung zwischen Ihrem On-Premise-Netzwerk und VCNs in Oracle Cloud Infrastructure hergestellt. Die IPSec-Protokollsuite verschlüsselt den IP-Traffic, bevor die Pakete von der Quelle zum Ziel übertragen werden, und entschlüsselt den Traffic, wenn er ankommt.
- FastConnect
Mit Oracle Cloud Infrastructure FastConnect können Sie ganz einfach eine dedizierte, private Verbindung zwischen Ihrem Data Center und Oracle Cloud Infrastructure erstellen. FastConnect bietet im Vergleich zu Internet-basierten Verbindungen Optionen mit höherer Bandbreite und eine zuverlässigere Netzwerkerfahrung.
- Web Application Firewall (WAF)
Oracle Cloud Infrastructure Web Application Firewall (WAF) ist ein mit der Zahlungskartenbranche (PCI) kompatibler, regionaler und Edge Enforcement-Service, der an einen Enforcement Point angehängt ist, wie Load Balancer oder Domainname einer Webanwendung. WAF schützt Anwendungen vor böswilligem und unerwünschtem Internettraffic. WAF kann beliebige internetseitige Endpunkte schützen und bietet eine konsistente Regeldurchsetzung über alle Anwendungen eines Kunden hinweg.
Empfehlungen
- VCN
Legen Sie beim Erstellen eines VCN die Anzahl der erforderlichen CIDR-Blöcke und die Größe jedes Blocks basierend auf der Anzahl der Ressourcen fest, die Sie den Subnetzen im VCN zuordnen möchten. Verwenden Sie CIDR-Blöcke, die sich im privaten Standard-IP-Adressraum befinden.
Wählen Sie CIDR-Blöcke aus, die sich nicht mit anderen Netzwerken (in Oracle Cloud Infrastructure, Ihrem On-Premise-Data Center oder einem anderen Cloud-Provider) überschneiden, für die Sie private Verbindungen einrichten möchten.
Nachdem Sie ein VCN erstellt haben, können Sie dessen CIDR-Blöcke ändern, hinzufügen und entfernen.
Berücksichtigen Sie beim Entwerfen der Subnetze den Trafficfluss und die Sicherheitsanforderungen. Hängen Sie alle Ressourcen innerhalb einer bestimmten Tier oder Rolle an dasselbe Subnetz an, das als Sicherheitsgrenze verwendet werden kann.
- Sicherheit
Mit Policys können Sie einschränken, wer auf die OCI-Ressourcen Ihres Unternehmens zugreifen kann und wie sie darauf zugreifen können. Bestimmte Policys sind für einen erfolgreichen OCI Search Service mit der Clustererstellung OpenSearch erforderlich. Verwenden Sie Vault für zusätzlichen Schutz Ihrer Schlüssel, Zertifikate und Secrets.
Der Networking-Service bietet zwei Features einer virtuellen Firewall, die Sicherheitsregeln verwenden, um den Traffic auf Paketebene zu steuern: Sicherheitslisten und Netzwerksicherheitsgruppen (NSG). Eine NSG besteht aus einer Gruppe von Ingress- und Egress-Sicherheitsregeln, die nur für eine Gruppe von VNICs Ihrer Wahl in einem einzelnen VCN gelten. Beispiel: Sie können alle Compute-Instanzen auswählen, die als Webserver in der Webschicht einer Multi-Tier-Anwendung in Ihrem VCN fungieren.
NSG-Sicherheitsregeln entsprechen den Sicherheitslistenregeln. Bei der Quelle oder dem Ziel einer NSG-Sicherheitsregel können Sie jedoch eine NSG anstelle eines CIDR-Blocks angeben. So können Sie ganz einfach Sicherheitsregeln schreiben, um Traffic zwischen zwei NSGs in demselben VCN oder innerhalb einer einzelnen NSG zu steuern. Wenn Sie ein Datenbanksystem erstellen, können Sie eine oder mehrere NSGs angeben. Sie können auch ein vorhandenes Datenbanksystem aktualisieren, um eine oder mehrere NSGs zu verwenden.
- Compute
Wählen Sie Ausprägungen mit der entsprechenden OCPU- und Speicherkombination aus, und stellen Sie je nach Bedarf lokalen NVMe- und/oder Blockspeicher für jede Instanz bereit.
Hinweise
Berücksichtigen Sie bei der Implementierung dieser Architektur die Anforderungen für die folgenden Parameter:
- Logging
In dieser Referenzarchitektur wird Logstash für Logparsing und -transformation verwendet.
Filebeat kann Logs auch direkt an OpenSearch senden. Dieser Ansatz könnte bei einer einzigen Art von Protokollen oder bei sehr einheitlichen Protokollen verwendet werden. Filebeat bietet keine Möglichkeit zur erweiterten Filterung und Transformation von Logs, sodass Logs verschiedener Art nur schwer aggregiert werden können, wenn ihr Format eindeutig ist.
- Instanzen
In dieser Referenzarchitektur verwenden wir dedizierte Instanzen für Logstash. Als Alternative kann Logstash in jeder Quellinstanz oder jedem Server ausgeführt werden. Dies führt zu einer höheren Ressourcennutzung bei den Quellinstanzen oder -servern.
Für High Availability von Logstash sollten Sie mehrere Instanzen verwenden, die über Faultdomains oder Availability-Domains verteilt sind. Filebeat kann das Load Balancing zwischen Logstash-Instanzen ohne einen separaten Load Balancer ausführen.
- Persistente Queues
Sie sollten persistente Queues für Logstash konfigurieren. Eine persistente Logstash-Queue schützt vor Datenverlusten während einer anormalen Beendigung, indem die aktive Nachrichtenqueue auf Platte gespeichert wird.
