Введение
Sysstat — это набор инструментов, который позволяет администраторам систем Linux измерять и анализировать нагрузку процессора, использование памяти, сетевую активность и дисковые операции. Встроенные утилиты sar, iostat, mpstat и ежедневные отчёты в /var/log/sysstat дают полную картину производительности без необходимости устанавливать дополнительные Grafana-стековые решения. Это особенно ценно на серверных системах с минимальным количеством компонентов или в контейнерных окружениях, где каждый мегабайт важен.
После выполнения этого руководства вы сможете установить sysstat на распространённых дистрибутивах, настроить частоту сбора данных и извлечь полезную информацию из отчётов, чтобы быстро выявлять узкие места.
Требования / Подготовка
- ОС: Ubuntu 22.04 LTS, Debian 12, CentOS Stream 9 или Fedora 38 (и аналогичные системы на базе glibc).
- Права администратора (
sudo), чтобы устанавливать пакеты, редактировать конфигурации и управлять службами. - Архитектура x86‑64 (инструкции AMD64) — sysstat также поддерживает ARM, но фокусировка здесь на стандартных серверных платформах.
- Свободное место на диске: ~10 МБ для бинарников и несколько мегабайт для хранения отчётов (по умолчанию за день).
Пошаговая инструкция
Шаг 1: Установка пакета sysstat
Для Debian‑основанных систем (Ubuntu, Debian) используйте apt:
sudo apt update
sudo apt install sysstat
Для RPM‑основанных систем (CentOS, Fedora) используйте dnf (или yum в старых версиях):
sudo dnf install sysstat
Шаг 2: Настройка интервала сбора данных
Файл конфигурации /etc/sysstat/sysstat определяет, как часто sysstat собирает данные.
Откройте его с помощью редактора (здесь используется nano):
sudo nano /etc/sysstat/sysstat
Найдите строку interval=20 (значение по умолчанию — 20 минут). Измените её на нужный интервал, например interval=10 для сбора каждые 10 минут:
interval=10
Сохраните файл (Ctrl+O, Enter) и выйдите (Ctrl+X).
Шаг 3: Запуск сервиса sysstat
Сервис sysstat собирает данные и записывает отчёты в /var/log/sysstat.
sudo systemctl enable sysstat
sudo systemctl start sysstat
Проверьте статус, чтобы убедиться, что служба работает:
sudo systemctl status sysstat
Вы должны увидеть строку активен (работает).
💡 Совет: Если служба не запускается, проверьте, не заблокирован ли файл
/var/log/sysstatили не закончились ли в системе файлы.
Шаг 4: Анализ отчетов с помощью sar
Утилита sar выводит статистику в реальном времени или за определённый интервал.
Общий обзор за последние 24 часа (если данные есть):
sar -r -u -d 1
Параметры:
-r— использование памяти,-u— нагрузка CPU,-d— дисковые операции.
Чтобы сохранить отчёт в файл для дальнейшего анализа:
sar -r -u -d > /tmp/sysstat_report.txt
Шаг 5: Проверка и интерпретация данных
Файлы отчетов хранятся в /var/log/sysstat/ с именами вида sa<hh> (например, sa10, sa15). Эти файлы содержат данные за каждый час.
Для анализа ввода-вывода в реальном времени используйте iostat:
iostat -xz 1 5
Параметры:
-x— показать расширенные статистические данные,-z— не выводить информацию о простаивающих устройствах,1— интервал обновления,5— количество итераций.
Сосредоточьтесь на столбце %util (использование устройства). Значение > 80 % указывает на возможное узкое место ввода‑вывода.
Проверка результата
- Убедитесь, что файл
/var/log/sysstat/sa10(или другой интервал, который вы настроили) обновился за последние несколько часов:ls -l /var/log/sysstat/sa* - Запустите простую команду
sar— вы должны увидеть строки с%usr,%sys,%nice,%iowait,%steal,%idle. - Проверьте, что
iostatвыводит данные устройств без ошибок:iostat -xz 1 2
Если все вышеуказанные шаги выполнены успешно, sysstat работает и готов к использованию для мониторинга производительности.
Возможные проблемы
| Симптом | Вероятная причина | Решение |
|---|---|---|
apt: package sysstat not found | Отсутствует источник пакета | Добавьте необходимые репозиторий (sudo add-apt-repository universe) и выполните sudo apt update. |
Сервис не запускается (systemctl start sysstat завершается с ошибкой) | Недостаток прав или заблокирован каталог /var/log/sysstat | Проверьте права: sudo chown -R root:root /var/log/sysstat и sudo chmod 755 /var/log/sysstat. |
sar: команда не найдена | Пакет sysstat не установлен | Выполните команду установки для вашей дистрибутивы. |
iostat: команда не найдена | Установлен только sysstat, но отсутствует util-linux | Установите util-linux (sudo apt install util-linux или sudo dnf install util-linux). |
Отчёты показывают %iowait ≈ 100 % | Диск перегружен или устройство не работает | Проверьте состояние диска: `sudo dmesg |
Если проблема не решена, проверьте системный журнал: journalctl -u sysstat -xe.