Kubernetes-Lösung
Mit der Kubernetes-Überwachungslösung in Oracle Logging Analytics können Sie Einblicke in Ihr in OCI bereitgestelltes Kubernetes, Public Clouds von Drittanbietern, Private Clouds oder On Premise, einschließlich verwalteter Kubernetes-Bereitstellungen, überwachen und generieren.
Die Telemetriedaten wie Metriken, der Kubernetes-Status in Form von Objektinformationen und die verschiedenen Logs in der Kubernetes-Umgebung werden für die Analyse erfasst.
Die Logging Analytics-Lösung für Kubernetes unterstützt offizielle Kubernetes-Versionen größer als 1,22 und die entsprechenden Cloud-Varianten wie OKE und EKS.
Die Berechtigungen, die zum Ausführen aller Vorgänge in der Kubernetes-Lösung erforderlich sind, finden Sie unter Alle Kubernetes-Lösungsvorgänge zulassen.
Die folgenden Logtypen werden aus der Kubernetes-Umgebung erfasst:
Typ | Komponente: Logquellenzuordnung | Metadatenanreicherung |
---|---|---|
Kubernetes-Komponente/Systemprotokolle |
Kube-Proxy: Kubernetes-Proxylogs Kube Flannel: Kubernetes-Flannel-Logs Kube DNS Autoscaler: Kubernetes DNS Autoscaler-Logs Core-DNS: Kubernetes-Core-DNS-Logs CSI-Knotentreiber: Kubernetes-CSI-Knotentreiberlogs Proxymux: OKE Proxymux-Clientlogs Autoscaler: Kubernetes Autoscaler-Logs Kubelet: Kubernetes-Kubelet-Logs |
Kubernetes-Clustername Kubernetes-Cluster-ID Node Namespace Pod Container Name des Containerimages |
BS-Logs |
Syslog-Logs: Linux-Syslog-Logs Cron-Logs: Linux-Cron-Logs Sichere Logs: Linux Secure Logs Maillogs: Linux Mail Delivery Logs Auditlog: Linux-Auditlogs Ksplice-/Uptrack-Logs: Ksplice-Logs YUM-Logs: Linux YUM-Logs |
Kubernetes-Clustername Kubernetes-Cluster-ID Node |
Kubernetes-Pod-/Containerlogs |
Generische Kubernetes-Containerlogs |
Kubernetes-Clustername Kubernetes-Cluster-ID Node Namespace Pod Container Name des Containerimages |
Die folgenden Objektinformationen werden aus der Kubernetes-Umgebung erfasst:
Objekt | Logquelle | Metadatenanreicherung |
---|---|---|
Node | Kubernetes-Knotenobjektlogs |
Kubernetes-Clustername Kubernetes-Cluster-ID |
Pod | Kubernetes-Podobjektlogs |
Kubernetes-Clustername Kubernetes-Cluster-ID |
Bereitstellung (Workload) | Kubernetes-Deployment-Objektlogs |
Kubernetes-Clustername Kubernetes-Cluster-ID |
DaemonSet (Workload) | Kubernetes-Objektlogs DaemonSet |
Kubernetes-Clustername Kubernetes-Cluster-ID |
StatefulSet (Workload) | Kubernetes-Objektlogs StatefulSet |
Kubernetes-Clustername Kubernetes-Cluster-ID |
Job (Workload) | Kubernetes-Jobobjektlogs |
Kubernetes-Clustername Kubernetes-Cluster-ID |
CronJob (Workload) | Kubernetes-Objektlogs CronJob |
Kubernetes-Clustername Kubernetes-Cluster-ID |
Schritte zur Verwendung der Lösung
Siehe auch In der Kubernetes-Lösung verwendete Abfragen.
Verbinden Sie Ihr Kubernetes-Cluster mit Logging Analytics
Stellen Sie sicher, dass Sie die erforderlichen Informationen zu Ihrem Kubernetes-Cluster in Ihrem Mandanten erfasst haben und über die erforderlichen Berechtigungen für die Verbindung mit Ihrem Cluster verfügen. Oracle empfiehlt, dass ein Benutzer mit Administratorberechtigungen diesen Vorgang ausführt. Nach einer erfolgreichen Verbindung werden die Logs, Metriken und Objektinformationen aus zugehörigen Kubernetes-Komponenten und Compute Nodes aus diesem Cluster erfasst.
-
Öffnen Sie das Navigationsmenü, und klicken Sie auf Observability and Management. Klicken Sie unter Logging Analytics auf Lösungen, und klicken Sie auf Kubernetes. Die Seite Kubernetes-Überwachungslösung wird geöffnet.
-
Klicken Sie auf der Seite "Kubernetes-Monitoringlösung" auf Cluster verbinden. Der Assistent Daten hinzufügen wird geöffnet. Hier ist der Abschnitt "Kubernetes überwachen" bereits erweitert. Klicken Sie auf Oracle OKE. Die Seite OKE-Umgebungsüberwachung konfigurieren wird geöffnet.
-
Wählen Sie das OKE-Cluster aus, das Sie mit Oracle Logging Analytics verbinden möchten, indem Sie auf die entsprechende Zeile in der Clustertabelle klicken. Verwenden Sie die Details in der Tabelle, um das richtige OKE-Cluster zu identifizieren. Klicken Sie auf Weiter.
-
Wählen Sie im Menü das Compartment aus, in dem die Telemetriedaten und zugehörigen Monitoringressourcen gespeichert werden sollen.
-
Optional werden die erforderlichen Policys und dynamischen Gruppen erstellt. Sie können das Kontrollkästchen deaktivieren, wenn Sie es bereits erstellt haben. Die erforderlichen Policys finden Sie unter Alle Kubernetes-Lösungsvorgänge zulassen.
-
Optional wird der Metrikserver für die Sammlung von Nutzungsmetriken installiert. Sie können das Kontrollkästchen deaktivieren, wenn Sie es bereits installiert haben.
-
Wählen Sie die Deployment-Option für Lösung aus:
- Die oben genannten Cluster automatisch aktivieren: Wählen Sie diese Option aus, damit Oracle Logging Analytics automatisch alle erforderlichen Ressourcen erstellt.
Hinweis
Diese Deployment-Option wird für OKE-Cluster nicht empfohlen, die keinen öffentlichen API-Serverendpunkt haben. Verwenden Sie in solchen Fällen die Deployment-Option Ich stelle die oben genannten Cluster manuell bereit. Weitere Informationen finden Sie auf der Seite "OCI Kubernetes Monitoring GitHub".Die automatische Logerfassungskonfiguration erstellt oder aktualisiert die folgenden Ressourcen:
- IAM-Policy und dynamische Gruppen
- Oracle Logging Analytics-Loggruppen und -Entitys
- Management Agent-Schlüssel
- Metrik-Namespace
- Management Agent-Konfiguration
- Fluentd-Konfiguration
- Kubernetes-Manifeste und Helm-Chart
- Ich stelle die oben genannten Cluster manuell bereit: Wählen Sie diese Option für Oracle Logging Analytics aus, um alle Oracle Cloud Infrastructure-Ressourcen zu erstellen und Ihnen die Möglichkeit zu geben, das Deployment von Fluentd und anderer Konfiguration über Helm-/Kubernetes-Manifeste in Ihrem Cluster zu verwalten. Die Installationsanweisungen werden jedoch am Ende des Connect-Workflows bereitgestellt. Mit dieser Option können Sie die Standardkonfiguration und andere Collection-Parameter für das automatische Deployment anpassen.
- Die oben genannten Cluster automatisch aktivieren: Wählen Sie diese Option aus, damit Oracle Logging Analytics automatisch alle erforderlichen Ressourcen erstellt.
-
Klicken Sie auf Logerfassung konfigurieren, um die angegebene Konfiguration zu bestätigen.
Die Oracle Cloud Infrastructure-Ressourcen werden jetzt erstellt.
-
Wenn Sie die Option für die manuelle Bereitstellung für die Lösung auswählen, befolgen Sie die Installationsanweisungen am Ende des Connect-Workflows für die Bereitstellung von Helm-Diagrammen.
Damit ist die Konfiguration abgeschlossen, um die Daten aus Ihrem Kubernetes-Cluster zu erfassen. Gehen Sie zur Seite mit der Kubernetes-Monitoringlösung, und warten Sie einige Minuten, bis die Datenerfassung abgeschlossen ist. Wenn die Datenerfassung ausgeführt wird, lautet die neueste Telemetrie des Clusters Unknown
. Sie können die Lösung anzeigen, nachdem sich dieser Status geändert hat.
Kubernetes-Cluster überwachen
Die in Ihrem Kubernetes-Cluster erfassten Telemetriedaten werden in mehreren Ansichten dargestellt, um Einblicke in die Umgebung und ihre Performance zu erhalten.
So zeigen Sie die Lösung für Ihr Kubernetes-Cluster an:
-
Öffnen Sie das Navigationsmenü, und klicken Sie auf Observability and Management. Klicken Sie unter Logging Analytics auf Lösungen, und klicken Sie auf Kubernetes. Die Seite Kubernetes-Überwachungslösung wird geöffnet. Die Cluster, die bereits mit Oracle Logging Analytics verbunden sind, werden auf der Registerkarte Überwachte Cluster aufgeführt.
-
Klicken Sie unter Überwachte Cluster auf den Namen des Clusters, das Sie überwachen und analysieren möchten. Die Lösung für das ausgewählte Cluster wird mit der Standardansicht Cluster geöffnet.
Sehen Sie sich jetzt die Lösung und die verschiedenen verfügbaren Ansichten an, um die Ebenen der Topologie zu durchlaufen, und rufen Sie Details auf jeder Ebene in der Clusteransicht, der Workloadansicht, der Knotenansicht und der Podansicht ab. Beachten Sie, dass der Filterkontext zwischen den verschiedenen Ansichten beibehalten wird.
Clusteransicht
Eine Beispielansicht eines Kubernetes-Lösungsclusters:

