Основными компонентами в любой информационно-вычислительной системе можно назвать подсистему аутентификации и идентификации, авторизации, резервного копирования и мониторинга нагрузки на инфраструктуру. Средства, методы, которые могут реализовывать данные функции зависят от каждого конкретного случая.
Если мы рассмотрим среднюю и большую инфраструктуру корпоративной сети, то скорее всего для эффективного мониторинга нам понадобиться клиент-серверное решение, в котором будет легкий агент под разные виды ОС и отказоустойчивый сервер, например Zabbix (Установка агента Zabbix на Ubuntu). Для малых систем будем использовать локальные решения, которые позволят в ручную снять замеры с машины, так же это средство будет полезно в момент быстрой оценки сервера.
Утилита atop для сбора данных
Представим, что заказчик предоставил свой сервер для развертывания сервисов и мы понятия не имеем, о том какие у него мощности и возможные процессы запущенные и ожидаемые для запуска в cron, виртуалок и прочее. Мы можем провести замер основными утилитами, но тогда мы увидим нагрузку на него только в момент использования и это не даст полной картины. Для этого существует инструмент atop, который позволяет сохранять данные о нагрузке на машину в хронологическом порядке с определенным интервалом.
Для теста утилиты развернем облачный сервер на площадке Serverspace, выбрав одну из облачных платформ и нажмем на кнопку Создать сервер.

После выберем ЦОД, в котором мы хотим развернуть наш сервер и укажем основные параметры для него: CPU, RAM, Hard Disk и сетевой интерфейс. Зададим имя и нажмем на кнопку Создать. Отлично, теперь мы можем подключиться через SSH, указав ключ или пароль для аутентификации пользователя. Справа от главной панели вы можете увидеть более подробную инструкцию для безопасного подключения.
В Debian/Ubuntu мы будем использовать apt пакетный-менеджер и соответствующий для него синтаксис, если вы используете другой дистрибутив, то рассмотрите синтаксис вашего пакетного менеджера и укажите atop для установки в конце. Введите в окно терминала следующую команду:
apt update && apt upgrade -y После обновления индексов и пакетов мы можем начать установку atop:
apt install atopОтличительной особенностью atop является возможность просматривать загрузку по 4 основным параметрам не только в суммарном виде, но и отдельно по каждому процессу. Запустим менеджер процессов и посмотрим на его внешний вид.


Экран разбит на два горизонтальных поля, в каждом из которых представлена подробная информация по каждому из процессов. Сверху суммарная информация по системе, описывающая нагрузку в реальном времени на 4 основных параметра и снизу тоже самое но разбито по процессам. Для приостановки мониторинга необходимо нажать кнопку z, для выхода из панели q и для изменения периода обновления данных i. Так же интересной особенностью atop является логирование производительности системы в ночное время каждые 10 минут по умолчанию.
Замеры производительности в течении периода
Обычно данные хранятся в директории /var/log/atop с пометкой atop_YYYYMMDD, которая указывает на дату сохранения записи. Декодируем данные при помощи команды:
atop -r /var/log/atop/atop_20240207
В вашем случае замените на файл, который принадлежит вашей системе. После того как пропишем команду, то можем увидеть интерпретированные результаты файла записи.

Время сбора зависит от указанных вами параметров, по умолчанию утилита делает скриншот раз в день, замеряя результаты в один момент времени. Просмотреть записи за текущий день можно благодаря команде:
atop -rЧтобы начать запись нужно использовать следующий синтаксис команды atop -w file [-S] [-a] [interval [samples]]. Где опция -w указывает файл записи, -S записывает системные вызовы, -a указывает о записываемых данных со всех процессов, а не только тех которые активны в текущий момент. Интервал указывает период времени между снепштами и сэмплы, как количество нужных снепов. После выполнения задачи по снепам запись завершается, однако, если их не указать, то она продолжится до момента ручной остановки. К примеру, создадим задачу на запись с интервалом 5 секунд в 5 снепов:
atop -w /var/log/atop.lognight 5 5 После запущенного процесса можем перейти в папку и так же открыть, только что созданную запись:
atop -r /var/log/atop.lognight 
Для перемещения между интервалами используем клавишу t, для того чтобы перейти к прошлому используем shift+t, конечно сложность заключается в том, что необходимо глазами вручную сравнивать значения. Если бы мы использовали Zabbix, то эта хронология нагрузки на сервер могла быть отраженна в виде графика. Но если нет возможности развернуть его, то atop остается неплохим решением, ведь здесь можно изменить отображения вывода по процессам горячими клавишами. Для более воспринимаемого вида отфильтруем процессы по:
- m – сортировать по использованию памяти;
- d – сортировать по дисковой активности;
- u – показать таблицу активности по пользователям;
- v – отобразить подробную информацию о процессах;
- g – вернуться к стандартному выводу.
Но если еще нажать комбинацию клавиш Shift + перечисленные выше опции, то значения не только отфильтруются, но и отсортируются по выбранной опции.
Еще немного об управлении, если мы не хотим бегать по большому списку снепов, то мы можем использовать комбинацию -b и прописать время в формате для поиска нужного промежутка.
Несмотря на то что atop предоставляет множество данных, его интерфейс интуитивно понятен и позволяет удобно отслеживать процессы и ресурсы системы. Комбинация горячих клавиш позволяет быстро фильтровать и сортировать данные для получения необходимой информации.
Таким образом, atop является полезным инструментом для анализа производительности системы и мониторинга нагрузки, особенно в ситуациях, когда нет возможности использовать более сложные и масштабируемые системы мониторинга.