Linux server terminal monitoring

Мониторинг сервера на Debian: полный обзор инструментов

Администратор, который не знает, что происходит внутри сервера прямо сейчас, работает вслепую. Нагрузка на CPU неожиданно скачет до 100%, диск заполняется за ночь, память утекает из-за одного плохо написанного скрипта — всё это типичные ситуации, с которыми сталкивается любой, кто обслуживает Linux-серверы. К счастью, в экосистеме Debian есть набор проверенных консольных инструментов, которые позволяют держать руку на пульсе системы в режиме реального времени. В этой статье мы разберём установку и практическое применение пяти ключевых утилит: htop, btop, iotop, sysstat и ncdu — и покажем, как выстроить из них рабочий процесс диагностики.

серверная стойка с оборудованием

Установка всех инструментов одной командой

Прежде чем переходить к разбору каждой утилиты, установим их все разом. Одна команда — и всё готово к работе:

apt update && apt install -y htop btop iotop sysstat ncdu

Обновление индекса пакетов обязательно: без него apt может предложить устаревшие версии или вовсе не найти пакет. Флаг -y автоматически подтверждает установку, что удобно при работе в скриптах или через SSH без интерактивного терминала.

Совет: Если вы управляете несколькими серверами, добавьте эту строку в скрипт первоначальной настройки нового хоста — так инструменты мониторинга будут доступны сразу после деплоя.

htop — интерактивный диспетчер задач

htop — это расширенная замена стандартной утилите top. Главное отличие — цветной интерфейс, поддержка мыши и возможность управлять процессами без запоминания горячих клавиш. Запустить его просто:

htop

На экране вы увидите горизонтальные полосы загрузки для каждого ядра CPU, графики памяти и подкачки, а ниже — список всех процессов с их PID, пользователем, потреблением CPU и RAM.

Что смотреть в первую очередь

Сортировка по столбцам выполняется кликом мыши или клавишей F6. Для поиска ресурсоёмких процессов удобно сортировать по CPU% или MEM% в убывающем порядке.

btop — мониторинг следующего поколения

Если htop — это рабочая лошадка, то btop — его функциональный преемник, который объединяет на одном экране всё: CPU, память, сеть и диски одновременно.

btop

Интерфейс разделён на панели. По умолчанию вы видите:

Полезные горячие клавиши btop

КлавишаДействие
qВыход
fПоиск процесса
eПоказать дерево процессов
tПереключить вид процессов
mСортировка по памяти
pСортировка по CPU

btop особенно удобен при первичной диагностике: за несколько секунд вы получаете общую картину состояния системы без необходимости переключаться между несколькими утилитами.

iotop — кто нагружает диск

Когда сервер замедляется и htop показывает высокий iowait в колонке нагрузки CPU, пора запускать iotop. Эта утилита показывает, какие именно процессы читают с диска или пишут на него прямо сейчас:

iotop

Для запуска требуются права root — если вы работаете от обычного пользователя, добавьте sudo:

sudo iotop

По умолчанию iotop показывает все процессы, в том числе те, у которых нулевая I/O-активность. Чтобы видеть только активные процессы, используйте флаг -o:

sudo iotop -o
Совет: Если нужно лишь быстро посмотреть статистику без интерактивного режима, добавьте флаги -b -n 3 — утилита выведет три снимка в пакетном режиме и завершится. Удобно для логирования через cron.

Интерпретация результатов

Обращайте внимание на колонки DISK READ и DISK WRITE. Если один процесс стабильно пишет 50+ МБ/с — это повод изучить его подробнее. Частые виновники: базы данных без правильной настройки буферов, антивирусный сканер, rsync-бэкапы в неподходящее время или зависший скрипт, генерирующий гигабайты логов.

sysstat — исторические данные и расследование инцидентов

Все перечисленные выше инструменты показывают только то, что происходит прямо сейчас. Но что если сервер упал в 3 ночи, а вы разбираетесь с последствиями утром? Здесь незаменим sysstat — пакет, который собирает статистику системы каждые 10 минут и хранит её на диске.

После установки активируйте сбор данных:

systemctl enable sysstat
systemctl start sysstat

Убедитесь, что автосбор включён в конфигурации:

nano /etc/default/sysstat

Найдите строку и убедитесь, что она выглядит так:

ENABLED="true"

