CodeGym /Kurse /Docker SELF /Eingebaute Monitoring-Tools

Eingebaute Monitoring-Tools

Docker SELF
Level 21 , Lektion 2
Verfügbar

3.1 Befehl docker stats

Docker bietet ein eingebautes Tool für die Echtzeitüberwachung von Containern — den Befehl docker stats. Mit diesem Befehl kannst du wichtige Leistungsmetriken von Containern beobachten, wie CPU-, Speicher-, Netzwerk- und Festplattennutzung. Lass uns ansehen, wie man docker stats benutzt, um Einblicke in den Zustand und die Leistung deiner Container zu erhalten.

Der Befehl docker stats liefert dynamische Statistiken über die Ausführung der Container in Echtzeit. Er zeigt die folgenden Metriken für jeden Container:

  • CPU %: Der Prozentsatz der CPU-Nutzung durch den Container.
  • MEM USAGE / LIMIT: Speicherverbrauch des Containers und festgelegtes Limit.
  • MEM %: Der Prozentsatz der Speichernutzung durch den Container.
  • NET I/O: Netzwerkverkehr (eingehend und ausgehend).
  • BLOCK I/O: Anzahl der Ein-/Ausgabevorgänge auf der Festplatte.
  • PIDS: Anzahl der Prozesse, die innerhalb des Containers laufen.

Grundlegende Nutzung des Befehls docker stats

Das Ausführen des Befehls docker stats ohne Parameter zeigt die Metriken für alle laufenden Container an:

Terminal


docker stats 

Beispielausgabe des Befehls docker stats:

Terminal


CONTAINER ID   NAME                CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O         PIDS
d9b100f2f636   my_nginx            0.07%     1.24MiB / 1.952GiB    0.06%     1.68kB / 0B       0B / 12.3MB       2
fa3f3f3f3f3f   my_postgres         2.13%     230.5MiB / 1.952GiB   11.52%    2.12MB / 2.05MB   85.6MB / 45.2MB   10

Überwachung eines bestimmten Containers

Du kannst die Metriken für einen bestimmten Container überwachen, indem du seinen Namen oder seine ID angibst:

Terminal


docker stats my_nginx 

3.2 Einstellungen für den Befehl docker stats

Parameter des Befehls docker stats

Der Befehl docker stats unterstützt mehrere Optionen, die die Datenausgabe anpassen lassen:

  • --all oder -a: Zeigt Metriken für alle Container an, einschließlich gestoppter.
  • --no-stream: Zeigt die Metriken einmalig an und beendet den Befehl.
  • --format: Passt die Ausgabe mit Hilfe von Templates an.

Beispiel für die Verwendung des Parameters --no-stream

Einmalige Ausgabe von Metriken für alle Container:

Terminal

docker stats --no-stream

Beispiel für die Verwendung des Parameters --format

Formatierte Datenausgabe:

Terminal

docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}"

Beispielausgabe:

Terminal

CONTAINER ID   CPU %     MEM USAGE / LIMIT
d9b100f2f636   0.07%     1.24MiB / 1.952GiB
fa3f3f3f3f3f   2.13%     230.5MiB / 1.952GiB

3.3 Praktische Nutzung von docker stats

Beispiel 1: Überwachung der Serverlast

Du kannst docker stats nutzen, um Container auf dem Server zu überwachen und Container mit hoher CPU- oder Speicherbelastung zu identifizieren. Das hilft dir, die Ressourcennutzung zu optimieren und die Anwendungsleistung zu verbessern.

Terminal

docker stats

Beispiel 2: Überwachung eines bestimmten Containers während des Testens

Beim Testen neuer Versionen von Anwendungen oder beim Ändern von Konfigurationen kannst du die Metriken eines bestimmten Containers überwachen, um sicherzustellen, dass keine negativen Auswirkungen auf die Performance entstehen.

Terminal

docker stats my_test_container

Beispiel 3: Integration mit Monitoring-Systemen

Du kannst die Ausgabe von docker stats mit externen Monitoring-Systemen integrieren, indem du die Option --format verwendest, um ein Ausgabeformat zu erstellen, das mit deinem Monitoring-Tool kompatibel ist.

Terminal

docker stats --no-stream --format "{{.Container}}: CPU {{.CPUPerc}}, MEM {{.MemUsage}}"

Einschränkungen des docker stats Kommandos

Obwohl docker stats nützliche Echtzeit-Metriken liefert, gibt es einige Einschränkungen:

  • Begrenzte Metriken: Das Kommando zeigt nur grundlegende Metriken und liefert keine detaillierten Informationen über den Zustand der Container.
  • Manuelle Nutzung: docker stats lässt sich manuell bequem verwenden, aber für automatisiertes Monitoring und Alarme sind spezialisierte Tools wie Prometheus und Grafana besser geeignet.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION