Kubernetes-Logdaten mit OCI Logging Analytics überwachen
Eine Kubernetes-basierte Umgebung kann in drei Ebenen unterteilt werden, die jeweils aus zahlreichen und sich ständig weiterentwickelnden Komponenten bestehen, die auf Geschäftsanforderungen basieren.
- Infrastruktur-Tier: Enthält zahlreiche Komponenten, einschließlich Netzwerkressourcen, Compute-Instanzen und Kubernetes-Knotenhosts.
- Kubernetes-Plattformebene: Enthält die verschiedenen Kubernetes-Services wie Netzwerk, Kubelet-Service und DNS, mit denen die kubernetes-Plattform unterstützt wird.
- Application Tier: Enthält die verschiedenen Technologien, Datenbanken und Anwendungen.
Architektur
Diese Architektur zeigt, wie Sie mit Oracle Cloud Infrastructure Logging Analytics eine Kubernetes-Plattform und native Cloud-Anwendungen überwachen können.
Das folgende Diagramm ist eine Beispieltopologie eines Kubernetes-Clusters in einer einzelnen Oracle Cloud Infrastructure-(OCI-)Region. Es zeigt die Infrastructure Tier und das zweite Diagramm hebt die kubernetes- und Application Tiers hervor.

Beschreibung der Abbildung kubernetes-master-worker-nodes.png
kubernetes-master-worker-nodes-oracle.zip
Das folgende Diagramm veranschaulicht das Kubernetes-Monitoring für Ihre On-Premise-Kubernetes-Cluster und Oracle Cloud Infrastructure Kubernetes Engine (auch als Kubernetes Engine oder OKE bezeichnet) mit OCI Logging Analytics. Diese Lösung bietet eine Sammlung verschiedener Logs eines Kubernetes-Clusters in OCI Logging Analytics und bietet umfangreiche Analysen zu den erfassten Logs. Sie können die Logerfassung anpassen, indem Sie die Out-of-the-box-Konfiguration ändern.

