- Home »

glances vs nmon: какой инструмент мониторинга выбрать?
Погнали разбираться: Glances или nmon? Если ты когда-нибудь настраивал сервер (будь то свой домашний мини-серверок на Raspberry Pi или жирный выделенный монстр в датацентре), то мониторинг — штука жизненно необходимая. Без него — как слепой водитель на автобане: что-то происходит, но ты не знаешь, когда тебя догонит фатальный OOM или процессор уйдёт в астрал под нагрузкой. В этой статье я расскажу, чем отличаются Glances и nmon, как их быстро прикрутить к своему серверу, какие у них плюсы и минусы, где они реально спасают, а где лучше поискать что-то другое. В конце — лайфхаки, советы, и даже немного магии автоматизации.
Зачем вообще нужен мониторинг, и почему выбор между Glances и nmon — не праздный вопрос?
Когда ты запускаешь сервер — неважно, VPS, облако, Docker-контейнер или выделенный железный агрегат (кстати, VPS или dedicated можно взять тут) — у тебя всегда есть два вопроса:
- Что происходит с ресурсами прямо сейчас?
- Что происходило, когда всё стало плохо?
Для ответа на эти вопросы и нужны мониторинговые тулзы. Glances и nmon — это консольные утилиты, которые дают тебе в реальном времени инфу о состоянии системы: CPU, память, диски, сеть, процессы и т.д. Но делают они это по-разному, и для разных задач подходят по-разному. Давай нырять в детали!
Как это работает? Алгоритмы, структура и философия
Glances: Python-магия и модульность
Glances написан на Python, и это сразу многое объясняет. Он кроссплатформенный, поддерживает кучу плагинов, умеет работать как в интерактивном режиме (прямо в терминале), так и по сети (клиент-сервер), и даже отдавать данные через REST API. Архитектура модульная: каждый тип метрик (CPU, память, сеть, диски, процессы, Docker-контейнеры, сенсоры и т.д.) — отдельный плагин. Можно расширять, кастомизировать, интегрировать с внешними системами (InfluxDB, Prometheus, MQTT, Slack — что угодно).
- Пишешь на Python? Можешь допилить свои плагины.
- Нужна интеграция с внешними системами? Легко.
- Хочешь мониторить несколько серверов через браузер? Можно.
В основе — сбор данных через стандартные системные интерфейсы (psutil, sensors, netstat, и пр.), плюс своя логика агрегации и отображения.
nmon: брутальный C-стиль и эффективность
nmon (Nigel’s Monitor) — написан на C, компактен, быстр, минималистичен. Разрабатывался для IBM AIX, но давно портирован на Linux. Его фишка — максимально низкое потребление ресурсов и простота. Вся инфа выводится в терминал, можно сохранять логи для последующего анализа (например, через графический nmon-analyzer в Excel, если ты любишь страдать).
- Нет лишних зависимостей.
- Работает даже на дохлом железе.
- Лог-файлы для истории — must have.
Архитектура простая: опрашивает системные файлы и команды (procfs, sysfs, iostat, vmstat и т.д.), выводит всё в текстовом виде, либо пишет в CSV-лог.
Как быстро и просто всё настроить? Примеры и практические советы
Установка Glances
Glances ставится элементарно. Если у тебя есть Python (а он есть почти везде):
pip install glances
Или через пакетный менеджер:
# Для Ubuntu/Debian
sudo apt install glances
# Для CentOS/RHEL
sudo yum install glances
Запуск:
glances
Хочешь мониторить удалённо? Запусти в серверном режиме:
glances -s
Подключись с другого компа:
glances -c IP_сервера
Всё, мониторинг работает!
Установка nmon
# Для Ubuntu/Debian
sudo apt install nmon
# Для CentOS/RHEL (через EPEL)
sudo yum install epel-release
sudo yum install nmon
Запуск:
nmon
Появляется псевдографическое меню, где клавишами включаешь/выключаешь нужные метрики (CPU — c, память — m, диски — d и т.д.).
Для записи логов:
nmon -f -s 10 -c 360
Где -f — файл, -s 10 — снимать данные каждые 10 секунд, -c 360 — 360 замеров (то есть 1 час).
Docker-режим (для фанатов контейнеров)
Glances отлично бежит в Docker:
docker run --rm -it \
-p 61208:61208 \
--pid host \
docker.io/nicolargo/glances
nmon в контейнере — редкая экзотика, но можно собрать свой Dockerfile.
Таблица сравнения: Glances vs nmon
Параметр | Glances | nmon |
---|---|---|
Язык | Python | C |
Платформы | Linux, Windows, macOS, FreeBSD, Docker | Linux, AIX |
Интерфейс | CLI, Web, API, клиент-сервер | CLI (только терминал) |
Интеграция | InfluxDB, Prometheus, Slack, MQTT и др. | CSV-лог, nmon-analyzer (Excel) |
Расширяемость | Плагины, кастомизация | Нет |
Потребление ресурсов | Среднее (Python) | Минимальное |
Установка | pip, apt, yum, docker | apt, yum |
Мониторинг Docker | Да | Нет (только host) |
Мультисервер | Да (клиент-сервер) | Нет |
Логи для истории | Да (JSON, CSV, InfluxDB и др.) | Да (CSV, для nmon-analyzer) |
Документация | glances.readthedocs.io | nmon.sourceforge.net |
Примеры, кейсы, плюсы и минусы
Glances в действии
- Плюсы: Можно быстро глянуть, что происходит на сервере, прямо из браузера. Есть REST API — интегрируется с любыми скриптами. Можно мониторить кластеры, контейнеры, даже Raspberry Pi.
- Кейс: Настроил алерты через Glances + Slack: если память забита — сразу в чат прилетает сообщение. Спасло от падения продакшна.
- Минусы: Если сервер слабый или Python не стоит — Glances может не завестись или жрать лишние ресурсы.
nmon в действии
- Плюсы: Работает даже на древнем железе, не требует ничего лишнего. Очень удобен для сбора статистики в CSV — потом можно анализировать в Excel, строить графики, искать узкие места.
- Кейс: На одном старом VPS nmon показал, что диск умирает (IOPS в ноль), хотя top и htop ничего не показывали. Своевременно мигрировал сервис.
- Минусы: Нет web-интерфейса, нет API, нет интеграции с современными системами мониторинга. Если хочется алертов — нужно городить костыли.
Ошибки новичков и мифы
- Миф: Glances сильно грузит сервер.
Факт: Если не включать web-интерфейс и не собирать метрики каждую секунду — потребление минимальное для Python-приложения. - Миф: nmon устарел и не нужен.
Факт: На голых серверах без Docker и облаков — это всё ещё один из лучших инструментов для быстрой диагностики. - Ошибка: Не сохранять логи nmon.
Рекомендация: Всегда запускай nmon с параметрами-f -s 10 -c 360
, чтобы потом можно было анализировать историю. - Ошибка: Не использовать алерты Glances.
Рекомендация: Настрой алерты, интеграцию со Slack, Telegram, email — это реально спасает.
Похожие решения и альтернативы
- htop — красочно и удобно, но только интерактивно, нет истории и web-интерфейса.
- atop — умеет собирать историю, но интерфейс специфический, интеграция хуже.
- netdata — web-интерфейс, красивые графики, но жрёт больше ресурсов и требует отдельной настройки.
- Prometheus + node_exporter — промышленный стандарт, но требует отдельного сервера для сбора данных, настройка сложнее.
- collectl — похож на nmon, чуть более гибкий, но менее популярен.
Интересные факты и нестандартные способы использования
- Glances можно запускать как демон и собирать метрики в InfluxDB — потом строить красивые дашборды в Grafana.
- nmon часто используют для стресс-тестов: запускают бенчмарки и параллельно снимают логи, чтобы потом анализировать узкие места.
- Glances поддерживает экспорт в Prometheus, MQTT, CSV, JSON, StatsD — можно строить гибридные системы мониторинга.
- Можно запускать Glances на роутерах с OpenWRT (если собрать Python) и мониторить сеть дома.
Новые возможности: автоматизация и скрипты
- Glances позволяет автоматически отправлять алерты при превышении порогов (CPU, RAM, swap, диск, сеть) — можно интегрировать в CI/CD пайплайны.
- API Glances даёт возможность собирать метрики из скриптов (bash, python, nodejs) и строить свои системы мониторинга.
- nmon-логи легко парсятся awk, grep, python-скриптами — можно автоматизировать поиск аномалий и отправку отчётов.
- Glances можно запускать в headless-режиме, собирать метрики с сотен серверов и отправлять их в централизованное хранилище.
Статистика и сравнение с другими решениями
Согласно опросам на Reddit и StackOverflow, Glances входит в топ-5 инструментов для мониторинга серверов среди DevOps и SRE. nmon чаще используют в корпоративных инфраструктурах (особенно на AIX и старых Linux), где важна стабильность и минимальное потребление ресурсов.
- Glances: 10K+ stars на GitHub, активная разработка, поддержка Docker, web-интерфейс, API.
- nmon: 20+ лет истории, стабильность, минимализм, поддержка CSV и экспорт в Excel.
- htop: лучший для интерактивного анализа, но не для истории.
- netdata: крутые графики, но требует отдельного сервера и больше ресурсов.
Выводы и рекомендации
Что выбрать — Glances или nmon? Всё зависит от задач:
- Если тебе нужен быстрый, лёгкий мониторинг в реальном времени, возможность собирать логи и анализировать — ставь nmon. Он идеален для диагностики, сбора статистики, поиска проблем на сервере без лишних зависимостей.
- Если хочется что-то посовременнее, с web-интерфейсом, API, алертами, интеграцией с облаком, Docker и внешними системами — Glances твой выбор. Отлично подходит для мультисерверных инсталляций, автоматизации, интеграции с DevOps-стеком.
Для VPS, облаков, выделенных серверов (VPS, dedicated) — Glances подойдёт большинству, особенно если нужно мониторить кластеры или контейнеры. Для старых серверов, одноплатников, минималистичных систем — nmon вне конкуренции.
Мой совет: попробуй оба, выбери то, что ближе по духу и задачам. А если хочется автоматизации, алертов и интеграции с современными сервисами — начинай с Glances, но не забывай про nmon как резервный инструмент диагностики.
Официальные ссылки:
Мониторинг — это не роскошь, а средство выживания. Пусть твои сервера всегда будут под контролем!
В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.
Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.