Перейти к содержимому

Полезные утилиты для мониторинга Linux систем

В данной статье мы собрали утилиты Linux которые будут полезны как системным администраторам таки и DevOps инженерам.

top

Запуск утилиты top

top

В реальном времени отображает все запушенные процессы и ресурсы которые потребляет каждый из процессов.

VIRT — использование виртуальной памяти
RES — физическая память которую использует процесс
SHR — общий объем использованной памяти
S — статус процесса: R — running; S — sleeping, Z — zombie
%CPU — процент используемого времени процессора
%MEM — процент использованной оперативной памяти
TIME+ — время выполнения процесса
COMMAND — название программы, которая инициировала процесс.

Для вывода дополнительных столбцов статистики необходимо нажать клавишу F и выбрать нужное.

Мало кто знает, но в top присутствуют цветовые схемы, для изменения цветовой схемы необходимо нажать кнопку Z.

vmstat

Команда vmstat выводит статистику использования виртуальной памяти. Вывод утилиты разделены на 6 групп.

Запуск утилиты vmstat

vmstat

Procs

  • r: количество запущенных процессов.
  • b: количество спящих процессов.

Memory

  • swpd: объем используемой виртуальной памяти.
  • free: объем свободной памяти.
  • buff: количество памяти, используемой в качестве буферов.
  • cache: объем памяти, используемой в качестве кеша.

Swap

  • si: объем памяти, выгруженный с диска.
  • so: объем памяти, перенесенный на диск.

IO

  • bi: блоки, полученные от блочного устройства (blocks/s).
  • bo: блоки, отправленные на блочное устройство (blocks/s).

System

  • in: количество прерываний в секунду, включая часы.
  • cs: количество переключений контекста в секунду.

CPU

  • us: время, потраченное на запуск кода, не относящегося к ядру (время пользователя).
  • sy: время, потраченное на выполнение кода ядра (системное время).
  • id: время бездействия.
  • wa: время, проведенное в ожидании ввода/вывода.
  • st: время, украденное из виртуальной машины.

W

Утилиты отображает регистрационное имя пользователя, название терминала, удалённая машина, время регистрации в системе, время простоя, JCPU, PCPU и командную строку его текущего процесса.

Запуск утилиты w

w

uptime

Запуск утилиты uptime

uptime

Утилита выводит информацию о времени работы системы, количестве подключенных пользователей и нагрузки на систему.

ps

Утилита ps выводит список всех процессов пользователя. В первом столбце отображается PID процесса, во втором столбце его наименование, время, а в последнем приложение которое запустило данный процесс. При запуске утилиты выводится краткая информация, для получения подробной информации используются дополнительные команды.

Запуск утилиты ps

ps

Полезные комбинации использования утилиты ps

Подробный вывод информации о запущенных процессах

ps -Al
ps -AlF

Вывод всех процессов запущенных на сервере

ps ax
ps aux

Вывод дерева процессов

ps axjf
pstree

Вывод всех процессов запущенных от определенного пользователя

ps -U root -u root u

Вывод всех PID определенной команды/программы

ps -C nginx -o pid=
pgrep nginx

Вывод имени команды определенного PID

ps -p 100810 -o comm=

free

Утилита free выводит статистику используемой и свободной памяти сервера. Информацию free получает из файла /proc/meminfo – динамически изменяющего в процессе работы системы.

Запуск утилиты free

free

Вывод информации в мегабайтах

free -m

Интервал обновления значений задается через ключ -s и указывается числовое значение равное секундам

free -s 5

pmap

Команда выводит детальную информацию по использованию оперативной памяти процессом.

Запуск утилиты pmap

pmap -d PID

Для того чтобы посмотреть информацию о процессе с PID 100108 необходимо выполнить следующую команду

pmap -d 100108

netstat

Утилита netstat выводит состояние соединений, входящих и исходящих, таблицы маршрутизации, число сетевых интерфейсов и сетевую статистику по портам.

Запуск утилиты netstat

netstat

Вывод всех портов

netstat -a

Вывод всех TCP портов

netstat -at

Вывод всех UDP портов

netstat -au

Статистика по всем портам

netstat -s

Вывод PID и имени приложения которое находится на порте

netstat -p

iptraf

Установка iptraf

apt install iptraf

iptraf — мощная и удобная консольная утилита для мониторинга сети в режиме реального времени. Утилита позволяет видеть статистику сетевых пакетов (прошедших через сетевой интерфейс) по протоколам, статистику сетевых пакетов по их размеру и текущую пропускную способность интерфейса.

tcpdump

Утилита позволяющая проанализировать работу сети на уровне передаваемых сетевых пакетов. По умолчанию при запуске tcpdump производится поиск сетевых интерфейсов и для анализа используется первый найденный.

Запуск tcpdump

tcpdump [-опции] [фильтры]

Пример вывода данные по определенному интерфейсу

tcpdump -i eth0

Вывод определенного типа трафика

tcpdump icmp

Сохранение вывода в файл

tcpdump -i eth0 -w file_name

Файлы /proc/

Для получения информации о процессоре, памяти, точках монтирования достаточно вывести информацию из соответствующих файлов

cat /proc/cpuinfo
cat /proc/meminfo
cat /proc/zoneinfo
cat /proc/mounts