Если вы работаете с Docker, то наверняка знакомы с командой docker stats
. Она показывает потребление ресурсов контейнерами, но её вывод… скажем так, не самый удобный. Сегодня расскажу про ctop - инструмент, который превращает мониторинг контейнеров в удовольствие.
Что такое ctop?
ctop - это консольная утилита для мониторинга Docker контейнеров в реальном времени. Представьте себе htop, но для контейнеров. Красивый интерфейс, интерактивное управление и вся нужная информация на одном экране.
Установка
Linux
# Самый простой способ
sudo wget https://github.com/bcicen/ctop/releases/download/v0.7.7/ctop-0.7.7-linux-amd64 -O /usr/local/bin/ctop
sudo chmod +x /usr/local/bin/ctop
macOS
brew install ctop
Docker (да, ctop можно запустить в контейнере!)
docker run --rm -ti \
--name=ctop \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
quay.io/vektorlab/ctop:latest
Основные возможности
1. Красивый интерфейс
Запустите ctop
и увидите все контейнеры с их метриками:
- CPU использование
- Память (используемая/лимит)
- Сетевой трафик (RX/TX)
- Дисковый I/O
2. Горячие клавиши
Enter
- детальная информация о контейнереl
- посмотреть логи контейнераe
- exec shell в контейнерs
- сохранить текущую конфигурациюq
- выход
3. Фильтрация
f
- фильтр по имени контейнераa
- показать/скрыть остановленные контейнеры
4. Сортировка
F1-F5
- сортировка по разным параметрам (CPU, память и т.д.)
Продвинутые фичи
Метрики в реальном времени
ctop показывает не просто цифры, а графики изменения метрик. Очень удобно для отслеживания всплесков нагрузки.
Поддержка Docker Swarm
ctop -scale-header
Покажет, на какой ноде запущен каждый контейнер.
Экспорт метрик
ctop -export-enable
Позволяет экспортировать метрики для внешних систем мониторинга.
Реальные кейсы использования
1. Поиск “прожорливых” контейнеров
Запускаете ctop, сортируете по CPU (F2) или памяти (F3) - и сразу видите, кто съедает все ресурсы.
2. Быстрый дебаг
Контейнер ведёт себя странно? Enter → смотрим детальные метрики, l
→ проверяем логи, e
→ заходим внутрь посмотреть, что происходит.
3. Мониторинг во время деплоя
При раскатке новой версии запускаете ctop и в реальном времени видите, как меняется потребление ресурсов.
Лайфхаки
1. Алиас для быстрого запуска
echo "alias ct='ctop'" >> ~/.bashrc
2. Кастомные колонки
ctop -columns="name,cpu,mem,net"
3. Сохранение конфигурации
Настроили вид как нравится? Нажмите s
- ctop запомнит настройки.
Альтернативы
- lazydocker - ещё более навороченный, но тяжелее
- dry - похожий функционал, другой интерфейс
- docker stats - встроенная команда, но менее удобная
Итоги
ctop - это must-have инструмент для любого, кто работает с Docker. Установка занимает 30 секунд, а экономит часы при дебаге и мониторинге.
Особенно рекомендую, если:
- У вас больше 5-10 контейнеров
- Нужно быстро найти проблемный контейнер
- Хочется красивый и удобный мониторинг без настройки Prometheus/Grafana
Попробуйте - не пожалеете!