Просмотр исторической статистики CPU

Для анализа нагрузки на CPU за прошедшие часы используется команда sar:

sar -u 1 5

Это выведет загрузку CPU с интервалом в 1 секунду, 5 раз подряд. Для просмотра данных за вчера:

sar -u -f /var/log/sysstat/sa$(date -d yesterday +%d)

Статистика памяти

sar -r 1 5

Статистика дисковой активности

sar -d 1 5

Ключ -d показывает активность каждого блочного устройства — количество операций чтения и записи, среднее время ожидания и утилизацию. Высокое значение %util, близкое к 100%, говорит о том, что диск является узким местом системы.

free и df — быстрая проверка памяти и диска

Иногда нужна просто быстрая справка без запуска полноценного интерактивного инструмента. Две команды, которые должны быть в мышечной памяти каждого администратора:

Свободная память

free -h

Флаг -h выводит значения в человекочитаемом формате (ГБ, МБ). Смотрите на строку available — это реально доступная память с учётом кешей, которые ядро готово освободить. Строка free часто вводит в заблуждение: Linux агрессивно кеширует данные в RAM, и небольшое значение free — это норма, а не проблема.

Свободное место на дисках

df -h

Выводит все примонтированные файловые системы с информацией об использовании. Обратите внимание на колонку Use% — при значении выше 85% стоит задуматься об очистке или расширении тома. Критичная отметка — 95%: при заполнении диска многие сервисы начинают отказывать.

ncdu — визуальный анализ занятого места

Когда df -h сигнализирует о нехватке места, следующий вопрос — что именно занимает диск? Стандартная команда du даёт ответ, но разбираться в её выводе неудобно. ncdu (NCurses Disk Usage) делает анализ диска интерактивным:

ncdu /

Утилита сканирует указанный каталог и строит интерактивное дерево с размерами. Самые большие папки — вверху списка. Навигация стрелками, Enter для входа в папку, d для удаления файла или директории прямо из интерфейса.

Совет: Запускайте ncdu периодически на каталогах /var/log, /var/lib/docker и домашних директориях пользователей — именно там чаще всего незаметно накапливаются гигабайты лишних данных.

Типичные источники лишних данных на диске

Практический сценарий диагностики сервера

Сведём всё воедино. Вот последовательность действий, когда сервер ведёт себя подозрительно:

  1. Запустите btop — получите общую картину: CPU, память, сеть, диски одним взглядом.
  2. Если высокий CPU — переключитесь в htop, отсортируйте по CPU%, найдите процесс-виновник.
  3. Если высокий iowait — запустите sudo iotop -o и определите, какой процесс нагружает диск.
  4. Проверьте памятьfree -h. Если swap активно используется, ищите утечку памяти через htop.
  5. Проверьте дискdf -h. Если места мало, запустите ncdu /var для быстрой навигации.
  6. Изучите историюsar -u или sar -r для понимания, когда началась проблема.

Заключение: мониторинг как привычка

Установить инструменты — это только первый шаг. Реальную ценность они дают тогда, когда становятся частью повседневной практики. Включите sysstat на всех серверах сразу после их настройки — исторические данные копятся незаметно, а в момент инцидента дают неоценимую информацию. Раз в неделю запускайте ncdu на ключевых разделах, чтобы отслеживать рост занятого места. А btop держите под рукой для быстрой проверки — его достаточно открыть на 30 секунд, чтобы убедиться, что всё в порядке.

Грамотный мониторинг — это не реактивная работа по тушению пожаров, а проактивное управление инфраструктурой. Сервер, за которым наблюдают, падает гораздо реже. А если всё-таки что-то идёт не так — вы узнаете об этом первым, с точными данными на руках, а не по жалобам пользователей. Начните с одной команды установки, включите sysstat прямо сейчас, и через неделю у вас уже будет неделя исторических данных — бесценных при любом расследовании.

Нужна помощь специалистов?

ООО «АйТи Фреш» возьмёт это на себя

Не хватает времени или своих специалистов — мы настроим, оптимизируем и возьмём вашу IT-инфраструктуру на постоянное сопровождение. Работаем с юридическими лицами в Москве и регионах. Собственный дата-центр, команда из 8 серверов Dell Xeon Platinum 8280 на базе МТС.

15+лет опыта
25+клиентов
40Gсвоя сеть
24/7поддержка