Основы мониторинга в Linux

В деятельности любой современной компании крайне важную роль играет IT-инфраструктура, которая может включать Wi-Fi роутеры, принтеры, ноутбуки, файловые серверы, сетевое оборудование, серверы и многое другое, установленные либо в офисе самой компании, либо в центре обработки данных. Таким образом, непрерывность работы той или иной организации в значительной степени зависит от стабильности собственной информационной сети и инфраструктуры. Именно здесь на помощь приходит системное и сетевое администрирование, в том числе, мониторинг системных ресурсов.

by Veesp, 3 November 2017

Для поддержания стабильности всей инфраструктуры системный и сетевой администратор в первую очередь выполняет следующие задачи:

Для выполнения поставленных задач ключевую роль играет мониторинг системы. Это особенно важно, т.к. это является основным компонентом любой компьютерной сети. Мониторинг компьютерной системы обычно включает в себя установку управляющего программного обеспечения на устройстве, которое нужно отслеживать и которое прошло аутентификацию на сервере мониторинга. Не существует единого определения понятия «мониторинг системы», т.к. оно меняется в зависимости от того, как его использует системный администратор. В самом простом виде данное понятие может быть определено как процесс беспрерывного сканирования и сбора различных данных из различных систем в течение определенного промежутка времени.

Зачем нужен мониторинг системы?

Существует много причин, почему необходимо выполнять мониторинг. К ним относятся:

Мониторинг оперативной памяти

В каждой версии Linux есть программа под названием free , при запуске которой отображается объем свободной и используемой памяти системы.

На изображении сверху видно, что программа free используется с опцией -m для отображения значений в мегабайтах. Ниже мы даем пояснение некоторым элементам:

Строка 2: Mem: 489 320 169 0 34 233

Строка 3: -/+ buffers/cache: 52 437

Математические подсчеты:

Фактический объем используемой оперативной памяти составляет 320-(34+233)=53

Строка 4: Swap: 0 0 0

Данная строка показывает сведения о файле подкачки. В нашем случае на сервере нет доступной области подкачки, поэтому программа выдает нули. Установка области подкачки всегда опциональна. Swap – это виртуальная память, создаваемая на жестком диске для виртуального увеличения объема оперативной памяти.

Мониторинг ЦП

Помимо программы free , которая используется для проверки использования памяти, существует также ряд различных аналогичных инструментов для просмотра использования ЦП (например, top, htop, uptime, tload и т.п.).

Начнем с наиболее комплексной программы – программы top. В ней фактически отображаются процессы в Linux. Также дается динамическое представление работающей системы в режиме реального времени. Программа может отображать как сводную информацию о системе, так и список процессов и потоков, управляемых в данный момент ядром Linux.

Строка 1: top - 10:52:23 up 10 days, 6:20, 2 users, load average: 0.05, 0.03, 0.05

Строка 2: Tasks: 71 total, 1 running, 70 sleeping, 0 stopped, 0 zombie

Строка 3: %Cpu(s): 0.3 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

Данная строка показывает, как используется процессор. Если сложить все значения, данные в процентах, то в сумме мы получим 100% от ЦП. Рассмотрим эти значения по порядку:

Строка 4 and 5:

KiB Mem: 501712 total, 355316 used, 146396 free, 38412 buffers

KiB Swap: 0 total, 0 used, 0 free. 257832 cached Mem

4 и 5 строки соответственно показывают использование физической памяти (ОЗУ) и файла подкачки (такие же результаты, как и в программе free).

И последнее, что выдается (по умолчанию) при просмотре использования ЦП, – это процессы, используемые в настоящее время. Каждый из столбцов содержит различную информацию:

Программа Uptime. Предоставляет следующую информацию одной строкой: текущее время, время работы системы, количество вошедших в систему пользователей и среднюю нагрузку на систему за последние 1, 5 и 15 минут.

Программа tload. Позволяет интерактивно следить за процессом. htop похожа на программу top, но при этом htop можно прокручивать как вертикально, так и горизонтально, что позволяет увидеть все запущенные в системе процессы вместе с их полными командными строками.

htop program. It is an interactive process viewer. It is similar with top but allows it is allowed to scroll vertically and horizontally, so all the processes running on the system can be seen, along with their full command lines.

Нагрузка на систему

Из предыдущего материала мы увидели, что нагрузка на систему присутствует во всех трех программах, представленных выше (варьируются только значения, полученные в разное время). Все три случая объединяет то, что в каждом из них мы имеем по три значения. Что же означают эти числа?

Например, возьмем значения 0.07 0.04 0.05. Их можно прочесть как:

Средняя нагрузка – это среднее число процессов, запущенных или ожидающих выполнения за 1, 5 и 15 минут. Эти значения не зависят от количества процессорных ядер, но чем больше ядер, тем больше процессов могут быть запущены одновременно. Так, например, если на устройстве с одним ядром средняя нагрузка равна 3, то устройство перегружено, в то время как для 4-ядерного компьютера это нормальная рабочая нагрузка.

Мониторинг диска

Как правило, при рассмотрении производительности диска всегда отслеживаются два параметра: IOPS и дисковое пространство. Под дисковым пространством понимается количество используемого пространства, а IOPS является стандартной единицей измерения операций ввода/вывода в секунду. Простым языком, IOPS – это операции чтения/записи, выполняемых диском. На устройствах Linux есть также встроенные программы, которые отслеживают эти два параметра:

программа df. Сообщает об использовании дискового пространства файловой системы.

Данная программа используется с опцией -h, которая позволяет пользователю прочесть значения. Названия столбцов в основном не требует разъяснений. Filesystem – созданный раздел, Mounted On – точка подключения, в которой тот или иной раздел доступен.

Программа iotop. Простой монитор операций ввода/вывод, похожий на программу top.

iotop в виде столбцов отображает пропускную способность ввода/вывода, считываемую и записываемую каждым процессом/потоком в течение периода выборки. Также показывается процент времени, которое процесс/поток потратил на подкачку и ожидание ввода/вывода.

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

Мониторинг действительно имеет много плюсов, а именно:

Мониторинг компьютерной системы важен так же, как и сама система. Он необходим так же, как и тестирование приложений, развернутых в системе. С внедрением мониторинга начинается более «здоровая» жизнь для компьютерной инфраструктуры. И уже по мере развития сети можно не только применять различные стратегии, но и обязательно проводить настройку и постоянную модернизацию.

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

Источник: