Prometheus, geh nicht: 6 alternative Überwachungstools für Kubernetes



Die Überwachung trägt zum reibungslosen Betrieb von Kubernetes-Anwendungen bei und behebt alle Probleme, die während des Betriebs auftreten können.

So können Sie beispielsweise jederzeit herausfinden, wie viel Speicher, Speicherplatz derzeit verfügbar ist und wie die CPU aktiv genutzt wird, und sich über die Verteilung der Ressourcen zwischen Containern und den Status der in einem Cluster ausgeführten Anwendungen informieren. Sehr oft wird Prometheus für diese Zwecke verwendet. In diesem Artikel werden sechs alternative Überwachungstools für Kubernetes betrachtet.

Prometheus ist ein beliebtes Open Source-Überwachungstool, mit dem viele Unternehmen ihre IT-Infrastruktur überwachen. Prometheus wurde ursprünglich bei SoundCloud entwickelt, um mehrdimensionale Daten und Abfragen zu sammeln. Der Prometheus-Server verfügt über eine eigene eigenständige Einheit, die unabhängig von Netzwerkspeicher oder externen Diensten ist. Die Bereitstellung zusätzlicher Infrastruktur oder Software erfordert also nicht viel Arbeit.

Die Hauptvorteile von Prometheus sind die enge Integration mit Kubernetes und vielen der verfügbaren Exporteure und Client-Bibliotheken sowie die schnelle Abfragesprache und API. Die Hauptnachteile von Prometheus sind das Fehlen einer Verschlüsselung und ein Standarddatenmodell mit schlüsselbasierten Metriken, die möglicherweise nicht mit dem Modell eines Drittanbietersystems übereinstimmen. In diesem Fall müssen Sie Exporteure verwenden, um Metriken zu konvertieren. Prometheus arbeitet mit Daten unter Verwendung des Pull-Modells, dh es fragt Endpunkte nach Daten ab.

Es gibt jedoch viele andere Tools.

Alternative Überwachungswerkzeuge


Diese Tools können wie Prometheus in Verbindung mit Kubernetes verwendet werden. Jeder von ihnen hat seine Vor- und Nachteile.

1. Grafana




Grafana ist eine Open Source-Plattform zur Visualisierung, Überwachung und Analyse von Metriken. Grafana ist spezialisiert auf Zeitreihenanalysen. Sie kann die Ergebnisse ihrer Überwachungsarbeit in Form von Liniendiagrammen, Wärmekarten und Histogrammen visualisieren. Wenn die verfolgte Metrik den festgelegten Schwellenwert überschreitet, erhalten Sie eine Warnung.

Hauptmerkmale:

  • Warnungen. Sie können Benachrichtigungen auf verschiedenen Kanälen erhalten, einschließlich SMS, E-Mail, Slack oder PagerDuty. Wenn Sie andere Optionen bevorzugen, können Sie Ihre eigenen Warnungen manuell hinzufügen, indem Sie eine kleine Menge Code schreiben.
  • . () . , .
  • . Grafana . , Grafana Kubernetes , IP-, .
  • Anmerkungen. Wenn etwas schief geht, können Sie Ereignisse aus verschiedenen Dashboards und Quellen zeitlich abgleichen, um die Fehlerursache zu analysieren. Sie können Anmerkungen manuell erstellen, indem Sie den erforderlichen Punkten und Fragmenten der Diagramme Kommentare hinzufügen. In der Grafik wird die Anmerkung als vertikale rote Linie angezeigt. Wenn Sie mit der Maus über eine Anmerkung fahren, können Sie eine Beschreibung des Ereignisses abrufen, z. B. Informationen zur Antwort des Servers oder zum Neustart des Systems.

2. Berater




cAdvisor sammelt, verarbeitet und exportiert Informationen zur Leistung und Ressourcennutzung für laufende Container. cAdvisor verfügt über eine integrierte Kubernetes-Unterstützung, da es in Kubelet (einen auf Knoten ausgeführten Agenten) integriert ist.

Hauptmerkmale:

  • . , , CPU, .
  • . , Elasticsearch InfluxDB.
  • -. -, .

* , cAdvisor , Kubernetes.

3. Fluentd




Fluentd trennt Datenquellen von Backend-Systemen und bietet eine einzige zentralisierte Protokollierung. Auf diese Weise können Sie Protokolle aus verschiedenen Anwendungen sammeln und konvertieren, die in verschiedenen Sprachen geschrieben sind. Fluentd übersetzt Daten aus mehreren Quellen in das JSON-Format.

