3.1 Komenda docker stats
Docker oferuje wbudowane narzędzie do monitorowania kontenerów w czasie rzeczywistym — komendę docker stats
. Ta komenda pozwala śledzić podstawowe metryki wydajności kontenerów, takie jak użycie CPU, pamięci, sieci i dysku. Zobaczmy, jak używać docker stats, żeby mieć wgląd w stan i wydajność swoich kontenerów.
Komenda docker stats
podaje dynamiczne statystyki dotyczące pracy kontenerów w czasie rzeczywistym. Wyświetla następujące metryki dla każdego kontenera:
- CPU %: procent użycia CPU przez kontener.
- MEM USAGE / LIMIT: użycie pamięci przez kontener i ustawiony limit.
- MEM %: procent użycia pamięci przez kontener.
- NET I/O: ruch sieciowy (przychodzący i wychodzący).
- BLOCK I/O: liczba operacji wejścia/wyjścia na dysku.
- PIDS: liczba procesów uruchomionych w kontenerze.
Podstawowe użycie komendy docker stats
Uruchomienie komendy docker stats
bez parametrów wyświetla metryki dla wszystkich uruchomionych kontenerów:
docker stats
Przykład wyniku komendy 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
Monitorowanie konkretnego kontenera
Możesz śledzić metryki dla konkretnego kontenera, podając jego nazwę lub ID:
docker stats my_nginx
3.2 Ustawienia komendy docker stats
Parametry komendy docker stats
Komenda docker stats
obsługuje kilka opcji, które pozwalają dostosować wyświetlane dane:
--all
lub-a
: pokazuje metryki dla wszystkich kontenerów, w tym zatrzymanych.--no-stream
: wyświetla metryki tylko raz i kończy wykonywanie komendy.--format
: dostosowuje wyświetlanie danych za pomocą szablonów.
Przykład użycia parametru --no-stream
Wyświetlenie metryk jednorazowo dla wszystkich kontenerów:
docker stats --no-stream
Przykład użycia parametru --format
Sformatowany wyświetl danych:
docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}"
Przykładowy output:
CONTAINER ID CPU % MEM USAGE / LIMIT
d9b100f2f636 0.07% 1.24MiB / 1.952GiB
fa3f3f3f3f3f 2.13% 230.5MiB / 1.952GiB
3.3 Praktyczne użycie docker stats
Przykład 1: śledzenie obciążenia serwera
Możesz używać docker stats do monitorowania kontenerów na serwerze i identyfikacji tych z dużym obciążeniem CPU lub pamięci. To pomoże zoptymalizować wykorzystanie zasobów i poprawić wydajność aplikacji.
docker stats
Przykład 2: monitorowanie konkretnego kontenera podczas testowania
Podczas testowania nowych wersji aplikacji lub zmian w konfiguracjach możesz śledzić metryki konkretnego kontenera, aby upewnić się, że nie ma negatywnego wpływu na wydajność.
docker stats my_test_container
Przykład 3: integracja z systemami monitoringu
Możesz zintegrować wynik polecenia docker stats
z zewnętrznymi systemami monitorowania, używając opcji --format
, aby stworzyć format kompatybilny z twoim narzędziem monitorującym.
docker stats --no-stream --format "{{.Container}}: CPU {{.CPUPerc}}, MEM {{.MemUsage}}"
Ograniczenia polecenia docker stats
Chociaż docker stats
dostarcza przydatnych metryk w czasie rzeczywistym, ma pewne ograniczenia:
- Ograniczone metryki: polecenie pokazuje tylko podstawowe metryki i nie dostarcza szczegółowych informacji o stanie kontenerów.
- Ręczne użycie: docker stats jest wygodny w użyciu ręcznym, ale do zautomatyzowanego monitoringu i alertowania lepiej wykorzystać specjalistyczne narzędzia, takie jak Prometheus i Grafana.
GO TO FULL VERSION