Glances — это кроссплатформенный инструмент мониторинга системы, написанный на языке Python. С помощью Glances можно получать в реальном времени данные о состоянии системных ресурсов: загрузке процессора, использовании оперативной памяти, активности дисков, сети и других компонентов. Программа способна адаптировать отображение информации под размер терминала или под интерфейс веб-просмотра, что делает её удобной как для локального, так и удалённого контроля. История проекта начинается с открытого кода, автором которого является Nicolas Hennion (также известный как Nicolargo), и сообщество регулярно вносит вклад в развитие через плагины, экспорт данных и поддержку новых платформ.
Glances работает как в автономном режиме (локально), так и в режиме клиент-сервер, позволяя подключаться к удалённым хостам через клиентскую часть или через веб-интерфейс. Программа использует библиотеку psutil для сбора статистики о системе, а также может поддерживать дополнительные модули и зависимости для расширения функциональности, например датчики температуры, мониторинг контейнеров (Docker, LXC) и экспорт метрик в сторонние системы. Несмотря на разнообразие возможностей, Glances не является инструментом для управления процессами в смысле их принудительного завершения или изменения приоритета: основная цель — информирование и диагностика состояния системы.
- Мониторинг загрузки CPU, включая статистику по ядрам, временем в режиме пользователя, системных задач и простоя.
- Отслеживание использования памяти и swap-пространства, свободной/занятой памяти.
- Информация о вводе-выводе дисков (Disk I/O), скорости чтения/записи, состоянии файловых систем и использования места на дисках.
- Сетевые интерфейсы: скорости передачи данных, активность, статистика загрузки и отдачи.
- Мониторинг запущенных процессов: выявление наиболее ресурсозатратных, отображение их CPU- и памяти-нагрузки.
- Поддержка аппаратных датчиков (температура, скорость вентиляторов и другие параметры оборудования) на поддерживаемых системах.
- Работа в клиент/сервер режиме, что позволяет наблюдать за состоянием удалённых хостов через API, терминал или веб-интерфейс.
- Экспорт данных в различные форматы и системы: файлы (CSV, JSON), базы данных времени-значения и системы мониторинга.
- Динамическая адаптация интерфейса: выбор модулей для отображения, автоматическая подгонка под размер окна терминала или интерфейса.
- Поддержка контейнеров (например Docker, LXC) и отображение связанных с ними статистик.