In der Clusteransicht werden die folgenden Abschnitte angezeigt:
-
Zeitselektor (2 im Bild): Es gibt zwei Zeitbereichsoptionen:
Last 60 Minutes
(Standard) undLast 24 Hours
. Alle Änderungen, die Sie im Zeitraum vornehmen, wirken sich auf die Ereignisse und Widgets im rechten Fensterbereich aus. -
Filter (1 in Bild):
- Namespaces-Filter: So filtern Sie die Ansicht nach Kubernetes-Namespace.
-
Topologie (3 im Image): Die in der Kubernetes-Umgebung erfassten Objektdaten werden in diesem Abschnitt angezeigt. Klicken Sie mit der rechten Maustaste auf einen Namespace, um ihn dem Filter hinzuzufügen. Anschließend ändert sich die Topologieansicht, um die Objekte im Namespace wiederzugeben, die Workloads und Knoten umfassen. Die Topologie basiert auf der aktuellen Zeit und wird von den Zeitbereichseinstellungen nicht beeinflusst.
Die Farbe jedes Objekts in der Topologie gibt den Status an, der von aktiven Warnereignissen abgeleitet wird, die dem Objekt oder seinen untergeordneten Objekten zugeordnet sind. Beispiel: Wenn ein Pod ein oder mehrere Warnereignisse aufweist, ändert sich der Podfarbcode in RED, und die entsprechende Workload (die Eigentümer des Pods ist) und der Namespace wird ebenfalls mit demselben Status wiedergegeben.
- Pods nach Namespace (5 im Image): Die in der Topologie verfügbaren Pods. Details zur Farbe jedes Pods finden Sie im obigen Absatz.
- Übersicht über linken Fensterbereich (4 in Bild): Die Übersicht über den linken Fensterbereich basiert auf der aktuellen Zeit und ist von den Zeitbereichseinstellungen nicht betroffen.
- Ereignisse (7 im Image): In diesem Abschnitt werden die Statusänderungen angezeigt, die im Kubernetes-Cluster in Form von Ereignissen auftreten. Sie können die Ereignisse weiter nach Nur Warnungen oder Alle filtern.
Sie können den Abschnitt "Ereignisse" einblenden, um die Tabelle in der Mitte der Seite anzuzeigen.
- Widgets im rechten Fensterbereich (6 im Bild): Mit diesen Widgets können Sie den Zustand des Systems überwachen. The type of widgets available upon using the rotating scroll bar are CPU core (used/allocatable) in %, CPU core used, Memory (used/allocatable) in %, Memory used, Kubernetes system, OS health, Total API server requests, API server request duration, API response size, API request execution duration, etcd request duration, Network: bytes rx, Network: byts tx, Network Packet Rx Rate, Network: Packet Tx Rate, Network: Packet Rx Dropped Rate, and Network: Packet Tx Dropped Rate.
Sie können jeden Abschnitt erweitern, um eine größere Visualisierung anzuzeigen, und mit der Maus darüber fahren, um weitere Details anzuzeigen.
Workload-Ansicht
Eine Beispiel-Workload-Ansicht für Kubernetes-Lösungen:

Die Abschnitte Zeitselektor, Ereignisse, Übersicht des linken Bereichs und Widgets des rechten Bereichs sind mit denen in der Clusteransicht identisch. Der Namespace-Filterkontext wird in der Clusteransicht beibehalten, und in dieser Ansicht ist auch ein zusätzlicher Filter für Workloads verfügbar. Der Abschnitt Pods nach Workload bietet die Ansicht der Pods, die nach der Workload gruppiert sind, zu der sie gehören. Außerdem enthält die Ansicht die Workload-Details. In diesem Abschnitt können Sie jeden Workload-Typ erweitern, um detaillierte Informationen zu Namespace, Workload-Name, Status und Alter anzuzeigen.
Knotenansicht
Eine Beispiel-Kubernetes-Lösungsknotenansicht:

Die Abschnitte Zeitselektor, Ereignisse, Übersicht des linken Bereichs und Widgets des rechten Bereichs sind mit denen in der Clusteransicht identisch. Der Kontext "Namespace-Filter" und "Workloads-Filter" werden in der Workloads-Ansicht beibehalten, und in dieser Ansicht ist auch ein zusätzlicher Filter für Knoten verfügbar. Der Abschnitt Pods nach Knoten bietet die Ansicht der Pods, die nach dem Knoten gruppiert sind, zu dem sie gehören. Darüber hinaus enthält die Ansicht den Knotenstatus. In diesem Abschnitt können Sie jeden Knoten erweitern, um detaillierte Informationen wie Status, Probleme, Alter, BS, Containerlaufzeit, Kubelet-/Kubeproxyversionen, CPU, Speicher (Kapazität) und Speicher (zuweisbar) anzuzeigen. Sie können auch nur den Status der Knoten anzeigen, die Probleme haben oder nicht bereit sind.
Podansicht
Eine Beispiel-Pod-Ansicht für Kubernetes-Lösungen:

Die Abschnitte Zeitselektor, Ereignisse, Übersicht des linken Bereichs und Widgets des rechten Bereichs sind mit denen in der Clusteransicht identisch. Der Kontext "Namespace-Filter", "Workloads-Filter" und "Knotenfilter" wird in der Knotenansicht beibehalten. Im Abschnitt Pods werden die Pods und ihr Status basierend auf der Filterauswahl angezeigt. Darüber hinaus enthält die Ansicht den Pods-Status. In diesem Abschnitt können Sie jeden Pod erweitern, um detaillierte Informationen wie Status, Knoten, Namespace, Pod-IP, Controller, Controller und Scheduler anzuzeigen. Sie können die Details der Pods auch selektiv basierend auf ihrem aktuellen Status wie "Ausgeführt", "Nicht erfolgreich", "Erfolgreich" und "Ausstehend" anzeigen.
Alle Kubernetes-Lösungsvorgänge zulassen
Erstellen Sie eine dynamische Gruppe, um das Sammeln von Logs, Metriken und Objektinformationen zuzulassen:
ALL {instance.compartment.id = '<OKE_COMPARTMENT_OCID>'}
ALL {resource.type='managementagent', resource.compartment.id='<TELEMETRY_COMPARTMENT_OCID>'}
Erstellen Sie Policys, damit die dynamische Gruppe die Datenerfassungsvorgänge ausführen kann:
allow dynamic-group <dynamic_group_name> to {LOG_ANALYTICS_LOG_GROUP_UPLOAD_LOGS} in compartment id <TELEMETRY_COMPARTMENT_OCID>
allow dynamic-group <dynamic_group_name> to use METRICS in compartment id <TELEMETRY_COMPARTMENT_OCID> WHERE target.metrics.namespace = 'mgmtagent_kubernetes_metrics'
allow dynamic-group <dynamic_group_name> to {LOG_ANALYTICS_DISCOVERY_UPLOAD} in tenancy
Informationen zu dynamischen Gruppen und IAM-Policys finden Sie unter OCI-Dokumentation: Dynamische Gruppen verwalten und OCI-Dokumentation: Policys verwalten.