Top 9 Open Source-Überwachungstools für Kubernetes

Wählen Sie das richtige Tool für die erfolgreiche Überwachung von Kubernetes!


Kubernetes ist eine produktionsreife Open-Source-Plattform, die auf der gesammelten Erfahrung von Google in der Container-Orchestrierung basiert und mit den besten Ideen der Öffentlichkeit in Verbindung gebracht wird. Es wird projiziert, um die Bereitstellung, Skalierung und den Betrieb von Anwendungscontainern zu automatisieren.

Mit der modernen Art, Anwendungen zu erstellen und auszuführen, müssen Ihre Kontroll- und Beobachtbarkeitsstrategien und damit die von Ihnen verwendeten Tools weiterentwickelt werden. Die herkömmlichen Tools zur Überwachung der Infrastruktur sind möglicherweise nicht ausreichend, und Sie benötigen ein spezielles Kubernetes-Überwachungssystem, wie unten aufgeführt.

Einige helfen bei Protokollen, andere bei Metriken. Einige bieten eine Schnittstelle für den Betrieb von Kubernetes aus der Vogelperspektive. Einige stammen aus Kubernetes, andere sind agnostischer.

Prometheus

Prometheus ist eines der beliebtesten und besten Überwachungstools für Kubernetes. Dieses Tool wurde früh von SoundCloud entwickelt und später an die CNCF gespendet. Google Borg Monitor inspiriert es.

Nun, Prometheus speichert alle seine Daten als Zeitsequenz. Kurz gesagt, Prometheus zeichnet sich unter anderen Zeitreihendatenbanken durch seine integrierten Warnmechanismen, das mehrdimensionale Datenmodell, ein Pull-vs.-Push-Modell, PromQL (die Prometheus-Abfragesprache) und natürlich die Ever aus wachsende Gemeinschaft.

Einige weitere Funktionen von Prometheus umfassen:

  • Keine Abhängigkeit von verteiltem Speicher;
  • Ziele werden durch die Diensterkennung oder statische Konfiguration erkannt
  • PromQL, eine flexible Abfragesprache, um diese Dimensionalität zu nutzen
  • Einzelne Serverknoten sind autonom
  • Die Erfassung von Zeitreihen erfolgt über ein Pull-Modell über HTTP
  • Pushing-Zeitreihen werden über ein Zwischen-Gateway unterstützt
  • Ein mehrdimensionales Datenmodell mit Zeitreihendaten, die anhand von Metriknamen- und Schlüssel / Wert-Paaren analysiert werden
  • Verschiedene Formen der Unterstützung von Grafiken und Dashboards

Der beste Weg, Prometheus zu lernen, besteht darin, es auf Ihrem Laborserver zu installieren und damit herumzuspielen. Sie haben eine großartige Dokumentation, aber wenn Sie nach videobasiertem Lernen suchen, sollten Sie dies überprüfen Udemy natürlich.

Kubewatch

Kubewatch ist ein Kubernetes-Beobachter, der Ereignisbenachrichtigungen in einem Slack-Kanal veröffentlicht. Mit diesem Tool können Sie die Ressourcen ermitteln, die Sie überwachen müssen. Es wird in Golang erstellt und verwendet eine Kubernetes-Clientbibliothek, um eine Verbindung mit einem Kubernetes-API-Server herzustellen. Diese Bibliothek dient als Basisfaktor für die Beobachtung von Kubernetes-Ereignissen.

kubewatch ist einfach zu konfigurieren und kann entweder über die Helm- oder die Systembereitstellung bereitgestellt werden. In Kubewatch werden Änderungen an bestimmten Kubernetes-Ressourcen angezeigt, die überwacht werden sollen – Bereitstellungen, Dämonsätze, Pods, Dienste, Replikatsätze, Dienste, Replikationscontroller, Geheimnisse und Konfigurationszuordnungen.

Jaeger

Die verteilte Ablaufverfolgung nimmt stetig zu und überwacht und behebt Kubernetes-Umgebungen.  Jaeger ist ein Rückverfolgungssystem, das von Uber Technologies veröffentlicht wird. Es wird zur Überwachung von Transaktionen und zur Fehlerbehebung in komplexen verteilten Systemen verwendet.