Hauptmerkmale:

  • Verwenden des JSON-Formats. Ermöglicht die Vereinheitlichung der Verarbeitung von Protokolldaten in den Phasen Pufferung, Filterung und Übertragung.
  • Erweiterbare Architektur. Mit einem flexiblen Plug-In-System können Sie die Funktionalität von Fluentd erweitern, indem Sie mehrere Datenquellen und Ausgänge verbinden.
  • . Fluentd 30-40 . 13 000 . , - Fluent Bit.
  • . , . , Fluentd , .

4. Jaeger




Jaeger ist ein in Go geschriebenes Backend. Er beschäftigt sich mit der Sammlung, Speicherung, Analyse und Anzeige von Spuren. Jaeger verwendet die verteilte Ablaufverfolgung, um den Anforderungspfad durch verschiedene Mikrodienste zu verfolgen. Mit dem Tool können Sie eine visuelle Darstellung der Abfrageflüsse erhalten. Distributed Tracing ist eine Möglichkeit, Microservices zu verwalten und zu überwachen. Es beginnt mit der „Integration“ in das Service-Mesh.

Hauptmerkmale:

  • Hohe Skalierbarkeit. Ermöglicht die Lösung des SPOF-Problems (Single Point of Failure) und die Skalierung entsprechend Ihren Geschäftsanforderungen.
  • Unterstützung für mehrere Repositorys. Es unterstützt zwei Open-Source-NoSQL-Datenbanken, Elasticsearch und Cassandra. Zu Testzwecken bietet Jaeger auch einen einfachen In-Memory-Speicher.
  • Cloud-Bereitstellung. Es unterstützt verschiedene Konfigurationsmethoden, einschließlich Umgebungsvariablen, Befehlszeilenoptionen und Konfigurationsdateien. Verwendet Vorlagen, Kubernetes-Operatoren und Helmdiagramme.
  • Überwachung Jaeger-Backend-Komponenten stellen standardmäßig Metriken und Protokolle im Prometheus-Format bereit.

5. Telepräsenz




Telepresence ist ein Open-Source-Tool, mit dem Sie die "Illusion" erzeugen können, mit einem lokalen Container in einem Remote-Kubernetes-Cluster zu arbeiten. Telepresence stellt im Herd einen bidirektionalen Netzwerk-Proxy bereit, der Daten für Kubernetes-Umgebungen sammelt, einschließlich TCP-Verbindungen, Umgebungsvariablen und Volumes.

Hauptmerkmale:

  • . Linux, Mac OS, .
  • . , Kubernetes. Docker-, «» .
  • Kubernetes. , , , . Telepresence , .
  • Kubernetes. . , , , .

6. Zabbix




Zabbix wurde entwickelt, um den Status von Servern sowie eine große Anzahl von Netzwerkparametern zu überwachen, und bietet viele Visualisierungs- und Berichtsfunktionen basierend auf gespeicherten Daten. Zabbix kann sowohl von kleinen Organisationen mit einer kleinen Anzahl von Servern als auch von großen Unternehmen mit einer großen, umfangreichen Infrastruktur zur Überwachung der IT-Infrastruktur verwendet werden.

Hauptmerkmale:

  • Flexible Schwellenwerte für Probleme. Sie können den Problemschwellenwert in einem Trigger festlegen, der die Werte aus der Datenbank verwendet.
  • Echtzeit-Visualisierung. Mit den integrierten grafischen Funktionen können Sie die verfolgten Daten sofort anzeigen.
  • . Zabbix . . .
  • . Zabbix .
  • . Zabbix Proxy. , .


Prometheus ist zusammen mit einem integrierten Alarmmanager standardmäßig in Kubernetes integriert. Wie Sie sehen, gibt es jedoch andere Überwachungslösungen, mit denen Sie zumindest Ihr eigenes Kubernetes-Toolkit ergänzen und verbessern können.



Als Werbung


VDSina bietet virtuelle und physische Server für jede Aufgabe, eine große Auswahl an Betriebssystemen für die automatische Installation. Es ist möglich, jedes Betriebssystem über eine eigene ISO zu installieren , ein praktisches Control Panel mit eigenem Design und tägliche Zahlung. Und wir haben auch ewige Server;)


All Articles