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:
docker stats
Beispielausgabe des Befehls docker stats
:
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:
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:
docker stats --no-stream
Beispiel für die Verwendung des Parameters --format
Formatierte Datenausgabe:
docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}"
Beispielausgabe:
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.
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.
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.
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.
GO TO FULL VERSION