Glances — это монитор ресурсов, который собирает показатели процессора, памяти, дисков, сети и контейнеров в одном окне. В отличие от top и htop, он не ограничивается списком процессов: рядом видно заполнение разделов, скорость записи на диск, температуру датчиков и состояние swap. На незнакомом сервере это первое, что стоит запустить, чтобы за минуту понять, где узкое место.
Что показывает Glances
Данные собирает библиотека psutil, поэтому на Linux, BSD и macOS набор метрик почти одинаков. Плагины можно включать и выключать, а вывод — сортировать и фильтровать. По умолчанию активны самые полезные:
- cpu — загрузка по ядрам, user, system, iowait и load average;
- memory и memswap — занятая, кэшированная и свободная память;
- network — скорость приёма и передачи по интерфейсам;
- diskio — операции чтения и записи, очередь и задержки;
- fs — занятое место и inode по точкам монтирования;
- sensors — температуры и вентиляторы через lm-sensors;
- processlist — процессы с CPU, памятью и потоками;
- containers и gpu — контейнеры Docker или Podman и видеокарты.
Цвета работают как светофор: зелёный означает норму, жёлтый — внимание, красный — критическое значение. Порог можно подогнать под конкретную машину, и тогда картинка перестаёт быть абстрактной.
Установка и первый запуск
В Debian, Ubuntu и производных есть готовый пакет, но он часто отстаёт от upstream. Если нужна свежая ветка 4.x, ставьте через pipx в отдельное окружение — так зависимости не смешаются с системным Python.
sudo apt install glances
pipx install glances
glances --version
glances -t 2
Ключ -t задаёт интервал обновления в секундах. Для первого осмотра хватает десяти–пятнадцати секунд: этого времени достаточно, чтобы увидеть всплески, которые не попадают в мгновенный снимок.
Если pipx в системе нет, его ставят пакетом pipx или через python3 -m pip install --user pipx. В корпоративной среде удобнее системный пакет: обновления приходят вместе с дистрибутивом, а версия предсказуема. Для домашней лаборатории pipx даёт свежие функции без риска сломать зависимости системы.
Полезные клавиши
Управление сделано под клавиатуру, мышь не нужна. Запоминать весь список не обязательно, достаточно нескольких комбинаций:
a— автоматическая сортировка процессов по нагрузке;cиm— сортировка по CPU и по памяти;i— сортировка по скорости ввода-вывода;/— фильтр по имени процесса;h— справка со всеми горячими клавишами;q— выход.
Клавиша h открывает полный список, и он зависит от включённых плагинов. Если что-то не отображается, проверьте, не отключён ли плагин в конфигурации.
Веб-режим и удалённый доступ
Флаг -w поднимает веб-интерфейс и REST API на порту 61208. Это удобно для ноутбука администратора: браузер показывает те же данные, что и терминал, а мобильное приложение может обращаться к API. Наружу порт выставлять нельзя — в интерфейсе нет полноценной системы ролей.
glances -w --bind 127.0.0.1 --port 61208
ssh -L 61208:127.0.0.1:61208 admin@server
glances -s --bind 127.0.0.1
glances -c 127.0.0.1
Второй вариант — режим сервера и клиента: glances -s на наблюдаемой машине и glances -c на рабочей. Трафик при этом не шифруется, поэтому соединяйте их через SSH-туннель или локальную сеть. Для веб-режима можно задать пароль ключом --password, но это защита от случайного доступа, а не от целенаправленной атаки.
Пороги и оповещения
Файл конфигурации лежит в ~/.config/glances/glances.conf, общесистемный — в /etc/glances/glances.conf. Свой файл удобно держать в репозитории и подключать ключом -C. Пороги задаются отдельно для каждого плагина:
cp /etc/glances/glances.conf ~/.config/glances/glances.conf
glances -C ~/.config/glances/glances.conf -t 3
glances --disable-plugin sensors
[cpu]
user_careful=50
user_warning=70
user_critical=90
[fs]
careful=70
warning=85
critical=95
После правки перезапустите Glances. Если показатели постоянно красные на здоровой машине, проблема не в сервере, а в порогах: для файлового сервера 85% занятого раздела — норма, а для корня — повод разбираться. Подгоняйте значения под роль узла, а не под красивые цвета.
Экспорт метрик и REST API
Glances не хранит историю, поэтому для длительного наблюдения метрики нужно отдавать наружу. Поддерживаются Prometheus, InfluxDB, JSON, CSV и другие приёмники. Для Prometheus достаточно запустить экспорт и настроить scrape на нужном порту из секции [prometheus].
glances --export prometheus
curl -s http://127.0.0.1:61208/api/4/all
curl -s http://127.0.0.1:61208/api/4/fs
glances --export influxdb
REST API отдаёт те же данные, что и экран, в JSON. Это удобно для самописных проверок: скрипт может сравнить свободное место с порогом и отправить уведомление. Версия API указана в пути, поэтому обновление Glances не ломает старые запросы сразу.
Для InfluxDB укажите адрес, базу и интервал в секции [influxdb]; без этого экспорт молча ничего не отправит. Проверить доставку проще всего на тестовой базе и запросе за последний час.
Glances в диагностике
Типовой сценарий: пользователи жалуются на медленный сайт, а load average выше числа ядер. Откройте Glances и посмотрите на iowait и diskio. Если диск загружен на 100%, а процессор простаивает, ищите тяжёлый бэкап или проблему с файловой системой, а не оптимизируйте код.
Порядок действий простой:
- смотрите load average и iowait, чтобы понять, упирается ли система в CPU или в диск;
- проверьте fs: не закончилось ли место и inode;
- отсортируйте процессы по памяти и найдите утечку;
- сравните сетевой трафик с ожидаемым;
- проверьте sensors, если сервер начал шуметь или снижать частоты.
Ограничения
Glances — инструмент наблюдения, а не сбора истории. Без экспорта вы увидите только текущий момент, а после перезапуска данные исчезнут. Оповещения тоже ограничены: встроенные пороги меняют цвет, но не заменяют Alertmanager. Для разбора инцидентов за неделю нужна связка с Prometheus, VictoriaMetrics или InfluxDB и Grafana.
Есть и технические нюансы. Некоторые плагины требуют дополнительных пакетов и прав: lm-sensors, доступ к Docker-сокету, утилиты NVIDIA. На контейнерных хостах включение лишних плагинов увеличивает нагрузку на сам монитор, поэтому оставляйте только нужное.
Итог
Glances закрывает задачу «посмотреть всё сразу» лучше, чем набор из top, df, iostat и ss. Его стоит держать в арсенале для быстрой диагностики, а для постоянного мониторинга — экспортировать метрики в Prometheus или InfluxDB. Начните с пакета из репозитория, настройте пороги под роль сервера и не открывайте веб-порт в интернет.