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.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