Beschreibung der Abbildung k8s-oke-monitoring.png
Die Architektur umfasst die folgenden Komponenten:
- Tenancy
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 in Ihrem Mandanten erstellen, organisieren und verwalten. Ein Mandant ist ein Synonym für ein Unternehmen oder eine Organisation. In der Regel verfügt ein Unternehmen über einen einzigen Mandanten und spiegelt seine Organisationsstruktur innerhalb dieses 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.
- Region
Eine Oracle Cloud Infrastructure-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Data Center enthält, das als Availability-Domain bezeichnet wird. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie trennen (über Länder oder sogar Kontinente).
- Compartment
Compartments sind regionsübergreifende logische Partitionen innerhalb eines Oracle Cloud Infrastructure-Mandanten. Mit Compartments können Sie Nutzungs-Quotas für Ihre Oracle Cloud-Ressourcen organisieren, den Zugriff kontrollieren und festlegen. In einem bestimmten Compartment definieren Sie Policys, die den Zugriff kontrollieren und Berechtigungen für Ressourcen festlegen.
- Virtuelles Cloud-Netzwerk (VCN) und Subnetze
Ein VCN ist ein anpassbares, softwaredefiniertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region einrichten können. Wie herkömmliche Data Center-Netzwerke erhalten Sie mit VCNs die Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere sich nicht überschneidende CIDR-Blöcke aufweisen, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die sich auf eine Region oder eine Availability-Domain beschränken. Jedes Subnetz besteht aus einem Bereich zusammenhängender Adressen, die sich nicht mit anderen Subnetzen im VCN überschneiden. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz kann öffentlich oder privat sein.
- Load Balancer
Der Oracle Cloud Infrastructure Load Balancing-Service ermöglicht automatisierte Trafficverteilung von einem einzelnen Einstiegspunkt auf mehrere Server im Backend.
- Servicegateway
Das Servicegateway bietet Zugriff von einem VCN auf andere Services, wie Oracle Cloud Infrastructure Object Storage. Der Traffic vom VCN zum Oracle-Service wird über die Oracle-Netzwerkstruktur geleitet und durchläuft nicht das Internet.
- Logging Analytics
Oracle Cloud Infrastructure (OCI) Logging Analytics ist ein vollständig verwalteter regionaler SaaS-Service, der in mehr als 27 Regionen verfügbar ist und Logs von jeder IT-Komponente erfasst, indexiert, anreichert, abfragt, visualisiert und benachrichtigt, die in der On-Premise-, OCI- oder 3rd-Party-Cloud ausgeführt wird.
- Logging Analytics-Quelle
Logging Analytics-Quelle ist eine Konfigurationsressource, die Spezifikationen für Parsing, Extraktionen, Labeling, Datenmaskierung und andere Anreicherung bereitstellt, um sicherzustellen, dass Logs ordnungsgemäß aufgenommen und zur Analyse und Überwachung indexiert werden. Diese Architektur verwendet mehr als 30 vordefinierte Quellen für Kubernetes-Services, -Anwendungen und -Objekte. Diese Quellen werden kontinuierlich erweitert, um tiefere Analysefunktionen bereitzustellen.
- Kubernetes-Systempods
Kubernetes-Systempods sind kleine, bereitstellbare Recheneinheiten, die Sie in Kubernetes erstellen und verwalten können. Ein Pod ist ein oder mehrere Container mit Shared Storage- und Netzwerkressourcen sowie Regeln für die Ausführung der Container.
- Benutzerpods
Auf dem Kubernetes-Cluster gestartete Anwendungen. Alle Logs aus Anwendungspods, die
STDOUT/STDERR
schreiben, sind in der Regel unter/var/log/containers/
verfügbar. Anwendungen mit benutzerdefinierten Log Handlern können ihre Logs unterschiedlich weiterleiten, sind jedoch im Allgemeinen auf dem Knoten verfügbar (über ein Volume). - Control-Plane-Services und -Pods
Control-Plane-Services und -Pods der Kubernetes-Plattform. Die Control Plane verwaltet die Worker-Knoten und die Pods im Kubernetes-Cluster. Die Worker-Knoten führen die containerisierten Anwendungen aus. Jedes Cluster verfügt über mindestens einen Worker-Knoten. Die Worker-Knoten hosten die Pods, die Komponenten der Anwendungs-Workload sind.
- Knoten-BS-Services
Linux-Services, die auf der Instanz ausgeführt werden, auf der Kubernetes installiert ist. Logs werden in BS-Services erfasst.
- Log- und Objekt-Collector-Pods
Log- und Object Collector-Pods bestehen aus Replikatsets, FluentD und Daemon-Sets.
- FluentD-Collector
FluentD ist ein Open-Source-Daten-Collector, der eine einheitliche Logging-Schicht zwischen Datenquellen und Backend-Systemen bereitstellt. Es ermöglicht eine einheitliche Datenerfassung und -nutzung für eine Gebäudedatenverarbeitungspipeline. Diese Architektur verwendet einen containerisierten FluentD-Container, der als Daemon-Set und Replikat auf dem kubernetes-Cluster ausgeführt wird. Es verwendet das Fluentd-Ausgabe-Plug-in für Logginganalysen, um Logs in OCI Logging Analytics hochzuladen.
- Logging Analytics-Plug-in FluentD
Das FluentD-Ausgabe-Plug-in, das eine Verbindung zum OCI Logging Analytics-Service in Ihrem Mandanten herstellt, um Logs hochzuladen oder aufzunehmen, die vom FluentD-Collector erfasst wurden.
- Kubernetes-Objekte
Kubernetes-Objekte sind persistente Entitys im Kubernetes-System. Kubernetes verwendet diese Entitys, um den Status Ihres Clusters darzustellen. In dieser Architektur werden die folgenden kubernetes-Objektstatus als Logs für historische Analysen und Fehlerbehebung erfasst:
- Kubernetes-Daemon-Set
Ein Kubernetes-
DaemonSet
ist ein Workload-Typ, der auf Kubernetes ausgeführt wird und sicherstellt, dass alle (oder einige) Knoten eine Kopie eines Pods ausführen. Beim Hinzufügen von Knoten zum Cluster werden ihnen Pods hinzugefügt. Wenn Knoten aus dem Cluster entfernt werden, werden diese Pods als Garbage Collection erfasst. - Kubernetes-Replikatset
Ein Kubernetes-
ReplicaSet
ist ein Workload-Typ, der auf Kubernetes ausgeführt wird. Es behält einen stabilen Satz von Replikat-Pods bei, die zu einem bestimmten Zeitpunkt ausgeführt werden. Daher wird es häufig verwendet, um die Verfügbarkeit einer bestimmten Anzahl identischer Pods zu gewährleisten
- FluentD-Collector
- Kubernetes Engine
Oracle Cloud Infrastructure Kubernetes Engine (OCI Kubernetes Engine oder OKE) ist ein vollständig verwalteter, skalierbarer und hoch verfügbarer Service, mit dem Sie Ihre Containeranwendungen in der Cloud bereitstellen können. Sie geben die Compute-Ressourcen an, die Ihre Anwendungen benötigen, und Kubernetes Engine stellt sie in Oracle Cloud Infrastructure in einem vorhandenen Mandanten bereit. OKE automatisiert mit Kubernetes das Deployment, die Skalierung und die Verwaltung containerisierter Anwendungen über Cluster von Hosts hinweg.
- Service-Connectors
Service Connector Hub ist eine Cloud-Nachrichtenbusplattform. Sie können damit Daten zwischen Services in Oracle Cloud Infrastructure verschieben. Daten werden mit Service-Connectors verschoben. Ein Service-Connector gibt den Quellservice an, der die zu verschiebenden Daten, die für die Daten auszuführenden Aufgaben sowie den Zielservice enthält, an den die Daten nach Abschluss der angegebenen Aufgaben gesendet werden. In dieser Architektur wird ein Service-Connector bereitgestellt, um Netzwerk- und Load-Balancer-Logs zu erfassen.
- OCI-Services
Oracle Cloud Infrastructure-(OCI-)Services sind eine Plattform aus Cloud-Services, mit der Sie eine Vielzahl von Anwendungen in einer hochverfügbaren, konsistent leistungsstarken Umgebung erstellen und ausführen können.
- Service- und Auditlogs
Service- und Auditlogs werden im OCI Logging-Service erfasst. OCI Logging ist ein hoch skalierbarer und vollständig verwalteter Service, mit dem über den Service-Connector auf die VCN- und Load-Balancer-Servicelogs zugegriffen wird.
Standardmäßig werden Kubernetes System Services-Logs und Kubernetes-Objektdaten erfasst.
Oracle Cloud Infrastructure Kubernetes Engine verfügt über integrierte Services, bei denen jeder einzelne verschiedene Zuständigkeiten hat und auf einem oder mehreren Knoten im Cluster ausgeführt wird, entweder als Deployments oder als DaemonSets
.
Kubernetes-Systemservices | Linux-Systemdienste | Kubernetes-Control-Plane | Kubernetes-Objekte (Standard: alle 15 Minuten) | Benutzerdefinierte Anwendungslogs |
---|---|---|---|---|
|
|
|
|
|
Hinweis:
Kubernetes-Control-Plane-Logs werden nicht als Teil der Out-of-the-box-Collection abgedeckt, da diese Logs nicht von der OCI Kubernetes Engine (auch als OKE bezeichnet) bereitgestellt werden. Sie können Control-Plane-Logs aus Nicht-OKE-Kubernetes-Clustern aktivieren.
Empfehlungen
Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt. Ihre Anforderungen können von der hier beschriebenen Architektur abweichen.
- Loggruppen
Definieren Sie mehrere Loggruppen, um verschiedenen Teams Schreibzugriffsberechtigungen zu erteilen und das Teilen vertraulicher Daten zu vermeiden. Loggruppen können auf Oracle E-Business Suite, Database, OCI-Infrastruktur und Hosts-Logs basieren.
- Kostenmanagement
Der Oracle Cloud Infrastructure (OCI) Logging Analytics-Service wird auf das Datenvolumen im aktiven und archivierten Speicher abgerechnet. Um die Fehlerbehebung bei alltäglichen Problemen zu ermöglichen und die Vorteile der Anomalieerkennung, Mustererkennung und anderer ML-Funktionen zu nutzen, wird empfohlen, einen aktiven Speicherzeitraum von 90 Tagen zu verwenden und Logs, die älter als 90 Tage sind, in den Archivierungsspeicher zu verschieben. Logs aus der gespeicherten Archivierung können auf Anforderung schnell abgerufen werden.
- FluentD Mehrere Mitarbeiter
Konfigurieren Sie FluentD im Multi-Worker-Modus für zeitkritische Logs.
- Benutzerdefinierte Anwendungslogs
Diese Lösung erfasst automatisch alle Logs, die von Anwendungen generiert werden, die in einem Kubernetes-Cluster ausgeführt werden. Standardmäßig sind diese Logs der Logquelle
Kubernetes Generic Container Logs
zugeordnet. Anwendungslogs für spezifischen Parser, Quellen und Anreicherung müssen in Oracle Cloud Infrastructure Logging Analytics erstellt werden, um erforderliche Felder zu extrahieren und Problemlabels an Logs anzuhängen. - Authentifizierung
Diese Architektur unterstützt die dateibasierte Authentifizierung des Instanz-Principals und der Oracle Cloud Infrastructure-
config
. Instanz-Principal-basierte Authentifizierung wird für Oracle Cloud Infrastructure Kubernetes Engine (OKE) empfohlen.
Hinweise
Beachten Sie beim Deployment dieser Referenzarchitektur die folgenden Punkte:
- Performance
Die Abfrageperformance basiert auf dem Zeitraum und der Anzahl von Vorgängen, wie Filtern, Gruppieren nach usw. Für eine bessere Abfrageperformance wird empfohlen, Logs zum Zeitpunkt der Aufnahme mit bestimmten Labels und Feldern anzureichern. Dies ist Teil einer kontinuierlichen Verbesserung des IT-Betriebs.
- Sicherheit und rollenbasierte Zugriffskontrolle (RBAC)
Passen Sie Logquelldefinitionen an, um personenbezogene Daten zu filtern und die Anreicherung von Geolokationen zu aktivieren.
- Verfügbarkeit
Oracle Cloud Infrastructure Logging Analytics ist ein vollständig verwalteter hochverfügbarer SaaS-Service.
Stellen Sie
Die Kubernetes-Manifeste und -Helm-Diagramme für das Deployment von Oracle Cloud Infrastructure Logging Analytics DaemonSets
und ReplicaSets
sind unter GitHub verfügbar.
- Gehen Sie zu GitHub.
- Klonen Sie das Repository, oder laden Sie es auf Ihren lokalen Rechner herunter.
- Befolgen Sie die Anweisungen im Dokument
README
.
Mehr erfahren
- Kubernetes-Cluster für das Deployment containerisierter Anwendungen in Oracle Cloud einrichten (Lösungsplaybook)
- Ausgefeiltes Framework für Oracle Cloud Infrastructure
- Oracle Cloud Infrastructure Logging Analytics-Kanal YouTube
- Oracle Cloud Infrastructure Logging Analytics - Dokumentation
- Beispiellogs mit OCI analysieren - Praktische Übung zu Logging Analytics
- Oracle Cloud Infrastructure Logging Analytics-Blogs