[Перевод] Простой, надёжный и удобный мониторинг серверов на Linux


Если вы администрируете сервера на Linux, наверняка, вы находитесь в состоянии постоянного поиска простых, надежных и удобных инструментов для решения самых разных задач. Одна из них — наблюдение за состоянием машин. И, хотя инструментов для мониторинга предостаточно, найти то, что войдёт в повседневный набор программ, обычно не так уж и просто. Именно поэтому сегодня я хочу рассказать об одной из таких находок, об утилите, которой пользуюсь каждый день.

149b7ff315084773b9780782338a33a8.jpg

Программа, о которой пойдёт речь, называется Nigel«s Monitor, или просто nmon. Она, используя простой интерфейс ncurses, умеет выводить, в реальном времени, сведения о различных показателях, характеризующих состояние сервера. Среди них — данные по процессору и памяти, информация о сетевых ресурсах, о дисковых накопителях, о файловой системе и NFS, о процессах. Набор отображаемых показателей можно настраивать. Nmon имеет текстовый интерфейс, поэтому, для работы с ним достаточно подключиться к серверу по SSH.

Предлагаю установить nmon и поговорить о том, как им пользоваться.

Установка


Утилиту nmon можно установить из стандартных репозиториев дистрибутивов серверных ОС. То есть, вы вряд ли столкнётесь с какими-то сложностями. Если ваша система использует apt (это — Debian, Ubuntu, и другие), надо выполнить в терминале такие команды:
sudo apt-get update
sudo apt-get install nmon

Для дистрибутивов, использующих dnf (среди них — Red Hat, Fedora, CentOS), установка будет выглядеть так:
dnf install epel-release
dnf install nmon

Как видите, всё просто. Переходим к работе с nmon.

Работа с nmon


Итак, nmon установлен, теперь можно его запустить, выполнив команду nmon. В окне утилиты, показанном на рисунке ниже, надо указать, какие именно сведения вас интересуют, включая и отключая соответствующие информационные разделы.

81f859e09793534f31d54a373949dc6e.jpg
Главное окно nmon содержит подсказки по включению и отключению различных разделов сведений о системе

Скажем, вас интересуют дисковые накопители. Если нажать клавишу d на клавиатуре, nmon выведет данные обо всех подключённых к серверу дисках.

089f915378b14f099a8310896e6d07ae.jpg
Средство мониторинга nmon выводит данные о дисках

Далее, добавим информационные разделы со сведениями о сети и памяти, нажав клавиши n и m. В итоге, набор данные о системе будет дополнен интересующими нас показателями.

f89570daa955e2bfacc2bfeadf372c09.jpg
Добавление в окно мониторинга сведений о сетевой подсистеме и памяти

Выключить отображение тех или иных разделов можно с помощью тех же клавиш, которые использовались для их вывода на экран. Кроме того, nmon поддерживает возможность менять скорость обновления данных. Делается это с помощью клавиш »-» и »+» на клавиатуре. Первая, соответственно, уменьшает скорость обновления показателей, вторая — увеличивает.

Для того, чтобы выйти из nmon, нажмите клавишу q, это возвратит вас к обычному приглашению bash.

Сбор данных с помощью nmon


Инструмент включает в себя возможность захвата данных и сохранения их в файл. Это может оказаться очень кстати, если нужно проанализировать данные о состоянии системы на некоем отрезке времени.

Предположим, требуется 30 «снимков» состояния системы, делать которые надо каждые 60 секунд. Организовать подобное можно, воспользовавшись такой командой:

nmon -f -s 60 -c 30

Здесь ключ -f указывает на то, что данные надо писать в файл, ключ -s задаёт промежутки времени, в секундах, между «снимками», а ключ -c говорит программе о том, что нам надо 30 наборов показателей.

Через полчаса после выполнения вышеописанной команды в текущей рабочей директории окажется интересующий нас файл с расширением .nmon.

Проанализировать этот файл можно, например, с помощью утилиты nmonchart, которая создаст из него веб-страницу, содержащую симпатичные графики.

67f3252632298938dd46945cdeba2ab5.png
Анализ данных, собранных nmon, с помощью nmonchart

Планирование сбора данных


Если необходимо организовать регулярный сбор данных о показателях работы сервера, например, для выявления периодически возникающих неполадок, можно воспользоваться заданиями cron. Делается это так. Сначала создадим bash-скрипт, скажем, с именем nmon.sh, с таким вот содержимым:
#! /bin/sh
nmon -f -s 60 -c 30

Файл надо сохранить и дать ему разрешение на исполнение с помощью команды chmod u+x nmon.sh. Теперь откроем файл crontab для редактирования командой crontab -e и введём следующее:
30 11 * * * ~/nmon.sh

После сохранения изменений, задание cron будет выполняться ежедневно, в 11:30 утра. Вы, конечно, подставите сюда то время, которое вам нужно, получив в своё распоряжение удобный инструмент для выявления причин неполадок серверов.

Итоги: действительно просто и по-настоящему полезно


Уверен, вам нелегко будет найти более простое и удобное решение для мониторинга Linux-серверов, подходящее для наблюдения за системами в реальном времени и для сбора данных, которые планируется проанализировать позже.

Пожалуй, nmon — это, так сказать, мастхэв для каждого системного администратора.

Уважаемые читатели! А какими утилитами для администрирования Linux вы пользуетесь постоянно и можете порекомендовать их другим?

Комментарии (2)

  • 17 марта 2017 в 13:34

    0

    Я использую atop. Настроил его так, чтобы он сохранял бинарные логи и исследую их, в случае наличия каких-нибудь проблем.
  • 17 марта 2017 в 13:47

    0

    Это мониторинг не серверов, а одного сервера.

© Habrahabr.ru