Для эффективной работы серверов критически важно регулярно проводить диагностику и оценку их ресурсов. Диагностика ресурсов сервера позволяет выявить возможные проблемы, оптимизировать производительность и обеспечить бесперебойную работу. Как правило, такая процедура включает в себя оценку его отдельных аппаратных компонентов, программного обеспечения, сетевых настроек и эксплуатационных данных.
В данной статье мы рассмотрим основные методы анализа ресурсов сервера через терминал, а также затронем инструменты автоматического мониторинга в браузере. Инструкция применима к любому типу выделенных или виртуальных серверов на любых операционных системах семейства Linux и независимо от предустановленного программного обеспечения.
Как проверить общую нагрузку на сервере в терминале
В качестве инструментов для проверки общей нагрузки сервера прямо в терминале будут использоваться популярные утилиты top и atop. В большинстве случаев они уже предустановлены. Достаточно лишь запустить командой:
top
В ответ инструмент даст ответ о текущем состоянии системы в режиме реального времени:
Таким образом администратор сервера может отследить не только общую информацию, а в том числе и о конкретном процессе, для этого достаточно использовать навигацию на клавиатуре. Однако, программа позволяет также провести более глубокий анализ. Для этого необходимо в главном окне утилиты нажать на клавишу «F», после чего появится возможность выбрать дополнительные поля:
Активные поля выделяются жирным шрифтом, становятся светлее остальных и сопровождаются символом *. Для активации конкретного поля потребуется выбрать его при помощи навигации на клавиатуре, а затем нажать на пробел или клавишу «D». Выход из окна полей и программы в целом осуществляется нажатием на клавишу «Q» или «Esc». Вновь добавленные поля пользователь сможет увидеть, вернувшись в главное окно и пролистав вправо также при помощи стрелок на клавиатуре:
При выходе требуется обязательно сохранить текущие настройки. Сделать это можно нажатием на клавишу «W».
Следующий инструмент на очереди – atop. Запускается командой:
atop
Сразу после запуска выводит информацию о системе:
Обладает практически аналогичным функционалом для мониторинга, но позволяет также отслеживать информацию о сети и дисках. Со всеми доступными функциями можно ознакомиться по команде «help»:
В большинстве случаев администраторы используют данный инструмент для просмотра логов за конкретный период времени. Это может быть полезно, когда необходимо узнать нагрузку за прошедший период времени, например, за ночь. Для просмотра логов можно использовать команду:
atop -r
Для навигации используются клавиши «t» - вперед по времени, «Shift +t» - назад.
По умолчанию atop пишет логи каждые 10 минут и сохраняет в директорию /var/log/atop. Для изменения интервала или пути для сохранения необходимо открыть файл конфигурации /etc/default/atop и внести в него следующие изменения:
INTERVAL=60
LOGPATH="/var/log/atop"
OUTFILE="$LOGPATH/daily.log"
В указанном примере логи будут сохраняться каждую минуту по указанному пути и заданному имени файла. После чего необходимо произвести перезагрузку программы командой:
systemctl restart atop.service
Как проверить общую нагрузку на сервере в браузере
Проверка сторонними утилитами в браузере дает более визуальную картину происходящего на сервере. Подобные инструменты направлены на комфортный анализ без необходимости переключаться между программами в терминале для поиска конкретной функции. Одним из самых функциональных решений является NetData. Он полностью бесплатный и при этом обладает всем необходимым для полноценной диагностики сервера. Рассмотрим детально его установку и настройку на примере выделенного сервера под управлением ОС Ubuntu 20.04.6:
apt-get install netdata –y
Сразу после установки переходим к настройке. Открываем главный конфигурационный файл:
vim /etc/netdata/netdata.conf
Сравниваем первые три значения, они должны быть аналогичными, а также указываем внешний IP-адрес сервера. Именно по нему будет осуществляться дальнейший вход в панель управления. Сохраняем изменения в файле и выходим. Перезапускаем службу:
systemctl restart netdata
Проверяем работоспособность:
systemctl status netdata
Сервис запущен. Осталось перейти в панель управления. Для этого открываем браузер и переходим по пути:
http://11.22.33.44:19999
Где 11.22.33.44 – IP-адрес сервера, который был указан в файле конфигурации, 19999 – стандартный порт программы.
В верхней части Dashboard выводится основная информация о нагрузке на сервер в режиме реального времени:
Ниже можно детально ознакомиться с графиком каждого отдельного компонента сервера:
Для уменьшения или увеличения масштаба графиков можно использовать комбинацию «Shift + колесо мыши». После того, как пользователь ознакомится с основными графиками, автоматически начнет открываться дополнительное меню на каждый отдельный компонент, которое расположено в правом верхнем углу. Инструмент способен дать детальную информацию по следующим составляющим:
Рассмотрим детальный анализ на примере первых трех пунктов: CPUs, Memory, Disks:
Также в NetData достаточно гибкая настройка оповещений на указанные триггеры. Для их активации достаточно выбрать «Alarm» на верхней панели и выбрать уже готовый скрипт из списка:
Функционал утилиты очень обширный, рекомендуем ознакомиться с полным списком возможностей на странице проекта GitHub или официальном сайте. Одного лишь этого инструмента будет достаточно для полного контроля всего сервера в целом и его отдельных компонентов, в частности.
Заключение
В результате проведенной диагностики ресурсов сервера можно утверждать, что в целом система работает стабильно и эффективно. Анализ загрузки центрального процессора, использования оперативной памяти, активности дисков и сетевой нагрузки показал, что ресурсы сервера используются оптимально. Однако, для предотвращения возможных проблем, важно проводить регулярный мониторинг загрузки и готовить резервные решения для обеспечения надежности и производительности сервера в будущем.