Jaeger bietet OpenTracing-basierte Instrumentierung für Java, Python, Node und C ++. Es verwendet konsistente Vorab-Stichproben mit individuellen Wahrscheinlichkeiten pro Service / Endpunkt und unterstützt mehrere Speicher-Backends – Cassandra, Elasticsearch, Kafka und Speicher.

Einige der anderen Funktionen von Jaeger umfassen:

  • Verteilte Transaktionsüberwachung
  • Verteilte Kontextausbreitung
  • Leistungs- / Latenzoptimierung
  • Ursachenanalyse
  • Analyse der Dienstabhängigkeit

Berater

Berater wurde zum Zusammenstellen, Verarbeiten und Exportieren von Ressourcennutzungs- und Produktionsinformationen zum Ausführen von Containern entwickelt. Es wurde auch zu Kubernetes entwickelt und in die Kubelet-Binärdatei integriert. Es ist einfach zu verwenden (Prometheus-Metriken werden sofort verfügbar), aber nicht robust genug, um als umfassende Überwachungslösung erkannt zu werden.

Im Gegensatz zu anderen wird cAdvisor nicht pro Pod, sondern auf Knotenebene bereitgestellt. Es ermittelt automatisch alle auf einem System ausgeführten Container und sammelt Systemmetriken wie Speicher, CPU, Netzwerk usw..

cAdvisor ist ein grundlegendes Tool. Im Folgenden sind einige seiner Funktionen aufgeführt.

  • Native Unterstützung für Docker-Container und Unterstützung für andere Containertypen.
  • Unterstützt den Export der Statistiken in verschiedene Speicher-Plugins, z. InfluxDB etc..,
  • Es liefert die Gesamtauslastung des Computers, indem der Root-Container auf dem Computer analysiert wird.
  • Unterstützung für das Ausführen von Standalone außerhalb des Docker oder eines anderen Containers.
  • cAdvisor arbeitet pro Knoten. Es erkennt automatisch alle Container im angegebenen Knoten und sammelt Statistiken zur CPU-, Dateisystem- und Netzwerknutzung.
  • Metriken können auf der Web-Benutzeroberfläche angezeigt werden, die Live-Informationen zu allen Containern im System exportiert.

Kabine

Kabine ist die beste native mobile Dashboard-App für die Kubernetes. Die Benutzeroberfläche der Kabine wurde mit React Native entwickelt und läuft daher sowohl auf iOS- als auch auf Android-Geräten. Es ist ein Assistent für unterwegs, der detaillierte Aktionen zum Bearbeiten von Kubernetes-Ressourcen bereitstellt. Kabinen-App ist Touch-Advance.

Sie können beispielsweise auch Pods mit einem einfachen Wischen nach links löschen. Sie können Bereitstellungen auch mit einem Fingerscroll skalieren.

Einige andere Funktionen:

  • Erstellen grundlegender Bereitstellungen Skalieren Sie Bereitstellungen und Replikationscontroller
  • Servicetypen wechseln
  • Stellen Sie Bereitstellungen über Dienste bereit
  • Integration mit GKE für die Single-Click-Cluster-Bereitstellung
  • Zugriffsprotokolle in mehreren Containern
  • Etiketten entfernen und hinzufügen
  • Öffnen Sie die NodePort-Dienste im Browser
  • Befehle in Containern ausführen

Telepräsenz

Telepräsenz Mit dieser Option können Sie einen bestimmten Dienst lokal ausführen, während Sie diesen Dienst mit einem Remote-Kubernetes-Cluster verbinden. Auf diese Weise können Entwickler, die an Multi-Service-Vorgängen arbeiten, jedes lokal installierte Tool übernehmen, um Ihren Service zu überprüfen / debuggen / bearbeiten. Sie können beispielsweise einen Debugger oder eine IDE ausführen.

Außerdem können Entwickler einen bestimmten Dienst schnell lokal entwickeln, selbst wenn dieser Dienst von separaten Diensten im Cluster abhängt. Nehmen Sie einen Übergang zu Ihrem Dienst vor, speichern Sie und Sie können den neuen Dienst sofort in Aktion erkennen.

