← До фільтрів та технологій

← До списку лабораторних по Docker

Docker Лабораторна 49: Метрики ресурсів контейнерів

Технологія: Docker

Номер лабораторної: 49 · Рівень: middle

Тема: Збір метрик контейнерів

Повний опис / сценарій лабораторної:

Мета: навчитися знімати базові метрики з контейнерів і готувати їх до інтеграції з моніторингом.



Крок 1. Запустити кілька різних контейнерів.

Команда: docker run -d --name cpu49 busybox sh -c "while true; do :; done"; docker run -d --name io49 nginx



Крок 2. Відкрити docker stats у окремому вікні.

Команда: docker stats

Пояснення: у реальному часі видно cpu, памʼять, мережу і дискову активність.



Крок 3. Звернути увагу на ліміти ресурсів.

Пояснення: для контейнерів без лімітів використовуються ресурси хоста.



Крок 4. Запустити docker stats тільки для одного контейнера.

Команда: docker stats cpu49



Крок 5. Згенерувати додаткове навантаження на io49.

Пояснення: виконай кілька запитів curl до nginx і подивися на мережеві та cpu метрики.



Крок 6. Ознайомитися з форматом виводу docker stats --no-stream --format.

Команда: docker stats --no-stream --format "{{.Name}} {{.CPUPerc}} {{.MemUsage}}"

Пояснення: це зручно для парсингу зовнішніми скриптами.



Крок 7. Написати невеликий скрипт який періодично знімає метрики у текстовий файл.

Пояснення: цей файл потім може читати агент моніторингу.



Крок 8. Оцінити наскільки точні ці метрики для прод.

Пояснення: docker stats підходить для базового моніторингу але не заміняє повноцінні експортeри.



Крок 9. Переглянути варіанти використання cAdvisor або node exporter з container метриками.

Пояснення: занотуй які метрики вони дають понад docker stats.



Крок 10. Міні звіт.

Завдання: опиши мінімальний набір метрик контейнерів який ти вважав би обовʼязковим у прод кластері.