Сколько раз в день тебе приходится открывать терминал и вбивать команду docker stats? Наверняка десятки. И каждый раз ты упираешься в ее ограничения: длинный бесконечный список контейнеров бежит по экрану, колонки нельзя отсортировать по клику или нажатию стрелок, а чтобы понять, какой процесс внезапно съел всю оперативную память хоста, приходится открывать отдельное окно терминала и вручную парсить идентификаторы через grep.
Разворачивать тяжелый веб-интерфейс вроде Portainer ради пары серверов — явный оверхед по ресурсам, а настраивать сложную связку из Prometheus, cAdvisor и Grafana на небольших проектах часто просто нет времени. Как и в случае с инженерными дашбордами вроде Reslop 0.2.6: дашборд реального времени для ревью и исправления сгенерированного кода, компактные TUI-утилиты прямо в окне терминала дают максимальную скорость реакции при околонулевом потреблении ресурсов.
Амир Раминфар (Amir Raminfar), создатель популярного легковесного просмотрщика логов Dozzle, выпустил решение этой проблемы — терминальный дашборд dtop, написанный на Rust.
Интерактивный TUI вместо слепой статистики
В отличие от стандартного docker stats, dtop построен на базе современных библиотек терминального интерфейса Ratatui и Crossterm. Ты получаешь полноценную интерактивную панель управления:
- Мгновенная сортировка списка контейнеров по клавишам: по проценту CPU, объему и лимиту памяти (RAM / Limit), дисковому вводу-выводу (Block I/O) и сетевому трафику (Net I/O).
- Навигация стрелками и мгновенный вход в интерактивный шелл контейнера по одной кнопке (
exec /bin/shили/bin/bash). - Просмотр живого потока логов выбранного сервиса прямо в том же окне.
- Поддержка гиперссылок терминала стандарта OSC 8: если у тебя развернут Dozzle, клик мышью по названию контейнера в современных эмуляторах (iTerm2, Alacritty, Ghostty, WezTerm) открывает браузер с ретроспективными графиками.
Запуск без установки и мониторинг удаленных серверов
Самое приятное — утилиту даже не нужно компилировать локально. Ее можно мгновенно запустить через одноразовый Docker-контейнер, пробросив стандартный сокет:
# Мгновенный запуск интерактивного дашборда
docker run --rm -it \
-v /var/run/docker.sock:/var/run/docker.sock \
ghcr.io/amir20/dtop:latest
Но настоящая сила dtop раскрывается, когда у тебя не один сервер, а несколько виртуалок: стейджинг, продакшен, база данных. Утилита поддерживает мультихостовый режим прямо из коробки через стандартные SSH-туннели без необходимости устанавливать агентов на удаленные машины:
# Мониторинг локального Docker и удаленного продакшен-узла по SSH
dtop \
--host unix:///var/run/docker.sock \
--host ssh://deploy@production-node-1.example.com:22
Ты можешь свободно переключаться между серверами горячими клавишами, видя целостную картину инфраструктуры в едином окне терминала.
Если ты предпочитаешь держать утилиту всегда под рукой в сессии tmux, установи официальный бинарник через готовый скрипт:
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/amir20/dtop/releases/latest/download/dtop-installer.sh | sh
Потребление оперативной памяти самим процессором dtop составляет всего около 15–20 МБ, что делает его практически невесомым для рабочего ноутбука.