Telepresence ist eine beeindruckende lokale Entwicklungsumgebung für Dienste, die in Kubernetes ausgeführt werden. Der Live-Debugging-Teil ist einzigartig und entwickelt sich ziemlich schnell weiter. Im Folgenden finden Sie einige weitere Funktionen.

  • Ermöglichen Sie dem im Container ausgeführten Code, eine Verbindung zu einer IDE oder einem Debugger herzustellen, die auf dem Host ausgeführt werden.
  • Telepresence verwendet ein OpenShift-spezifisches Proxy-Image, wenn ein OpenShift-Cluster beobachtet wird.
  • Telepresence unterstützt auch den Weiterleitungsverkehr zu und von anderen Containern im Pod.
  • Telepresence verwendet ein Docker-zugängliches Verzeichnis als temporäres Verzeichnis.

Umfang weben

Umfang weben ist eine Fehlerbehebung & Überwachungstool für Kubernetes. Es erstellt logische Topologien Ihrer Anwendung und Infrastruktur, mit denen Sie Ihre containerisierte, auf Microservices basierende Anwendung berücksichtigen, überwachen und steuern können.

Es bietet einen Top-Down-Blick auf Ihre App sowie Ihre gesamte Infrastruktur. Sie können Probleme mit Ihrer verteilten Container-App in Echtzeit ermitteln, da diese bei einem Cloud-Anbieter bereitgestellt wird.

Einige der Funktionen des Webbereichs umfassen:

  • Unterstützung für jeden Bereitstellungsstil (lokal, gehostet oder hybride) und die Möglichkeit, Host- / Container-Metriken zu erfassen und zu melden
  • Aggregieren Sie Metriken, Ereignisse und Beschriftungen von Kubernetes
  • Kontextbezogene Echtzeitmetriken
  • Knoten können durch CPU- und Speicherverwaltung gefiltert werden, sodass Sie Container mit den meisten Ressourcen schnell identifizieren können.

Grafana

Grafana wird zur Visualisierung von Metriken, aber auch als Alarmierungswerkzeug verwendet. Grafana kann eine Warnung auf Slack, Webhook, Mail oder alternativen Kommunikationskanälen ausgeben. Ein weiterer wichtiger Grund ist die Quelle Ihrer Daten: Grafana kann mehrere Entitäten gleichzeitig abfragen.

Sie können aus einer Datenbank wie ElasticSearch oder Überwachungstools wie Cloudwatch abfragen und auch Warnungen festlegen. Einige andere Funktionen sind wie folgt.

  • Ein Alarmmanager übernimmt den Alarmierungsteil
  • Einfache Installation von Exporteuren
  • Die App verwendet Kubernetes-Tags, um auch Pod-Metriken zu filtern.
  • Das Pod / Container-Dashboard nutzt die Pod-Tags, um den oder die relevanten Pods leicht zu finden.

Zabbix

Mit Zabbix, Es ist möglich, praktisch unbegrenzte Datentypen aus dem System zu erstellen. Hochleistungs-Echtzeitüberwachungssysteme, mit denen Zehntausende von Servern, virtuellen Maschinen und Netzwerkgeräten gleichzeitig gesteuert werden können.

Neben dem Speichern der Daten stehen Visualisierungsfunktionen sowie äußerst flexible Möglichkeiten zum Herausfinden der Daten zum Zweck der Alarmierung zur Verfügung.

Einige der Funktionen von Zabbix umfassen:

  • Ursachenanalyse
  • Zabbix hilft dabei, die Daten im JSON-Format zu halten, sodass viele Anwendungen sie auch verwenden können.
  • Echtzeitüberwachung
  • Zabbix-Proxy wird für Produktionssysteme im großen Maßstab dringend empfohlen.
  • Drilldown-Berichte
  • Die Erkennung auf niedriger Ebene überprüft die neuen Knoten automatisch ohne Probleme.
  • Sehr konfigurierbar und erweiterbar.

Zabbix ist nicht nur für Kubernetes von Bedeutung, sondern auch für die Überwachung von Infrastruktur- und Anwendungsmetriken. Wenn Sie Zabbix lernen möchten, lesen Sie dies genialer kurs.

Fazit

Die Auswahl des richtigen Überwachungstools ist entscheidend. Aber rate mal was? Vor allem ist es KOSTENLOS verfügbar, um es zu versuchen. Warum also nicht eine Cloud-VM erwerben und sehen, was für Ihre Kubernetes-Überwachung funktioniert??

Viel Spaß beim Überwachen und bei der Fehlerbehebung!

STICHWORTE:

  • Docker

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map