Мониторинг сетевого трафика в терминале с помощью slurm
Введение
slurm описывают как «ещё один монитор сетевой нагрузки». Это универсальный инструмент, который в текстовом виде отображает статистику устройства и рисует простой ASCII‑график. slurm поддерживает несколько типов графиков: комбинированный, классический, разделённый и увеличенный разделённый.
Проект начался как порт для FreeBSD соотвествующего Linux‑утилиты pppstatus. Помимо Linux, slurm доступен на FreeBSD, OpenBSD, NetBSD, Solaris, HP‑UX, MicroBSD и macOS.
Важно: slurm не собирает телеметрию извне — он только читает статистику сетевого интерфейса на вашей машине.
Как установить
Пользователи Debian‑похожих дистрибутивов (например, Ubuntu) могут установить slurm через apt:
sudo apt-get install slurmЕсли вы предпочитаете собрать из исходников, скачайте пакет с репозитория проекта и следуйте инструкциям в README. На некоторых системах потребуется установить заголовки и инструменты сборки (build‑essential, make, gcc).
Совет: запускайте установку и сам slurm с правами, позволяющими читать статистику интерфейса (обычно требуется root или соответствующие привилегии).
Как узнать имя интерфейса
Перед запуском нужно знать имя интерфейса (например, wlan0, eth0, enp3s0). Получить список интерфейсов можно одной из команд:
ip link showили
ifconfig -aВыберите интерфейс, который хотите мониторить, и передайте его опцию -i.
Базовое использование
Самый простой запуск — указать интерфейс:
slurm -i wlan0
График прокручивается слева направо и показывает суммарную нагрузку (загрузка + отдача) в каждом столбце. По опыту наблюдений: зелёные X обычно соответствуют загрузкам (download), красные X — отдаче (upload). Чем больше символов в столбце, тем выше нагрузка в эту секунду.
Режимы графика
slurm поддерживает несколько режимов отображения графика. Примеры:
- Комбинированный (classic/combined) — объёмистый репрезентативный график.
- Разделённый (split) — загрузка и отдача отображаются отдельно, один над другим.
- Увеличенный разделённый (large split) — как split, но с большим масштабом по вертикали для подробной визуализации.
Запуск в комбинированном режиме:
slurm -i wlan0 -c
Запуск в разделённом режиме:
slurm -i wlan0 -s
Запуск в увеличенном разделённом режиме:
slurm -i wlan0 -l
Изменение интервала обновления
По умолчанию slurm обновляет экран каждую секунду. Интервал задаётся опцией -d (в секундах). Например, чтобы обновлять каждые 5 секунд:
slurm -i wlan0 -d5Замечание: более частое обновление даёт более детальный «пик‑по‑пик» профиль, но увеличивает расход ресурсов и объём выводимых данных в логи при записи.
Краткая памятка по опциям (cheat sheet)
- -i <интерфейс> — обязательная опция, указывает интерфейс.
- -c — классический/комбинированный график.
- -s — разделённый график (upload/download по отдельности).
- -l — увеличенный разделённый график.
- -d <сек> — задержка между обновлениями экрана.
- –help — печать краткой справки.
Интеграция и автоматизация
slurm удобно запускать в сессиях screen или tmux, чтобы наблюдать за трафиком удалённо:
screen -S netmon
slurm -i wlan0 -sДля фонового запуска используйте nohup или systemd‑юнит. Например, systemd‑юнит может перезапускать slurm и сохранять лог в файл для последующего анализа.
Если вы хотите визуализировать slurm в дашборде на рабочем столе, можно интегрировать его с Conky или другим консольным гридом: запускайте slurm в отдельном окне терминала, которое встраивается в область Conky.
Когда slurm не подходит (ограничения)
- Если нужна длительная агрегация трафика и хранение исторических данных, лучше использовать vnstat или специализированные системы сбора метрик (Prometheus + экспортёры).
- Если нужна подробная сессия потоков и портов — используйте ntopng или Wireshark.
- slurm не предназначен для детального анализа пакетов или коммерческого сетевого мониторинга с алертами.
Альтернативы и сравнение (кратко)
- iftop — показывает топ соединений и потребление по хостам в интерактивном режиме.
- nload — простой график входящего/исходящего трафика по интерфейсу.
- bmon — агрегирует трафик и показывает статистику в реальном времени.
- vnstat — аккумулирует и хранит исторические данные по трафику без постоянного запуска.
Выбор зависит от задачи: быстрый обзор — slurm/nload, анализ соединений — iftop, долгосрочный учёт — vnstat.
Типичный рабочий процесс (минимальная методология)
- Определите интерфейс (ip link show).
- Запустите slurm с нужным режимом: slurm -i
[-c|-s|-l]. - Настройте интервал -d для удобного восприятия.
- При необходимости запустите в screen/tmux или в systemd для долгой работы.
- Для архивации — направляйте вывод в лог или используйте инструменты, собирающие stdout.
Рекомендации для ролей
- Сетевой администратор: используйте slurm для быстрой проверки пиков и аномалий перед углублённой диагностикой.
- Системный администратор: интегрируйте slurm в скрипты запуска или systemd для постоянного мониторинга отдельной машины.
- Разработчик/DevOps: используйте slurm в CI‑сценариях для простых проверок пропускной способности в тестовой среде.
Устранение неполадок
- Пустой вывод или «нет интерфейса» — проверьте имя интерфейса и права доступа (запустите от root).
- График не отображается корректно — проверьте кодировку терминала и ширину окна: ASCII‑графика требует достаточной ширины символов.
- Высокая нагрузка CPU при частых обновлениях — увеличьте интервал -d или используйте менее ресурсоёмкие инструменты.
Критерии приёмки
- slurm запускается и отображает данные для заданного интерфейса.
- График показывает изменение загрузки со временем (видны пик/спады).
- Интервал обновления корректно меняется опцией -d.
Заключение
slurm — простой и надёжный инструмент для быстрой диагностики сетевой нагрузки прямо в терминале. Он не заменит полноценные системы мониторинга, но отлично подходит для интерактивной работы по SSH, скриптов и встраивания в лёгкие консольные панели.
Вы используете slurm в своей практике? Какие режимы и параметры вам помогали чаще всего? Поделитесь опытом в комментариях.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента