Мониторинг сервера — одна из самых главных обязанностей любого системного администратора, а в этой статье мы постараемся рассмотреть некоторые из полезнейших инструментов сис админа, позволяющие сделать выполнение этих обязанностей более комфортнее и быстрее. Мы рассмотрим только простые утилиты, не требующие сложной настройки и даже установки — многие из них уже по умолчанию устанавливаются с системой.
# 1 — htop — информативная версия top
Команда htop является усовершенствованной версией всем нам знакомой команды top. Кроме информации об использовании системных ресурсов процессами, которая мало чем отличается от команды top, но представлена в более удобном виде, команда htop строит псевдографические графики загрузки каждого ядра процессора, памяти и свопа. В принципе практически то же самое, что и top, но красивее и нагляднее.
#2 — atop — продвинутый монитор процессов
Если команда htop — более наглядная версия top, то atop — совсем другая зверушка. Это продвинутый интерактивный монитор производительности. В отличие от top, выводит только новые изменения об активных системных процессах. Позволяет контролировать нагрузку процессора, памяти, накопителя, сети, а также просматривать распределение нагрузок по работающим процессам. В Ubuntu и Debian запускается автоматически и постоянно записывает информацию о процессах в /var/log/atop.log.
#3 — apachetop — мониторинг веб-сервера в реальном времени
Утилита apachetop не устанавливается по умолчанию, для ее установки нужно инсталлировать одноименный пакет. Опция -f позволяет задать файл access_log, если его расположение отличается от стандартного или если нужно мониторинг журнал доступа определенного виртуального хоста. Предоставляет информацию о текущем положении дел веб-сервера и даже о URL, к которым обращаются в данный момент.
#4 — mytop — мониторинг MySQL
Если есть утилита мониторинга Apache, то, вероятно, должна быть и утилита мониторинга MySQL. Для ее запуска нужно указать три параметра:
- -u — задает имя пользователя;
- -p — задает пароль;
- -d — база данных.
Предоставляет информацию о нагрузке на сервер базы данных и даже показывает текущие SQL-запросы, поступаемые от MySQL-пользователей.
#5 — iotop — мониторинг ввода/вывода
Сервер тормозит? Есть подозрение на дисковую подсистему? Утилита iotop позволяет определить процесс, узурпировавший всю подсистему ввода/вывода.
#6 — iftop — мониторинг сетевого интерфейса
Утилита iftop похожа на утилиту top, но вместо проверки использования процессора она прослушивает сетевой трафик на выбранных интерфейсах и отображает таблицу текущего использования. Она позволяет ответить на вопрос: «Почему у мое соединение такое медленное?».
#7 — jnettop — еще один монитор сетевого интерфейса
На первый взгляд похожа на iftop, но отличия есть и существенные. Если iftop показывает только обмен между узлами, то jnettop показывает и URL, и передаваемый в данный момент файл. Можно увидеть, какие файлы (картинки, сценарии, HTML-страницы и т. д.) передаются в данный момент клиентам. Не устанавливается по умолчанию, для ее установки нужно инсталлировать одноименный пакет.
#8 — iptraf — мониторинг трафика
Утилита предоставляет различные полезные метрики вроде счетчика TCP-пакетов, счетчика байтов, статистику по интерфейсу, индикаторы активности и т. д.
#9 — ngrep — утилита для профессионала
Утилита ngrep — это то же самое, что и обычный grep, но для сетевого уровня. Она позволяет просмотреть все передаваемые пакеты. Есть возможность задания фильтров, в том числе с помощью регулярных выражений. Примеры использования ngrep можно найти по этой ссылке.
#10 — nmon — швейцарский нож
Утилита nmon — мониторинг на все случаи жизни. Запустите ее и выберите объект, по которому вы хотите получить статистику — процессор, память, диски, ядро, сеть, виртуальная память и т. д.
В заключение этой статьи отметим, что для выхода из большинства утилит нужно использовать q, Ctrl + X или Ctrl + C. Один из этих способов да сработает — это на случай, если программа не выводит подсказку.