JavaRush /Курсы /Модуль 2: Fullstack /Встроенные инструменты мониторинга

Встроенные инструменты мониторинга

Модуль 2: Fullstack
17 уровень , 2 лекция
Открыта

3.1 Команда docker stats

Docker предоставляет встроенный инструмент для мониторинга контейнеров в реальном времени — команду docker stats. Эта команда позволяет отслеживать основные метрики производительности контейнеров, такие как использование CPU, памяти, сети и диска. Давайте рассмотрим, как использовать docker stats, чтобы получить представление о состоянии и производительности ваших контейнеров.

Команда docker stats предоставляет динамическую статистику о работе контейнеров в реальном времени. Она отображает следующие метрики для каждого контейнера:

  • CPU %: процент использования CPU контейнером.
  • MEM USAGE / LIMIT: использование памяти контейнером и установленный лимит.
  • MEM %: процент использования памяти контейнером.
  • NET I/O: сетевой трафик (входящий и исходящий).
  • BLOCK I/O: количество операций ввода/вывода на диске.
  • PIDS: количество процессов, запущенных внутри контейнера.

Основное использование команды docker stats

Запуск команды docker stats без параметров отображает метрики для всех запущенных контейнеров:

Terminal


docker stats 

Пример вывода команды 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

Мониторинг конкретного контейнера

Вы можете отслеживать метрики для конкретного контейнера, указав его имя или ID:

Terminal


docker stats my_nginx 

3.2 Настройки команды docker stats

Параметры команды docker stats

Команда docker stats поддерживает несколько опций, которые позволяют настроить вывод данных:

  • --all или -a: отображать метрики для всех контейнеров, включая остановленные.
  • --no-stream: отобразить метрики один раз и завершить выполнение команды.
  • --format: настроить вывод данных с использованием шаблонов.

Пример использования параметра --no-stream

Вывод метрик один раз для всех контейнеров:

Terminal

docker stats --no-stream

Пример использования параметра --format

Форматированный вывод данных:

Terminal

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

Пример вывода:

Terminal

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

3.3 Практическое использование docker stats

Пример 1: отслеживание нагрузки на сервер

Вы можете использовать docker stats для мониторинга контейнеров на сервере и выявления контейнеров с высокой нагрузкой на CPU или память. Это поможет вам оптимизировать использование ресурсов и улучшить производительность приложений.

Terminal

docker stats

Пример 2: мониторинг конкретного контейнера во время тестирования

При тестировании новых версий приложений или изменении конфигураций вы можете отслеживать метрики конкретного контейнера, чтобы убедиться в отсутствии негативного влияния на производительность.

Terminal

docker stats my_test_container

Пример 3: интеграция с системами мониторинга

Вы можете интегрировать вывод docker stats с внешними системами мониторинга, используя опцию --format для создания формата вывода, совместимого с вашим инструментом мониторинга.

Terminal

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

Ограничения команды docker stats

Хотя docker stats предоставляет полезные метрики в реальном времени, у него есть некоторые ограничения:

  • Ограниченные метрики: команда отображает только основные метрики и не предоставляет детальную информацию о состоянии контейнеров.
  • Ручное использование: docker stats удобно использовать вручную, но для автоматизированного мониторинга и алертинга лучше использовать специализированные инструменты, такие как Prometheus и Grafana.
3
Задача
Модуль 2: Fullstack, 17 уровень, 2 лекция
Недоступна
Использование команды docker stats для мониторинга всех контейнеров
Использование команды docker stats для мониторинга всех контейнеров
3
Задача
Модуль 2: Fullstack, 17 уровень, 2 лекция
Недоступна
Форматированный вывод метрик с использованием docker stats
Форматированный вывод метрик с использованием docker stats
3
Задача
Модуль 2: Fullstack, 17 уровень, 2 лекция
Недоступна
Мониторинг конкретного контейнера с помощью docker stats
Мониторинг конкретного контейнера с помощью docker stats
3
Задача
Модуль 2: Fullstack, 17 уровень, 2 лекция
Недоступна
Мониторинг с выводом метрик один раз
Мониторинг с выводом метрик один раз
Комментарии (1)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Максим Уровень 55
26 августа 2025
docker update --memory 512m mongo_container docker update --cpus 0.5 redis_container