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


Оглавление (нажмите, чтобы открыть):

Обзор программ для мониторинга работы железа в Linux

Юрий Раззоренов

Хакер, номер #103, стр. 103-102-1

Обзор программ для мониторинга работы железа в Linux

Лето. На улице уже который день стоит жара. Три вентилятора в системном блоке с большим трудом справляются с охлаждением, хотя шумят прилично. Иногда создается впечатление, что системный блок можно использовать вместо печки. Как узнать, что происходит внутри, не дотрагиваясь пальцами до деталей включенного компьютера? Может, уже пора дать отдохнуть своему железному другу? Или поставить еще один кулер? В составе любого дистрибутива Linux найдется несколько утилит, которые помогут получить ответ на эти и другие вопросы и расскажут все о текущем состоянии железа.

lm-sensors: стандарт де-факто

В Debian, Ubuntu и других дистрибутивах, использующих apt, команда apt-cache search monitoring выдает большой список пакетов на все случаи жизни. Все их рассмотреть не получится, да и, наверное, не нужно. Мониторинг оборудования (температура, вращение вентиляторов, напряжение питания) будем производить с помощью утилиты lm-sensors (www.lm-sensors.org). Утилита собирает и анализирует все, что идет по шине SMB (System Management Bus), к которой могут быть подключены не только процессор и материнская плата, но и модули памяти, видеокарта и прочее оборудование.

В ядрах 2.4 установка lm-sensors могла вызвать легкий стресс, но с интеграцией в ядро 2.6 компонентов, осуществляющих мониторинг, заставить ее работать уже не проблема. Информацию о поддержке своего оборудования lm-sensors и ядром можно найти на странице Devices and drivers (www.lm-sensors.org/wiki/Devices). Здесь же уточняем, какую версию lm-sensors рекомендуется использовать с установленным в системе ядром. Хотя можно особо и не выбирать, а ставить то, что предлагается в репозитарии. Так как утилиты диагностики частью ядра не являются, их следует устанавливать отдельно:

$ sudo apt-get install lm-sensors sensord

Заодно установим и демон sensord, его задача собирать информацию в syslog. Кроме того, в случае неприятностей он может выдать предупреждение. Для первоначальной настройки системы мониторинга следует использовать утилиту sensors-detect:

После запуска утилиты тебе будет устроен настоящий допрос с пристрастием. Следует отвечать честно, ничего не скрывая :). В случае сомнения можно разрешать все тесты. Утилита пройдется по всем шинам и устройствам, переберет все скомпилированные модули и выберет те, от которых есть хоть какой-то прок. Если будет выведена хотя бы пара , считай, что тебе повезло. А значит, мониторингу быть. По окончании утилита запросит создать настройки в соответствии с найденным оборудованием: — и выдаст строку, которую необходимо вставить в файл /etc/modules. Выбрав на следующем шаге Yes, можно разрешить ей сделать это самостоятельно.

Советую проверить в /lib/modules/2.6.x/modules наличие всех модулей, которые порекомендовал загрузить sensors-detect. Скрипт иногда бежит впереди паровоза или, наоборот, отстает, поэтому вполне может быть, что таких модулей в системе попросту нет. Так, однажды мне было предложено использовать i2c-nforce2, но такой модуль в системе отсутствовал. Как вариант — можно попробовать загрузить модули вручную с помощью .

Для получения информации с сенсоров вызываем утилиту sensors без параметров (можно уже под обычным пользователем):

Adapter: SMBus I801 adapter at c800

VoltA1_5: +1.49 V (min = +1.42 V, max = +1.58 V)

Volt1_5: +1.52 V (min = +1.45 V, max = +1.60 V)

Volt3_3: +3.23 V (min = +3.13 V, max = +3.47 V)

Volt5: +5.20 V (min = +4.74 V, max = +5.26 V)

Volt12: +12.01 V (min = +11.38 V, max = +12.62 V)

FanCPU: 3540 RPM (min = 4000 RPM)

TempCPU: +28C (low = +10C, high = +55C)

TempMB1: +31C (low = +10C, high = +55C)

TempMB2: +34C (low = +10C, high = +55C)

vid: +1.525 V (VRM Version 9.1)

Параметры вывода на экран настраиваются в файле /etc/sensors.conf. Ищем строку, соответствующую нашему чипу (в нашем примере это lm85), и правим при необходимости:

$ sudo mcedit /etc/sensors.conf

chip "lm85c-*" "adm1027-*" "adt7463-*" "lm85-*" "lm85b-*"

label temp1 "CPU Temp"

label temp2 "Board Temp"

label fan1 "CPU_Fan"

# Установка лимита вольтажа

set in0_min 1.5 * 0.95

set fan1_min 4000

Хотелось бы обратить внимание на утилиту KSensors (ksensors.sourceforge.net), которая является графическим интерфейсом к sensors для среды KDE. В Ubuntu она устанавливается обычным образом:

$ sudo apt-get install ksensors

Теперь запускаем ее через меню или из командной строки. Щелкаем по появившемуся значку и выбираем Configure. Затем переходим по вкладкам и включаем флажок Visible в тех параметрах, которые хотим видеть. Результат будет выведен на панели задач (если активирован Dock) и в отдельном окне, которое открывается двойным щелчком по значку KSensors. Кроме параметров, контролируемых с помощью утилиты lm-sensors, можно выводить состояние памяти, swap и некоторую другую информацию. Для каждого параметра можно выставить интервал обновления и реакцию системы при превышении заданного значения (выполнить команду или проиграть звук). Чтобы KSensor автоматически запускался при загрузке системы, не забудь установить Autostart KSensors on KDE startup во вкладке Global settings.

Настройки демона sensord производятся в файле /etc/default/sensord.

$ sudo mcedit /etc/default/sensord

# Интервал для сканирования на предупреждения (30s, 1m, 1h)

# Интервал между замерами для записи в журнал

# Чип берем из sensors.conf

# Снимаем комментарий, если нужен вывод для RRD (Round Robin Database)

# Интервал, по умолчанию 5 минут

В комплекте lm-sensors идет утилита pwmconfig, которая проверяет возможность изменения скорости вращения кулеров. Если такая функциональность имеется, для настройки скорости вращения следует использовать утилиту fancontrol. Конфигурационный файл для нее создается с помощью pwmconfig.

Утилита (x)mbmon

Естественно, кроме lm-sensors есть и другие решения. Например, утилита mbmon (MotherBoard Monitor) и графический интерфейс к ней: xmbmon. С их помощью можно контролировать температуру компонентов системы, скорость вращения кулера и вольтаж. Исходные тексты можно найти на сайте автора: www.nt.phys.kyushu-u.ac.jp/shimizu/download/download.html. Установка в Ubuntu не сложна:

$ sudo apt-get install mbmon xmbmon

Теперь можно запускать без каких-либо настроек:

Temp.= 30.0, 24.0, 127.0; Rot.= 3308, 0, 6026

Vcore = 1.14, 1.52; Volt. = 3.28, 5.00, 11.49, -6.62, -1.83

Запустив xmbmon, всю эту информацию можно увидеть в окне программы.

Мониторинг жесткого диска с hddtemp

Вообще говоря, процессор не самая главная часть компьютера. Вот если полетит жесткий диск, считай, пропали фильмы, курсовые, дипломы и т.д. Поэтому винт требует особого внимания. В Linux есть ряд утилит как раз для этого случая. Начнем с маленькой по размеру, но очень полезной утилиты hddtemp (www.guzu.net/linux/hddtemp.php). С ее помощью можно получать информацию о температуре с IDE/SATA/SCSI-дисков, а также считывать S.M.A.R.T. информацию. Устанавливаем:

$ sudo apt-get install hddtemp

Кроме этого, рекомендуется обновить и базу дисков, скачав файл www.guzu.net/linux/hddtemp.db и поместив его в /etc. Вызов очень прост:

$ sudo hddtemp /dev/sda

/dev/sda: ST3160811AS: нет датчика

Да, с барракудой не повезло, посмотрим, что скажет утилита о втором диске:

$ sudo hddtemp /dev/hdb

/dev/hdb: QUANTUM FIREBALLlct20: 31C or F

Результат: температура файрбола. Как вариант — hddtemp можно запустить в фоне. Получить информацию в этом случае возможно в журнале syslog или подключившись по сети:

$ sudo hddtemp -d -q /dev/hdb

$ telnet localhost 7634

Connected to localhost.

Escape character is '^]'.

|/dev/hdb|QUANTUM FIREBALLlct20 30|32|C|Connection closed by foreign host.

Результат: 32 градуса. Таким образом температура диска выясняется даже без регистрирации в системе.

Комплект smartmontools

С помощью набора утилит smartmontools (smartmontools.sf.net) можно контролировать и управлять некоторыми параметрами жесткого диска, используя технологию S.M.A.R.T. Поддерживаются диски с интерфейсами ATA, SCSI и SATA. Для начала стоит проверить статус подключенных устройств:

$ sudo smartd -q onecheck

Opened configuration file /etc/smartd.conf

Drive: DEVICESCAN, implied '-a' Directive on line 22 of file /etc/smartd.conf

Configuration file /etc/smartd.conf was parsed, found DEVICESCAN, scanning devices

Device: /dev/hda, opened

Device: /dev/hda, packet devices [this device CD/DVD] not SMART capable

Unable to register ATA device /dev/hda at line 22 of file /etc/smartd.conf

Device: /dev/hdb, opened

Device: /dev/hdb, found in smartd database.

Device: /dev/hdb, is SMART capable. Adding to "monitor" list.

Device: /dev/sda, opened

Device: /dev/sda, IE (SMART) not enabled, skip device

Try 'smartctl -s on /dev/sda' to turn on SMART features

Unable to register SCSI device /dev/sda at line 22 of file /etc/smartd.conf

Monitoring 1 ATA and 0 SCSI devices

Последняя строка показывает, что будет производиться мониторинг только ATA-диска. На устройстве /dev/sda SMART не активирован, при необходимости его можно включить с помощью вызова . Пробуем получить информацию о диске:

$ sudo smartctl -i /dev/hdb

Model Family: QUANTUM FIREBALLlct20 series

Device Model: QUANTUM FIREBALLlct20 30

Serial Number: 353106162000

Firmware Version: APL.3900

User Capacity: 30.020.272.128 bytes

Device is: In smartctl database [for details use: -P show]

ATA Version is: 5

ATA Standard is: ATA/ATAPI-5 T13 1321D revision 1

Local Time is: Sun May 20 17:32:12 2007 EEST

SMART support is: Available - device has SMART capability.

SMART support is: Enabled

Более полную информацию можно получить, запустив утилиту с флагом ‘-a’. Вывод займет пару экранов, в самом конце будет выведена таблица со списком контролируемых параметров. Особое внимание следует обратить на поле WHEN_FAILED, в котором отобразится приблизительная дата, когда этот параметр достигнет своего допустимого предела. Эти тесты можно вызвать и отдельно. Причем есть два варианта: сокращенный и полный. Они инициируются командами:

$ sudo smartctl -t short /dev/hdb

$ sudo smartctl -t long /dev/hdb


Сокращенная проверка длится 1-2 минуты, полная может занять около часа. На работу диска эти тесты никак не влияют, поэтому их можно спокойно запускать на работающей системе. Ошибка будет выведена в поле LBA_of_first_error. Колонка LifeTime покажет время, прошедшее с момента включения диска до проведения проверки. Оффлайновые тесты запускаются командой smartctl -t offline ; их назначение — обновление показателей состояния диска, которые не могут быть обновлены во время обычной работы. Используя smartctl -o on , можно разрешить дискам производить такую проверку самостоятельно.

Мониторинг следует производить постоянно. Для этих целей используется демон smartd, который также входит в состав smartmontools. По умолчанию он проверяет все диски каждые 30 минут, информацию выводит с помощью syslog. Демона можно научить при обнаружении проблем отсылать почтовое сообщение администратору или выполнять скрипт. Шаблон содержит большое количество примеров. Каждая строка файла описывает параметры одного из присутствующих в системе дисков. Например:

$ sudo mcedit /etc/smartd.conf

/dev/sda -S on -o on -a -I 194 -m admin@host.com

/dev/hdb -S on -o on -a -I 194 -m admin@host.com

Здесь мы указываем диск, директивой -S on включаем автоматическое сохранение значений показателей. -o on отвечает за проведение регулярного оффлайнового тестирования. С помощью -I 194 игнорируем значение показателя с ID #194, отвечающего за контроль температуры, и в конце указываем email для отправки уведомлений. Проверить отсылку сообщений можно командой smartd -M test. Теперь запускаем демон:

$ sudo /etc/init.d/smartd start

Вот, в общем-то, и все, о чем мне хотелось сегодня рассказать. Кстати, пользователи FreeBSD тоже не обделены возможностями наблюдения за здоровьем своей системы. Все необходимое можно найти в дереве /usr/ports/sysutils коллекции портов. Из графических утилит, не попавших в обзор, стоит отметить gkrellm (www.gkrellm.net) и conky (conky.sf.net), с которыми, я надеюсь, ты разберешься уже сам.

Файловая система /proc

Некоторую информацию можно получить, обратившись напрямую к файловой системе /proc. Для примера проверим, включен ли кулер на процессоре:

$ sudo cat /proc/acpi/fan/FAN/state

Возможность его выключения командой echo 0 > /proc/acpi/fan/FAN/state зависит от материнской платы. Температуру процессора можно просмотреть так:

$ sudo cat /proc/acpi/thermal_zone/THRM/temperature

temperature: 23 C

В Linux температура выводится в градусах Цельсия, в других системах — в кельвинах. Кстати, есть целая утилита от разработчиков KDE, называется KTemperature, найти ее можно по адресу www.kde-apps.org/content/show.php?content=24660 или в репозитарии. Она как раз считывает информацию из этого файла и выводит результат на панель задач в виде индикатора.

В trip_points можно считать или задать политику управления охлаждением системы:

$ sudo cat /proc/acpi/thermal_zone/THRM/trip_points

critical (S5): 65 C

passive: 63 C: tc1=4 tc2=3 tsp=60 devices=0xdf852338

active[0]: 63 C: devices=0xdf85ff90

Возможны три варианта политики: critical (критическая температура, после которой возможен автоматический переход в спящий режим), passive (уменьшение частоты процессора) и active (активный режим работы кулера). Причем active может иметь несколько ступеней: от 0 до 9. Команда на изменение этих параметров выглядит так:

$ echo -n "critical:hot:passive:active0. activeX" > trip_points

$ echo "105:100:100:78:70:60:50" > /proc/acpi/thermal_zone/TZ0/trip_points

Режим охлаждения можно просмотреть такой командой:

$ sudo cat /proc/acpi/thermal_zone/THRM/cooling_mode

cooling mode: active

Устанавливать пассивный режим возможно не на всех устройствах, хотя современные ноутбуки его обычно поддерживают. Частота опроса сенсоров указывается в polling_frequency:

$ sudo cat /proc/acpi/thermal_zone/THRM/polling_frequency

Это означает, что в случае изменений само устройство способно генерировать асинхронные прерывания, поэтому наблюдать за ним нет смысла. Более подробную информацию о thermal_zone можно найти на сайте acpi.sourceforge.net/documentation/thermal.html.

Подготовка дистрибутива

Для того чтобы большинство описанных утилит заработало, необходимо иметь поддержку I2C и Hardware Monitoring в ядре. То есть как минимум всего, что выдают команды cat /usr/src/linux/.config | grep LM > и cat /usr/src/linux/.config | grep I2C2 >. Поэтому если вывод молчит как рыба об лед, можешь смело приступать к пересборке ядра. В Hardware Monitoring не забываем включить поддержку своей материнской платы. Если сомневаешься, то просто собери все в виде модулей.

$ sudo make mеnuconfig

Включаем поддержку ACPI:

Power management options (ACPI, APM) - ACPI (Advanced Configuration and Power Interface) Support

Не забываем стандарт управления сенсорами IPMI:

Device Drivers - Character devices - IPMI

Обязательно включаем поддержку сенсоров в ядре:

Device Drivers - I2C support

Выбираем алгоритмы, используемые в чипах:

Device Drivers - I2C support - I2C Algorithms

В следующих пунктах выбираем установленный чипсет:

Device Drivers - I2C support - I2C Hardware Bus support

Device Drivers - I2C support - Miscellaneous I2C Chip support

И, наконец, выбираем драйверы к сенсорам:

Device Drivers - Hardware Monitoring support

Начиная с версии ядра 2.6.19, появился новый драйвер мониторинга k8temp, который поддерживает все последние модели AMD K8. В соответствующих системах этот драйвер загружается автоматически. Отмечена его несовместимость со старыми версиями lm-sensors. Поэтому обязательно обнови утилиту или занеси k8temp в черный список, иначе General parse error тебе обеспечена.

20 средств мониторинга системы Linux, о которых должен знать каждый системный администратор

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

  1. Узкие места общего характера
  2. Узкие места, связанные с диском (дисковой памятью)
  3. Узкие места, связанные с процессором и оперативной памятью
  4. Узкие места, связанные с сетью

№ 1: top – команда выдачи данных об активности процессов

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

Рис.1: Linux команда — top

Наиболее часто используемые горячие клавиши

При работе команды top можно воспользоваться следующими полезными горячими клавишами:

Горячая клавиша Использование
t Включение и выключение выдачи на экран суммарных данных.
m Включение и выключение выдачи на экран информации об использовании памяти.
A Сортировка строк по максимальному потреблению различных системных ресурсов. Полезна для быстрой идентификации задач, для которых в системе не хватает ресурсов.
f Вход в меню интерактивного конфигурирования данных, выдаваемых на экран командой top. Полезна для настройки команды top для выполнения специфической задачи.
o Позволяет вам интерактивно задавать порядок строк, выдаваемой командой top.
r Изменение приоритета процессов с помощью команды renice.
k Удаление процесса с помощью команды kill.
z Переключение между цветным / монохромным вариантом выдачи изображения.

№ 2: vmstat – активность системы, информация о системе и аппаратных ресурсах

Команда vmstat выдает информационный отчет о активности процессов, памяти, свопинга, поблочного ввода/вывода, прерываний и процессора.

Пример вывода данных:

Выдача статистики использования памяти

Получение данных об активности / неактивности страниц памяти

№ 3: w – определяем, кто зарегистрирован и что они делают

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

Пример вывода данных:

№ 4: uptime – сообщает, как долго работает система

Команду uptime можно использовать с тем, чтобы определить, как долго работает сервер. Выдаются: текущее время, сколько времени работает система, сколько в текущий момент зарегистрировано пользователей и какова средняя нагрузка на систему в последние 1, 5 и 15 минут.

1 можно рассматриваться как оптимальное значение нагрузки. Нагрузка может меняться от системы к системе. Для системы с одним процессором приемлемым может считаться значение от 1 до 3, для мультипроцессорных систем – от 6 до 10.

№ 5: ps – список процессов

Команда ps выдаст краткий список текущих процессов. Для того, чтобы выбрать все процессы, используете параметр -A или –e:

Пример вывода данных:

Команда ps подобна команде top, но выдает больше информации.

Показать больше данных

Для того, чтобы включить режим максимальной выдачи данных (будут показаны аргументы командной строки, переданные в процесс):

Показать потоки (LWP и NLWP)

Показать потоки после процессов

Выдать список всех процессов на сервере

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

Выдать информацию о параметрах безопасности

Показать каждый процесс для пользователя Vivek

Настроить выдачу данных в формате, определенном пользователем

Показывать ID процессов, запущенных под Lighttpd

Показать имя для PID 55977

Выдать 10 процессов, потребляющих наибольшее количество памяти

Выдать 10 процессов, потребляющих наибольший ресурс процессора

№ 6: free – использование памяти

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

Пример вывода данных:

№ 7: : iostat – средняя загрузка процессора, активность дисков

Команда iostat выдает статистику использования процессора, а также статистику ввода/вывода для устройств, разделов и сетевых файловых систем (NFS).

Пример вывода данных:

№ 8: sar – сбор и выдача данных о системной активности

Команда sar используется для сбора информации о системной активности и выдачи ее в виде отчета или ее сохранения. Чтобы увидеть значение считчика сетевой активности, введите:

Для того, чтобы увидеть значения счетчиков сетевой активности, начиная с 24-го:

С помощью команды sar Вы можете также выдавать данные в режиме реального времени:

Пример вывода данных:

№ 9: mpstat – использование мультипроцессора

Команда mpstat выводит данные об активности каждого имеющегося в наличие процессора, процессор 0 будет первым. Команда mpstat -P ALL выводит данные о среднем использовании ресурсов для каждого из процессоров:

Пример вывода данных:

№ 10: pmap – использование процессами оперативной памяти


Команда pmap выдает данные о распределении памяти между процессами. Использование этой команды позволит найти причину узких мест, связанных с использованием памяти.

Для того, чтобы получить информацию об использовании памяти процессом с pid # 47394, введите:

Пример вывода данных:

Последняя строка очень важна:

  • mapped: 933712K общее количество памяти, отведенного под файлы
  • writeable/private: 4304K общее количество приватного адресного пространства
  • shared: 768000K общее количество адресного пространства, которое данный процесс использует совместно другими процессами.

№ 11 и № 12: netstat и ss – сетевая статистика

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

№13: iptraf – сетевая статистика в режиме реального времени

Команда iptraf запускает цветной интерактивный монитор, следящий за сетевыми IP. Этот монитор сетевых IP базируется на команде ncurses, которая выдает различную сетевую статистику, в том числе информацию о TCP, ведет подсчет UDP, выдает сведения о ICMP и OSPF, информацию о нагрузке на Ethernet, статистику по узлам сети, данные об ошибках контрольных сумм пакетов IP и многое другое. Монитор предоставляет в удобном для чтения виде следующие данные:

  • Статистику сетевого трафика по TCP подключениям
  • Статистику IP трафика по сетевым интерфейсам
  • Статистику сетевого трафика по протоколам
  • Статистику сетевого трафика по портам TCP/UDP и по размерам пакетов
  • Статистику сетевого трафика по адресам протоколов второго уровня

Рис.02; Общая статистика по интерфейсам: статистика трафика IP по сетевым интерфейсам

Рис.03: Статистика сетевого трафика по TCP подключениям

№14: tcpdump – детальный анализ сетевого трафика

Команда tcpdump – простая команда, выдающая дамп сетевого трафика. Однако, вам нужно хорошо понимать протоколы TCP/IP для того, чтобы использовать это средство. Например, для того, чтобы показать информацию о трафике DNS, введите следующее:

Для того, чтобы показать все IPv4 HTTP пакеты, идущие на порт и с порта 80, т.е. выдать только те пакеты, которые содержат данные, и, например, не учитывать пакеты SYN и FIN и пакеты ACK-only, введите следующее:

Для того, чтобы показать все сессии FTP для адреса 202.54.1.5, введите следующее:

Для того, чтобы показать все сессии HTTP для адреса 192.168.1.5, введите следующее:

Введите следующую команду и используйте для просмотра подробностей программу анализа wireshark :

№ 15: strace – системные вызовы

Трассировка системных вызовов и сигналов. Это средство полезно для отладки веб сервера и решения других серверных проблем. О том, как использовать это средство и для чего нужна трассировка процессов, смотрите по ссылке strace .

№ 16: Директорий /Proc – различная статистика ядра

В директории /proc имеется подробная информация о различных устройствах и ядре Linux. Подробности смотрите в документации Linux kernel /proc . Самые общие примеры:

№ 17: Nagios – мониторинг сервера и сети

Nagios – популярное open source приложение, предназначенное для мониторинга компьютерных систем и сетей. Вы можете легко следить за всеми своими хостами, сетевым оборудованием и сервисами. Приложение может посылать предупреждающее сообщение, когда что-то идет не так, как надо, а затем – еще одно, когда ситуация исправляется. Имеется приложение FAN — «Fully Automated Nagios» («Полностью автоматизированный Nagios»). Назначение FAN – обеспечить установку Nagios, в том числе и инструментария, предоставляемого сообществом Nagios. FAN распространяется в виде CD образа в стандартном формате ISO, что упрощает установку сервера Nagios. Вдобавок на дистрибутиве имеется масса инструментальных средств, повышающих практическую отдачу от использования Nagios.

Мастер Йода рекомендует:  10 эффектов при загрузке страницы, привлекающих внимание посетителей Javascript

№ 18: Cacti – инструментальное веб приложение, используемое для мониторинга

Пакет Cacti является полностью сетевым графическим решением, созданным для добавления графической оболочки к мощному средству хранения данных RRDTool. В пакете Cacti уже «из коробки» имеются средства быстрой регистрации, графические шаблоны с расширенными возможностями, множество методов для сбора данных и пользовательские функции управления. Все это помещено в интуитивно понятный и удобный для использования интерфейс, что имеет смысл при установке в локальных сетях вплоть до сложных сетей с сотнями устройств. Пакет предоставляет данные о сети, процессоре, памяти, зарегистрированных пользователях, серверах Apache, DNS и многое другое. По следующей ссылке смотрите описание, как под CentOS / RHEL установить и сконфигурировать сетевое графическое средство Cacti .

№ 19: KDE System Guard – графический монитор, выдающий сведения о системе в режиме реального времени

KSysguard – сетевое приложение для KDE, осуществляющее мониторинг системы и задач. Это средство может работать в ssh сессии. В нем имеется масса возможностей, например, такие, как клиент/серверные технологии, что позволяет осуществлять мониторинг локальных и удаленных хостов. В графической оболочке используются так называемые сенсоры, которые собирают информацию, выдаваемую приложением. Сенсор может возвращать либо простое значение, либо более сложно сформированные данные, например, таблицы. Для каждого вида данных предлагается один или несколько вариантов выдачи данных. Изображаемые данные сгруппированы в виде отдельных листов, которые можно сохранять и загружать независимо друг от друга. Таким образом, KSysguard не только менеджер простых задач, но также и мощное средство для управления большим серверным хозяйством.

Рис.05: KDE System Guard (рисунок взят из Википедии)

Подробности использования смотрите по следующей ссылке: Руководство по KSysguard .

№ 20: Gnome System Monitor – графическое средство выдачи информации о системе в режиме реального времени

Приложение System Monitor позволит вам получить базовую информацию о системе, а также следить за системными процессами, использованием системных ресурсов и системными файлами. Вы также можете использовать System Monitor для изменения характеристик своей системы. Хотя это не такое мощное приложение, как System Guard для KDE, оно предоставляет основную информацию, которая может быть полезной для пользователей – новичков:

  • Отображается различная основная информация об аппаратном и программном обеспечении компьютера
  • Версия ядра Linux
  • Версия GNOME
  • Аппаратные средства
  • Установленная оперативная память
  • Процессоры и их скорость
  • Статус системы
  • Имеющееся в наличии дисковое пространство
  • Процессы
  • Память и пространство своппинга
  • Использование сети
  • Файловые системы
  • Список всех смонтированных файловых систем вместе с основной информацией о каждой из них

Рис.6: Приложение Gnome System Monitor

Бонус: Дополнительные инструментальные средства

И еще несколько инструментальных средств:

  • nmap — сканирует ваш сервер на предмет открытых портов..
  • lsof — перечисляет открытые файлы, сетевые соединения и еще многое.
  • ntop — инструментальное веб средство ntop является наилучшим средством, следящим за использованием сети, причем это делается точно так, как с помощью команды top просматриваются процессы, т.е. это программное обеспечение мониторинга сетевого трафика. Вы можете следить за состоянием сети и распределением трафика по различным протоколам, таким как UDP, TCP, DNS, HTTP и другим.
  • Conky — Еще одно хорошее средство мониторинга, предназначенное для использования в X Window. Оно хорошо конфигурируемое и позволяет следить за многими системными переменными, в том числе состоянием процессора, памяти, пространства свопинга, дисковыми носителями, температурой, процессами, сетевыми интерфейсами, зарядом батареи, системными сообщениями, поступающими письмами и т.д.
  • GKrellM — Может использоваться для мониторинга состояния процессоров, оперативной памяти, жестких дисков, сетевыми интерфейсами, локальными и удаленными почтовыми ящиками и многими другими вещами.
  • vnstat — vnStat является консольным монитором сетевого трафика. Она позволяет для выбранных интерфейсов вести журнал сетевого трафика в течение часов, дней и месяцев.
  • htop — улучшенная версия интерактивного просмотрщика процессов top. htop позволяет просматривать процессы в виде дерева процессов.
  • mtr — mtr объединяет в одной сетевой инструментальной программе функциональность программ traceroute и ping.

Не упустил ли я чего-либо? Пожалуйста, добавьте в комментариях свои любимые средства мониторинга системы.

Комментарии

Приведены выборочно только те, в которых сообщается об инструментальных программах, не указанных в основном списке – прим.пер.

№ 3, Chris: … для систем с небольшим количеством машин я рекомендую использовать Munin . Его легко устанавливать и конфигурировать. Мое любимое средство мониторинга linux кластера — Ganglia .

№ 4, Ftaurino: Еще один полезный инструмент — dstat , который выдает столько же данных, как вместе взятые vmstat, iostat, ifstat и netstat, и даже больше…

№ 10, Amr El-Sharnoby: Я убедился, что самое лучшее средство для отслеживания узких мест, связанных с процессами, процессором, памятью и жесткими дисками, причем все в одном, – это atop… Но само средство может вызвать массу проблем на сильно загруженных серверах, поскольку учет процессов идет непрерывно и сервис работает постоянно…

Для того, чтобы в системах RHEL, CentOS использовать это средство эффективно, выполните следующее:
1 — подключите rpmforge repo,
2 — установите atop с помощью # yum
3 – уничтожьте процесс с помощью # killall atop,
4 – отключите atop с помощью # chkconfig,
5 – удалите rf /tmp/atop.d/ и /var/log/atop/,
6 – после это не запускайте его с помощью команды «atop», вместо этого используйте команду #ATOPACCT=»atop».

Этот инструмент сэкономил мне сотни часов времени, помог найти узкие места и решить связанные с ними проблемы …

№ 14, Cristiano: … хотелось бы добавить IFTOP, это действительно простое и не требующее значительных ресурсов средство, оно очень полезно, когда Вы хотите узнать, откуда был последний доступ к серверу и куда идет трафик…

№ 21, Ponzu: vi – инструметальное средство (хорошо известный мощный текстовый редактор — прим. пер.), используемое для проверки и модификации практически любого конфигурационного файла.

№ 22, Eric Schulman: … стоит упомянуть о dtrace, которое пригодится требовательным хакерам, желающим больше узнать об операционной системе и о внутренней структуре ее программ…

№ 25, Adrian Fita: … мне бы хотелось добавить iotop, отслеживающий использование диска различными процессами, и jnettop – очень простое средство, отслеживающее разделение ширины сетевого канала между различными подключениями в системе Linux …

№ 27, Praveen K: … я бы добавил команды whoami ,who am i, finger, pinky , id …

№ 29, Mathieu Desnoyers: … еще инструмент который, как мне кажется, пропущен в этом списке, — это LTTng. Это общесистемное средство трассировки, которое поможет разобраться со сложными проблемами, возникающими в многопоточных многопроцессорных приложениях, многократно обращающихся к ядру. Проект доступен по ссылке http://www.lttng.org . Трасировщик входит в состав последних версий дистрибутивов SuSE, WindRiver, Monta Vista и STLinux. Стандартный способ его использования – установить пропатченное ядро. Оно идет вместе с анализатором трассировок LTTV, который является прекрасным средством слежения за поведением системы…

№ 33, Kburger: … если Вы обсуждаете веб сервер, то прекрасное средство следить за активностью сервера Apache — apachetop

№ 34, Ram: … Вы забыли самое важное — net-snmpd. С его помощью Вы можете собрать сырые данные. Затем с помощью snmpwalk и скриптов Вы можете сделать свой собственный веб NMS, который будет собирать обычные данные, такие как прохождение пингов, использование дискового пространства, падение сервисов…

№ 35, Kartik Mistry: …»iotop» – прекрасное средство, которое следовало бы включить в список. Я очень часто использую «vnstat» для отслеживания закачек данных …

№ 37, Feilong: … обратите внимание на очень мощное средство, называемое nmon. Я использую его в системе AIX IBM, но сейчас оно работает на всех современных системах GNU/linux…

№ 40, Ken McDonell: …Если ваша «система » большая и / или распределенная и вопросы производительности, которыми Вы занимаетесь, сложные, вам желательно использовать Performance Co-Pilot (PCP). В нем Вы получите все данных, которые можно получить с помощью упомянутых вами инструментальных средств (и даже больше), его можно расширить добавляя новые приложения и слои сервисов, он работает по сети, пригоден для оценки кластеров и выдает как информацию в режиме реального времени, так и выполняет ретроспективный анализ. Смотрите http://www.oss.sgi.com/projects/pcp . PCP входит в состав дистрибутивов на основе Debian и в дистрибутив SUSE; вероятнее всего в ближайшем будущем он появится в дистрибутивах RH. В качестве бонуса PCP может выполнять мониторинг платформ не на базе Linux (Windows и некоторые производные от систем Unix).

№ 45. Aleksey Tsalolikhin: … я бы еще упомянул «ngrep» – сетевой (network) grep…

№ 48, Komradebob: …удивлен, что среди предложений не обнаружил следующий инструментарий: bmon – отображает / отслеживает в режиме реального времени сетевую активность / ширину пропускания канала; etherape – отличный визуальный индикатор, показывающий сетевой трафик; wireshark – tcpdump на стероидах; multitail – отслеживание в одном терминальном окне состояния многих файлов; swatch – отслеживает состояние регистрационных файлов и выдает оповещения.

№ 50, Jay: … phpsysinfo – еще один прекрасный и не требующий много ресурсов веб инструмент, осуществляющий мониторинг. Очень прост в настройке и использовании …

№ 51, Manuel Fraga: Osmius — инструментальное средство мониторинга (open source) — C++ и Java. С невероятной производительностью мониторит все, что подключается к сети …

№ 55, Balaji: … trafmon – еще одно полезное средство …

№ 56, Stefan: А для тех, кому нравятся несложные и компактные графические средства измерения, — xosview +disk -ints –bat

№ 63, Tman: Для профессионального мониторинга сетей используйте Zenoss: Zenoss Core (open source): http://www.zenoss.com/product/network-monitoring

№ 65, Eddy: Я не вижу в списке ifconfig или iwconfig

№ 66, Kestev: openNMS

Вы можете также прочитать другие статьи о средствах мониторинга системы в Линукс в разделе Разные административные задачи Библиотеки нашего сайта.

Мониторинг

Glances

Glances — консольный монитор системных ресурсов, который отображает максимум информации на одном экране.

Top — консольный таск-менеджер для Linux. Позволяет просматривать информацию о процессах и загруженности ресурсов.

Stacer

Stacer — утилита для мониторинга, оптимизации, настройки и очистки системы.

CPU-X — программа для просмотра основной информации о комьютере (процессор, кэш, материнская плата, оперативная память, операционная система, графическая подсистема).

Psensor

Psensor — простая утилита с графическим интерфейсом для мониторинга температуры оборудования компьютера.

Gnome Logs

Gnome Logs (или просто Logs) — простая программа для просмотра системных журналов (systemd).

ScreenFetch

screenFetch — простая консольная утилита для вывода информации о системе и ресурсах.

HardInfo

HardInfo — программа для просмотра подробной информации об оборудовании и системе, мониторинга системы, построения отчетов и запуска бенчмарков.

Gnome System Monitor

Gnome System Monitor — программа для мониторинга работы системы. Является штатным системным монитором в рабочей среде Gnome.

CPU-G — программа для просмотра информации о компьютере. В CPU-G можно просматривать информацию об оборудовании компьютера и краткую информацию о системе.

I-Nex — программа под Linux для отображения информации об оборудовании компьютера (аналогично популярной программе CPU-Z). Можно просмотреть информацию о компонентах вашего компьютера и некоторые системные вещи.

Monitorix

Monitorix — бесплатный монитор системных ресурсов. Позволяет просматривать загруженность и использование множества системных ресурсов (как аппаратных, так и программных).

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

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

  1. Поиск и устранение узких мест.
  2. Проблемы быстродействия дисков, дисковых массивов и RAID контроллеров.
  3. Проблемы использования CPU
  4. Проблемы использования памяти.
  5. Узкие места сети.

Утилита top — запущенные процессы и использование памяти

top показывает динамические показатели работы системы в реальном времени. По умолчанию она показывает наиболее ресурсоемкие по CPU процессы и обновляет список каждые 5 секунд.


Часто используемые хоткеи утилиты top:

Hot Key назначение
t включение и выключение суммарной информации
m включение и выключение отображения информации об использовании памяти
A Сортирует на экране пользователей различных системных ресурсов.
f Вход в интерактивный настройщик отображения списка процессов.
o Управляет сортировкой процессов.
r Принудительно обновляет содержимое.
k Выполняет команду kill
z включает и выключает цвета для отображения списка

vmstat — системная активность, информация об оборудовании и системе

Команда vmstat показывает информацию о процессах, памяти, вваде-выводе, трапсах, активности CPU.

Получить информацию об использовании памяти

Получить информацию об активных и неактивных страницах памяти

w — получить информацию о залогинившихся пользователях и их действиях

Команда w показыавет информацию о залогинившихся пользователях системы и запущенных ими процессах

uptime — показывает время работы системы

Команда uptime для определения как долго сервер запущен. Сколько времени сейчас, сколько времени сервер работает, сколько пользователей залогинено, показатели load averages для прошедших 1, 5, и 15 минут.

1 can be considered as optimal load value. The load can change from system to system. For a single CPU system 1 — 3 and SMP systems 6-10 load value might be acceptable.

ps — показывает системные процессы Linux

ps command will report a snapshot of the current processes. To select all processes use the -A or -e option: # ps -A Sample Outputs:

ps is just like top but provides more information.

Show Long Format Output

# ps -Al To turn on extra full mode (it will show command line arguments passed to process): # ps -AlF

To See Threads ( LWP and NLWP)

To See Threads After Processes

Print All Process On The Server

Print A Process Tree

# ps -ejH # ps axjf # pstree

Print Security Information

# ps -eo euser,ruser,suser,fuser,f,comm,label # ps axZ # ps -eM

See Every Process Running As User Vivek

# ps -U vivek -u vivek u

Set Output In a User-Defined Format

# ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm # ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm # ps -eopid,tt,user,fname,tmout,f,wchan

Display Only The Process IDs of Lighttpd

# ps -C lighttpd -o p > OR # pgrep lighttpd OR # pgrep -u vivek php-cgi

Display The Name of PID 55977

# ps -p 55977 -o comm=

Find Out The Top 10 Memory Consuming Process

# ps -auxf | sort -nr -k 4 | head -10

Find Out top 10 CPU Consuming Process

# ps -auxf | sort -nr -k 3 | head -10

#6: free — Memory Usage

The command free displays the total amount of free and used physical and swap memory in the system, as well as the buffers used by the kernel. # free Sample Output:

iostat — средняя загрузка CPU, активность дисков

The command iostat report Central Processing Unit (CPU) statistics and input/output statistics for devices, partitions and network filesystems (NFS). # iostat Sample Outputs:

sar — Collect and Report System Activity

The sar command is used to collect, report, and save system activity information. To see network counter, enter: # sar -n DEV | more To display the network counters from the 24th: # sar -n DEV -f /var/log/sa/sa24 | more You can also display real time usage using sar: # sar 4 5 Sample Outputs:

mpstat — использование мультипроцессорности

The mpstat command displays activities for each available processor, processor 0 being the first one. mpstat -P ALL to display average CPU utilization per processor: # mpstat -P ALL Sample Output:

pmap — использование памяти процессами

The command pmap report memory map of a process. Use this command to find out causes of memory bottlenecks. # pmap -d PID To display process memory information for pid # 47394, enter: # pmap -d 47394 Sample Outputs:

The last line is very important:

  • mapped: 933712K total amount of memory mapped to files
  • writeable/private: 4304K the amount of private address space
  • shared: 768000K the amount of address space this process is sharing with others

#11 and #12: netstat and ss — Network Statistics

The command netstat displays network connections, routing tables, interface statistics, masquerade connections, and multicast memberships. ss command is used to dump socket statistics. It allows showing information similar to netstat. See the following resources about ss and netstat commands:

#13: iptraf — Real-time Network Statistics

The iptraf command is interactive colorful IP LAN monitor. It is an ncurses-based IP LAN monitor that generates various network statistics including TCP info, UDP counts, ICMP and OSPF information, Ethernet load info, node stats, IP checksum errors, and others. It can provide the following info in easy to read format:

  • Network traffic statistics by TCP connection
  • IP traffic statistics by network interface
  • Network traffic statistics by protocol
  • Network traffic statistics by TCP/UDP port and by packet size
  • Network traffic statistics by Layer2 address

Fig.02: General interface statistics: IP traffic statistics by network interface

Fig.03 Network traffic statistics by TCP connection

#14: tcpdump — Detailed Network Traffic Analysis

The tcpdump is simple command that dump traffic on a network. However, you need good understanding of TCP/IP protocol to utilize this tool. For.e.g to display traffic info about DNS, enter: # tcpdump -i eth1 ‘udp port 53’ To display all IPv4 HTTP packets to and from port 80, i.e. print only packets that contain data, not, for example, SYN and FIN packets and ACK-only packets, enter: # tcpdump ‘tcp port 80 and (((ip[2:2] — ((ip[0]&0xf) >2)) != 0)’ To display all FTP session to 202.54.1.5, enter: # tcpdump -i eth1 ‘dst 202.54.1.5 and (port 21 or 20’ To display all HTTP session to 192.168.1.5: # tcpdump -ni eth0 ‘dst 192.168.1.5 and tcp and port http’ Use wireshark to view detailed information about files, enter: # tcpdump -n -i eth1 -s 0 -w output.txt src or dst port 80

#15: strace — System Calls

Trace system calls and signals. This is useful for debugging webserver and other server problems. See how to use to trace the process and see What it is doing.

#16: /Proc file system — Various Kernel Statistics

/proc file system provides detailed information about various hardware devices and other Linux kernel information. See Linux kernel /proc documentations for further details. Common /proc examples: # cat /proc/cpuinfo # cat /proc/meminfo # cat /proc/zoneinfo # cat /proc/mounts

17#: Nagios — Server And Network Monitoring

Nagios is a popular open source computer system and network monitoring application software. You can easily monitor all your hosts, network equipment and services. It can send alert when things go wrong and again when they get better. FAN is «Fully Automated Nagios». FAN goals are to provide a Nagios installation including most tools provided by the Nagios Community. FAN provides a CDRom image in the standard ISO format, making it easy to easilly install a Nagios server. Added to this, a wide bunch of tools are including to the distribution, in order to improve the user experience around Nagios.

18#: Cacti — Web-based Monitoring Tool

Cacti is a complete network graphing solution designed to harness the power of RRDTool’s data storage and graphing functionality. Cacti provides a fast poller, advanced graph templating, multiple data acquisition methods, and user management features out of the box. All of this is wrapped in an intuitive, easy to use interface that makes sense for LAN-sized installations up to complex networks with hundreds of devices. It can provide data about network, CPU, memory, logged in users, Apache, DNS servers and much more. See how to install and configure Cacti network graphing tool under CentOS / RHEL.

#19: KDE System Guard — Real-time Systems Reporting and Graphing

KSysguard is a network enabled task and system monitor application for KDE desktop. This tool can be run over ssh session. It provides lots of features such as a client/server architecture that enables monitoring of local and remote hosts. The graphical front end uses so-called sensors to retrieve the information it displays. A sensor can return simple values or more complex information like tables. For each type of information, one or more displays are provided. Displays are organized in worksheets that can be saved and loaded independently from each other. So, KSysguard is not only a simple task manager but also a very powerful tool to control large server farms.

Fig.05 KDE System Guard

#20: Gnome System Monitor — Real-time Systems Reporting and Graphing

The System Monitor application enables you to display basic system information and monitor system processes, usage of system resources, and file systems. You can also use System Monitor to modify the behavior of your system. Although not as powerful as the KDE System Guard, it provides the basic information which may be useful for new users:

  • Displays various basic information about the computer’s hardware and software.
  • Linux Kernel version
  • GNOME version
  • Hardware
  • Installed memory
  • Processors and speeds
  • System Status
  • Currently available disk space
  • Processes
  • Memory and swap space
  • Network usage
  • File Systems
  • Lists all mounted filesystems along with basic information about each.

Fig.06 The Gnome System Monitor application

Bonus: Additional Tools

A few more tools:

  • nmap — scan your server for open ports.
  • lsof — list open files, network connections and much more.
  • ntop web based tool — ntop is the best tool to see network usage in a way similar to what top command does for processes i.e. it is network traffic monitoring software. You can see network status, protocol wise distribution of traffic for UDP, TCP, DNS, HTTP and other protocols.
  • Conky — Another good monitoring tool for the X Window System. It is highly configurable and is able to monitor many system variables including the status of the CPU, memory, swap space, disk storage, temperatures, processes, network interfaces, battery power, system messages, e-mail inboxes etc.
  • GKrellM — It can be used to monitor the status of CPUs, main memory, hard disks, network interfaces, local and remote mailboxes, and many other things.
  • vnstat — vnStat is a console-based network traffic monitor. It keeps a log of hourly, daily and monthly network traffic for the selected interface(s).
  • htop — htop is an enhanced version of top, the interactive process viewer, which can display the list of processes in a tree form.
  • mtr — mtr combines the functionality of the traceroute and ping programs in a single network diagnostic tool.

Did I miss something? Please add your favorite system motoring tool in the comments.

Мониторинг сети Linux

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

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

Инструменты имеют разные механизмы формирования отчета о трафике. Некоторые из инструментов, таких как nload, читают файл «/ proc / net / dev» для получения статистики трафика, тогда как некоторые инструменты используют библиотеку pcap для захвата всех пакетов, а затем вычисляют общий размер для оценки нагрузки трафика.

Мониторинг сети Linux

Ниже приведен список команд, отсортированных по их функциям.

  1. Общая пропускная способность — nload, bmon, slurm, bwm-ng, cbm, спидометр, netload
  2. Общая пропускная способность (выход пакетного стиля) — vnstat, ifstat, dstat, collectl
  3. Ширина полосы пропускания для каждого сокета — iftop, iptraf, tcptrack, pktstat, netwatch, trafshow
  4. Пропускная способность для каждого процесса — nethogs

Nload

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

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

Установка Nload — Fedora и Ubuntu получили его в репозиториях по умолчанию. Пользователи CentOS должны получать nload из репозиториев Epel.

iftop

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

Несмотря на то, что iftop сообщает пропускную способность, используемую отдельными соединениями, он не может сообщить имя / идентификатор процесса, участвующего в конкретном подключении сокета. Но, основываясь на библиотеке pcap, iftop может фильтровать трафик и использовать пропускную способность для передачи по выбранным узловым соединениям, как это определено фильтром.

Опция n не позволяет iptop отыскивать IP-адреса на имя хоста, что вызывает дополнительный сетевой трафик.

Установите iftop — пользователи Ubuntu / Debian / Fedora получат его из репозиториев по умолчанию. Пользователи CentOS получают его от Epel.

iptraf

Iptraf — это интерактивный и красочный монитор IP Lan. Он показывает индивидуальные соединения и объем данных, передаваемых между хостами. Вот скриншот

Nethogs


Nethogs — это небольшой инструмент «net top», который показывает пропускную способность, используемую отдельными процессами, и сортирует список, в котором самые интенсивные процессы находятся сверху. В случае внезапного скачка полосы пропускания быстро открывайте nethogs и найдите ответственный за процесс. Nethogs сообщает PID, пользователя и путь программы.

Установить Nethogs — пользователи Ubuntu, Debian, Fedora получают из репозиториев по умолчанию. Пользователям CentOS нужна Epel

Bmon (Bandwidth Monitor) — это инструмент, аналогичный nload, который показывает нагрузку на трафик по всем сетевым интерфейсам в системе. Вывод также состоит из графика и раздела с деталями уровня пакета.

Монитор сети bmon linux

Установка Bmon — пользователи Ubuntu, Debian и Fedora могут устанавливать репозитории по умолчанию. Пользователи CentOS должны настроить «repoforge», так как его нет в Epel.

Bmon поддерживает множество опций и способен создавать отчеты в формате html. Дополнительную информацию см. На странице руководства.

slurm

Slurm является еще одним монитором сетевой нагрузки, который показывает статистику устройства вместе с графиком ascii. Он поддерживает 3 разных стиля графиков, каждый из которых может быть активирован с помощью клавиш c, s и l. Простой в функциях, slurm не отображает никаких дополнительных сведений о сетевой нагрузке.

tcptrack

Tcptrack похож на iftop и использует библиотеку pcap для захвата пакетов и вычисления различной статистики, такой как пропускная способность, используемая в каждом соединении. Он также поддерживает стандартные фильтры pcap, которые можно использовать для контроля определенных соединений.

Установите tcptrack — Ubuntu, Debian и Fedora имеют это в «repos» по умолчанию. Пользователи CentOS должны получить его у RepoForge, поскольку он также недоступен в Epel.

Vnstat

Vnstat немного отличается от большинства других инструментов где Мониторинг сети Linux является основой. На самом деле он запускает фоновый сервис / daemon и постоянно фиксирует размер передачи данных. Кроме того, его можно использовать для создания отчета об истории использования сети.

Запуск vnstat без каких-либо параметров просто покажет общий объем передачи данных, который произошел с момента запуска демона.

Чтобы отслеживать использование полосы пропускания в реальном времени, используйте параметр «-l» (режим «вживую»). Затем она покажет общую пропускную способность, используемую входящими и исходящими данными, но очень точным образом, без каких-либо внутренних сведений о хостах или процессах.

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

Vnstat поддерживает множество опций, подробности о которых можно найти на странице руководства.

bwm-ng

Bwm-ng (Bandwidth Monitor Next Generation) является еще одним очень простым монитором сетевой нагрузки в режиме реального времени, который сообщает сводную информацию о скорости передачи данных и из всех доступных сетевых интерфейсов в системе.

Если размер консоли достаточно велик, bwm-ng также может отображать гистограммы для трафика, используя режим вывода curses2.

Установка Bwm-NG — на CentOS bwm-ng можно установить из Epel.

cbm — метр пропускной способности

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

speedometer

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

Pktstat

Pktstat отображает все активные соединения в реальном времени и скорость, с которой данные передаются через них. Он также отображает тип соединения, т. Е. Tcp или udp, а также информацию о HTTP-запросах, если они задействованы.

Netwatch

Netwatch является частью коллекции инструментов netdiag, и она также отображает соединения между локальным хостом и другими удаленными узлами и скорость передачи данных по каждому соединению.

Trafshow

Как и netwatch и pktstat, trafshow сообщает о текущих активных соединениях, их протоколе и скорости передачи данных в каждом соединении. Он может отфильтровывать соединения, используя фильтры типа pcap.

Кстати, если говорить про Мониторинг сети Linux то здесь можно отметить также и этот способ. Trafshow является таким же удобным как и его аналоги.

Мониторинг только соединений TCP

$ Sudo apt-get install netdiag

Netload

Команда netload просто отображает небольшой отчет о текущей нагрузке на трафик и общее количество байтов, переданных с момента запуска программы. Нет больше функций. Его часть netdiag.

ifstat

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

Мониторинг сети Linux

Установите ifstat — Ubuntu, пользователи Debian и Fedora имеют это в репо по умолчанию. Пользователи CentOS должны получить его у Repoforge, так как его нет в Epel.

dstat

Dstat — это универсальный инструмент (написанный на python), который может отслеживать различные системные статистики и сообщать о них в режиме пакетного стиля или записывать данные в файл csv или аналогичный файл. В этом примере показано, как использовать dstat для передачи информации о пропускной способности сети

Collectl сообщает системную статистику в стиле, подобном dstat, и, подобно dstat, собирает статистику о различных различных системных ресурсах, таких как процессор, память, сеть и т. Д. Ниже приведен простой пример того, как использовать его для отчета об использовании сети / пропускной способности .

Мониторинг сети Linux

Выводы

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

Мастер Йода рекомендует:  Как синхронизировать папки на FTP-сервере и Google Drive

Ntop и Darkstat — это одни из основных сетевых средств мониторинга сети, доступных для Linux. Помимо этого, инструменты мониторинга уровня предприятия, такие как Nagios, предоставляют множество функций, позволяющих не только контролировать сервер, но и всю инфраструктуру.

Если у вас остались какие-то вопросы по теме «Мониторинг сети Linux» то, пишите нам про них в форму комментариев на сайте. Спасибо за визит!

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

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

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

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

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

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

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

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

  • Доступ к состоянию всей инфраструктуры в режиме онлайн.
  • Анализ долгосрочных тенденций.
  • Сравнение или проведение экспериментов (например, какая подсистема хранения лучше для моей базы данных – MyISAM или InnoDB?)?
  • Оповещение (уведомление о превышение установленных лимитов).
  • Построение информационных панелей (графов, карт состояния сети и т.д.): визуализация данных (связано с пунктом 2). Помогает увидеть тенденции, неочевидные в их исходном необработанном виде.
  • ретроспективный анализ: взаимосвязь между полученными оповещениями и другими данными, собранными за тот же промежуток времени.
  • Сокращение затрат. Например, один из серверов, развернутый в облаке, используется не в полную силу. Можно переместить приложение, установленное на нём, на сервер меньшего размера либо продолжать устанавливать на него новые приложения, не создавая для них новый сервер
  • Преобразование собранных данных в бизнес-аналитику.
  • Отслеживание проблем безопасности.
  • Проактивные меры защиты (а не реактивные).

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

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

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

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

  • 489: объем физической/оперативной памяти, доступный на данном устройстве.
  • 320: объем физической/оперативной памяти, используемый системой. Сюда также входят буферы и кэш-память
  • 169: общий объем физической/оперативной памяти, доступный для запуска нового процесса.
  • 0: совместно используемая физическая/оперативная память. Данная колонка является устаревшей и будет удалена в следующих версиях программы
  • 34: общий объем физической/оперативной памяти, буферизованный различными приложениями в системе.
  • 233: общий объем физической/оперативной памяти, используемый для кэширования данных в дальнейших целях. Эту память можно восстановить или перераспределить.

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

  • 52: фактический объем используемой физической/оперативной памяти (получается при вычитании буферов и кэш-памяти)

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

  • Используемая оперативная память: 320
  • Используемые буферы: 34
  • Используемая кэш-память: 233

Фактический объем используемой оперативной памяти составляет 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

  • текущее время (10:52:23)
  • время работы устройства (up 10 days, 6:20 – 10 дней, 6 часов, 20 минут)
  • пользователи, вошедшие в систему (2 users – 2 пользователя)
  • средняя нагрузка на систему (load average): значения 0.05, 0.03, 0.05 относятся к последним 1, 5 и 15 минутам соответственно.

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

  • Общее число работающих процессов (71 totals – 71 процесс)
  • Запущенные процессы (1 running – 1 запущенный процесс)
  • Процессы в режиме ожидания (70 sleeping – 70 процессов в режиме ожидания)
  • Остановленные процессы (0 stopped – 0 остановленных процессов)
  • Процессы-зомби, ожидающие завершения от родительского процесса (0 zombie – 0 процессов-зомби)

Строка 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% от ЦП. Рассмотрим эти значения по порядку:

  • Пользовательские процессы (0.3% us)
  • Системные процессы (0.0% sy)
  • Процессы ЦП с приоритетом обновления (0.0% ni)
  • Неиспользуемый процент ЦП (99.7% id)
  • Процессы ЦП, ожидающие операций ввода-вывода (0.0% wa)
  • Обслуживание аппаратных прерываний (0.0% hi – запрос аппаратного прерывания)
  • Обслуживание программных прерываний (0.0% si – программное прерывание)
  • Процент ЦП, «украденный» с виртуального устройства гипервизором для выполнения других задач (например, для запуска другой виртуальной машины). Без виртуального устройства на рабочем столе и сервере будет выдаваться 0 (0.0% st — Украденное время)

Строка 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).

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

  • PID – ID процесса (1)
  • USER – пользователь, который выполняет процесс (root)
  • PR – приоритет процесса (20)
  • NI – приоритет процесса (0)
  • VIRT – виртуальная память, используемая процессом (33496)
  • RES – физическая память, используемая процессом (2692)
  • SHR – совместно используемая память процесса (1304)
  • S – S – показывает статус процесса: S – в режиме ожидания, R – запущенный, Z – зомби (S)
  • %CPU – процент ЦП, используеый процессом (0.0)
  • %MEM – процент ОЗУ, используемый процессом (0.5)
  • TIME+ – общее время работы процесса (0:45:.48)
  • COMMAND – название процесса (init)

Программа 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 . Их можно прочесть как:

  • Средняя нагрузка за последнюю минуту: 0.07
  • Средняя нагрузка за последние 5 минут: 0.04
  • Средняя нагрузка за последние 15 мину: 0.05

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

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

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

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

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

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

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

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

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

  • Обеспечивает понимание и принятие решений на основе данных.
  • Обнаруживает проблемы на раннем этапе, предотвращая более крупные неполадки.
  • Улучшает продуктивность и производительность.
  • Помогает спланировать и рассчитать стоимость обновления оборудования.
  • Предотвращает и сокращает время простев, которые могут привести к коммерческим потерям.

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

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

57 инструментов командной строки для мониторинга производительности Linux

Каждый системный и сетевой администратор, решающий каждодневные задачи по контролю и отладке системной производительности Linux, нуждается в соответствующих программных инструментах. Это не простая задача, мониторить и поддерживать систему в рабочем состоянии. В помощь системным администраторам Linux/Unix, а также веб-мастерам, обслуживающим сервер, был собран этот список. Эти команды доступны на большинстве Linux, и они могут быть полезны при контроле и поиске причин проблем, связанных с производительностью. В этом списке предостаточно инструментов, чтобы можно было подобрать нужные программы подходящие для вашего сценария мониторинга.

1. Top – Мониторинг процессов Linux

Linux команда Top – это программа наблюдения за производительностью, которая часто используется системными администраторами для монитора производительности Linux, она доступна во многих операционных системах Linux и Unix-подобных. Команда top используется для отображения всех запущенных и активных процессов в реальном времени в упорядоченном списке, который регулярно обновляется. В нём показано использование ЦПУ, использование памяти, использование файла подкачки (Swap), размер кэша, размер буфера, PID процессов, пользователь, команды и многое другое. Также выделены процессы, интенсивно использующие центральный процессор и память. Команда top очень полезна для системных администраторов для контроля и принятия мер, в отношении процессов, излишне нагружающих систему. Давайте взглянем на команду top в действии.

2. VmStat – Статистика виртуальной памяти

Команда Linux VmStat используется для отображения статистики виртуальной памяти, потоков ядра, дисков, системных процессов, блоков ввода/вывода, прерываний, активности ЦПУ и много другого. По умолчанию команда vmstat недоступна в системах Linux и вам нужно установить пакет, называющийся sysstat, он включает в себя программу vmstat. Обычный формат использования команды:

3. Lsof – Список открытых файлов

Команда lsof используется во многих Linux/Unix-подобных системах для отображения списка открытых файлов и процессов. Открытые файлы включают дисковые файлы, сетевые сокеты, трубы, устройства и процессы. Одна из обычных ситуаций использования этой команды – это невозможность отмонтировать диск, из-за ошибки, что используются или открыты файлы. С этой командой вы с лёгкостью можете выяснить, какие файлы используются. Самым популярном способом запуска этой команды является:

4. Tcpdump – Анализатор сетевых пакетов

Tcpdump – это один из самых широко используемых анализаторов сетевых пакетов с интерфейсом командной строки, а также программ для сниффинга пакетов, используемая для захвата или фильтрации TCP/IP пакетов, которые получены или переправлены по сети на определённом интерфейсе. Программа умеет сохранять захваченные пакеты в файл для последующего анализа. tcpdump доступен практически на всех главных дистрибутивах Linux.

5. Netstat – Статистика сети

Netstat – это инструмент командной строки для мониторинга статистики входящих исходящих сетевых пакетов, а также статистики интерфейсов. Это весьма полезный инструмент для каждого системного администратора для контроля производительности сети и решения проблем, связанных с сетью.

6. Htop – Контроль процессов Linux

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

7. Iotop – Linux монитор дискового ввода/вывода

Iotop – это программа наподобие команд top и htop, Но её функция заключается в учёте и отображении в реальном времени процессов, которые читают/записывают (I/O) на диск. Этот инструмент весьма полезен для отображения процессов, которые обращаются к файловой системе и для поиска того процесса, который интенсивно использует диск для чтения или записи.

8. Iostat – Статистика ввода/вывода

IoStat – это простой инструмент, который собирает и показывает статистику по системному вводу и выводу на устройства хранения. Этот инструмент часто используется для отслеживания проблем производительности, в том числе на устройствах, локальных дисках, удалённых дисках таких как NFS. Программа по умолчанию недоступна. Она включена в пакет sysstat, т.е. для её использования нужно установить этот пакет.

9. IPTraf – Мониторинг реального времени IP LAN

IPTraf – это сетевая (IP LAN) консольная утилита мониторинга реального времени для Linux. Она собирает различную информацию, такую как прошедший по сети IP трафик, включая информацию о TCP флагах, ICMP подробности, обрывы трафика TCP/UDP, пакеты TCP подключений и счётчик байтов. Она также собирает общую и подробную статистическую информацию о TCP, UDP, IP, ICMP, не-IP, IP ошибках контрольной суммы, активности интерфейсов и т.д.

10. Psacct или Acct – Контроль пользовательской активности

Инструменты psacct или acct очень полезны для контроля активности каждого пользователя в системе. Оба демона запускаются в фоне и внимательно следят за активностью каждого пользователя системы, а также за потребляемыми ими ресурсами.

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

11. Monit – Управление и мониторинг процессов и служб Linux

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

Она мониторит такие службы как Apache, MySQL, Mail, FTP, ProFTP, Nginx, SSH и т.д. Системный статус можно посмотреть из командной строки или используя её собственный веб-интерфейс.

  • Бесплатная, с открытым исходным кодом, лицензия AGPL, написана на C.
  • Может быть запущен из интерфейса командной строки или через специальный веб-интерфейс.
  • Очень эффективная в контроле за всем программным обеспечением и службами на вашей системе.
  • Приятный веб-интерфейс с красивыми графиками использования центрального процессора и оперативной памяти.
  • В аварийных ситуациях Monit может самостоятельно принять меры.
  • Многое другое.

Веб-интерфейс доступен по адресу http://localhost:2812/ (для локального компьютера, для удалённых систем localhost замените на IP вашего сервера).

Учётные данные по умолчанию для входа в Monit это пользователь ‘admin’ с паролем ‘monit’.

Monit – приятная программа, которая мониторит ваш Linux и Unix сервер, она может наблюдать за всем, что вы имеете на вашем сервере, от главного веб-сервера (Apache, Nginx…) до файловых разрешений, хешей файлов и веб-служб. Плюс много всего другого.

12. NetHogs – Монитор использования сети каждым процессом

NetHogs – это славная маленькая программка (наподобие команды top в Linux), которая на вкладках показывает сетевую активность для каждого процесса в вашей системе. Она ведёт учёт сетевой активности о скорости соединений и количестве используемого трафика каждой программой или каждым приложением. Для переключения между отображением скорости и количеством трафика, после запуска программы используйте клавишу m.

13. iftop – Контроль использования сети

iftop – это ещё одна утилита командной строки для мониторинга системы, она отображает часто обновляемый список, состоящий из хостов источника и назначения и используемую ширину канала для передачи данных между ними. iftop – для оценки использования сети, это как top для оценки использования ЦПУ.

14. Monitorix – Мониторинг системы и сети

Monitorix – это бесплатная, не требовательная к ресурсам утилита, которая предназначена для контроля за системой и сетевыми ресурсами в серверах Linux/Unix настолько, насколько это возможно. Она имеет встроенный HTTP веб-сервер, которые регулярно собирает системную и сетевую информацию и отображает её в графиках. Программа следит за нагрузкой на систему и использованием ресурсов, распределением памяти, здоровьем диска, системными сервисами, сетевыми портами, почтовой статистикой (Sendmail, Postfix, Dovecot и пр.), MySQL статистикой и многим другим. Программа предназначена для контроля общей производительности системы и помогает в обнаружении сбоев, узких мест, аномальной активности и т.д.

15. Arpwatch – Контроль Ethernet активности

Arpwatch – это программа, которая предназначена для контроля преобразования адресов (изменения MAC и IP адресов) сетевого трафика Ethernet в сети Linux. Она непрерывно наблюдает за Ethernet трафиком и создаёт журнал изменений в сети пар IP и MAC адресов вместе с метками времени. У неё также есть функция по отправки администратору email предупреждений, когда добавляются или изменяются пары. Она крайне полезна для выявления в сети ARP спуфинга.

Подробности о программе arpwatch: https://kali.tools/?p=241

16. Suricata – Контроль сетевой безопасности

Suricata – это движок следующего поколения для выявления и предотвращения вторжений для Linux, FreeBSD and Windows.

17. VnStat PHP – Мониторинг использования сети

VnStat PHP – это приложение на основе веб-интерфейса для самых популярных инструментов сети под названием vnstat. VnStat PHP мониторит использование сетевого трафика в симпатичном графическом режиме. Он отображает общее количество использование входящего и исходящего трафика по часам, дням, месяцам и отчёт с полной сводной.

18. Nagios – Мониторинг сети/сервера

Nagios – мощная система мониторинга, которая даёт возможность сетевому/системному администраторы выявить и разрешить проблемы с сервером до того, как они доставят серьёзные проблемы. С системой Nagios, администраторы могут следить за удалёнными Linux, Windows, свичерами, роутерами и принтерами в одном окне. Она показывает критические предупреждения и даёт знать, если что-то пошло не так в вашей сети/сервере, что является предпосылкой для начала процессов исправления до того, как проблема по-настоящему проявила себя.

19. Nmon: Производительность системы Linux

Nmon – инструмент контроля производительности, который используется для наблюдения за всеми ресурсами Linux, к которым относится центральный процессор, память, использование диска, сеть, топ процессов, NFS, ядро и многое другое. Этот инструмент поставляется с двумя режимами: Online Mode и Capture Mode.

Online Mode используется для мониторинга в реальном времени, а Capture Mode сохраняет вывод в формате CSV для последующей обработки.

20. Collectl – Набор инструментов для контроля производительности

Collectl – это ещё одна мощная и богатая функциями утилита командной строки, она может использоваться для сбора информации о ресурсах системы Linux, таких как использование центрального процесора, памяти, сети, инод, процессов, nfs, tcp и многого другого.

21. Glances – Мониторинг системы в реальном времени

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

  • ЛицензияLGPL, написан на Python.
  • Кроссплатформенный, работает на Windows, Mac, BSD и Linux.
  • Доступен в официальных дистрибутивах большинства Linux.
  • Предоставляет много информации о вашей системе.
  • Сделан с использованием curses.

22. Netdata

Netdata – это чрезвычайно оптимизированная утилита Linux, которая в реальном времени (посекундно) обеспечивает мониторинг производительности систем Linux, приложений, SNMP устройств и т.д. и показывает полностью интерактивные графики, которые через веб-браузер показывают абсолютно все собранные значения для их анализа.

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

Что мониторит Netdata:

  • Общее использование и использование каждого ядра ЦПУ, прерывания (interrupts), отложенные прерывания (softirqs) и частоту.
  • Общую память, оперативную память, использование раздела подкачки (Swap) и Kernel
  • Операции ввода/вывода на диск (по каждому диску: скорость, операции, backlog, utilization и пр.)
  • Мониторинг сетевых интерфейсов, включая: скорость пропускания, пакеты, ошибки, отброшенное и пр.)
  • Мониторы подключений, события, ошибки и пр. файервола Linux Netfilter / iptables
  • Процессы (запущенные, заблокированные, форки, активные и пр.)
  • Системные приложения с деревом процессов (ЦПУ, память, swap, чтение/запись на диск, потоки и т.д.)
  • Мониторинг статуса Apache и Nginx с mod_status.
  • Мониторинг баз данных MySQL: запросы, обновления, блокировки, проблемы, потоки и т.д.
  • Очередь сообщений почтового сервера
  • Мониторинг пропускной способности и запросов Squ >

23. Sarg – Мониторинг пропускной способности Squid

Sarg (Squid Analysis Report Generator, т.е. генератор отчётов анализа для Squid) – это бесплатный, с открытым исходным кодом инструмент, который действует как инструмент контроля для вашего прокси сервера Squid, она создаёт отчёты о пользователях вашего прокси сервера Squid, IP адресах, сайтах, которые они посетили и некоторая другая информация.

  • Лицензия GPL 2, программа переведена на много языков.
  • Работает в Linux и FreeBSD.
  • Генерирует отчёты в формате HTML.
  • Очень проста в установке и использовании.

24. Модуль Apache mod_status – Мониторинг статуса Apache

Модуль Apache mod_status – это модуль Apache, который позволяет вам контролировать worker статусы веб-сервера Apache. Он генерирует отчёты в простом для чтения HTML формате. Он показывает вам статус всех worker, как много каждый из них использует центральный процессор, какие запросы в данный момент обрабатываются, количество работающих и неработающих worker.

25. Sysstat – Система контроля производительности всё-в-одном

Ещё один инструмент мониторинга для вашей системы Linux. На самом деле Sysstat – это не команда, это название проекта. В действительности Sysstat – это пакет, который включает много инструментов слежения за производительностью, к ним относятся iostat, sadf, pidstat и много других инструментов, которые показывают вам множество статистической информации о вашей ОС Linux.

  • Доступна во многих стандартных репозиториях дистрибутивов Linux.
  • Может собирать статистику об использовании RAM, CPU, SWAP. Помимо этого, способность мониторить активность ядра Linux, NFS сервера, сокетов, TTY и файловых систем.
  • Способность мониторить статистику ввода и вывода для устройств, задач и т.п.
  • Способность выводить отчёты о сетевых интерфейсах и устройствах, в том числе с поддержкой IPv6.
  • Sysstat может показать вам также статистику энергопотребления (использование, устройства, скорость вентиляторов и т.д.).
  • Многие другие функции.

26. Icinga – Мониторинг сервера следующего поколения

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

  • Как и все остальные инструменты здесь, программа бесплатна и у неё открытый исходный код.
  • Очень функциональна в слежении за всем, что у вас только может быть в сети.
  • Включена поддержка для MySQL и PostgreSQL.
  • Мониторинг реального времени с приятным веб-интерфейсом.
  • Много модулей и расширений для дополнительной функциональности
  • Много всего другого

27. Observium – Управление и контроль сети

Observium – это также инструмент контроля сети, он создан облегчить вам управления сетью сервера, имеется две версии: Community Edition, которая бесплатная и с открытым исходным кодом, а также платная коммерческая версия.

  • Программа написана на PHP с поддержкой баз данных MySQL.
  • Имеет приятные веб-интерфейс для вывода информации и данных.
  • Возможность управлять и мониторить сотни хостов по всему миру.
  • Версия от сообщества под лицензией QPL.
  • Работает на Windows, Linux, FreeBSD и других.

28. Web VMStat – Система мониторинга статистики

Web VMStat – это очень простое веб-приложение, которое предоставляет информацию о системе в реальном времени в HTML формате. Эта информация включает данные от центрального процессора, оперативной памяти, файла подкачки, ввода/вывода.

29. PHP Server Monitoring

В отличие от других инструментов в этом списке, PHP Server Monitoring – это скрипт веб-сервера, написанный на PHP. Он помогает вам с лёгкостью управлять вашими веб-сайтами и хостами, он поддерживает базу данных MySQL, выпущен под лицензией GPL3.

  • Хороший веб-интерфейс.
  • Возможность отправлять вам уведомления по Email и SMS.
  • Возможность просматривать самую важную информацию о CPU и RAM.
  • Очень современная система ведения журнала для записи ошибок соединения и отправленных электронных писем.
  • Поддержка служб cronjob для помощи вам в автоматическом контроле ваших серверов и веб-сайтов.


30. Linux Dash – Мониторинг производительности сервера Linux

Linux Dash представляет собой веб-панель, которая показывает вам самую важную информацию о ваших системах Linux, к этой информации относится RAM, CPU, файловая система, запущенные процессы, пользователи, использование канала сети в реальном времени, имеется приятный графический интерфейс, программа бесплатна, у неё открытый исходный код.

31. Cacti – Мониторинг сети и системы

Cacti – это веб-интерфейс для RRDtool, он часто используется для контроля использования сети, используя SNMP (Simple Network Management Protocol), также может использоваться для контроля использования центрального процессора.

  • Бесплатен, открыт, лицензия GPL.
  • Написан на PHP в PL/SQL.
  • Инструмент является кроссплатформенным, работает на Windows и Linux.
  • Управление пользователями; вы можете создать различные пользовательские аккаунты для Cacti.

32. Munin – Сетевой мониторинг

Munin – это также графический веб-интерфейс для RRDtool, написан на Perl, лицензия GPL. Munin – это хороший инструмент для мониторинга систем, сетей, приложений и служб. Он работает на Unix-подобных операционных системах и имеет замечательную систему плагинов; доступно более 500 различных плагинов для мониторинга на вашей машине всего, что вы хотите. Доступна система уведомлений, для отправки сообщений администратору когда возникла ошибка или когда проблема разрешилась.

33. Wireshark – Анализатор сетевых протоколов

Программа отличается от других из этого списка, Wireshark используется для анализа сетевых пакетов и для мониторинга сетевых подключений. Написана на C с библиотекой GTK+, выпущена под лицензией GPL.

  • Кроссплатформенная: работает под Linux, BSD , Mac OS X и Windows.
  • Поддержка командной строки: имеется версия с интерфейсом командной строки.
  • Возможность с лёгкостью захватывать VoIP звонки, USB трафик, сетевые данные для анализа.
  • Доступна в большинстве репозиториев дистрибутивов Linux.

34. smem – Создание отчётов по использованию памяти

smem сообщает об использовании физической памяти, принимая во внимание общие страницы памяти. Неподелённая память показывается как USS. Общая память делится поровну между процессами, разделяющими её. Неподелённая память (USS), плюс доля процесса в совместной памяти показывается как PSS. USS и PSS включают только физическое использование памяти. Они не включают память, выгруженную на диск в файл подкачки.

Память может показываться по процессам, по пользователям, mapping или по всей системе. Доступен как текстовый режим вывода, так и графический.

35. nload – Мониторит сетевой трафик и использование сети

nload – это консольное приложение, которое в реальном времени мониторит сетевой трафик и использование полосы пропускания. Программа визуализирует входящий и исходящий трафик используя два графика и предоставляя дополнительную информацию, такую как переданные данные и минимальное/максимальное использование сети.

36. gkrellmd – Мониторинги сервера Krell

gkrellmd прослушивает подключения от клиентов gkrellm. Когда клиент gkrellm подключается к серверу gkrellmd, все встроенные мониторинги собирают данные с сервера.

37. jnettop – Просмотр хостов/портов, забирающих большинство сетевого трафика

jnettop – это консольная утилита наподобие top, но для визуализации трафика. jnettop захватывает проходящий через хост трафик и показывает потоки с наибольшим использованием полосы пропускания. Результатом является листинг сетевых соединений, отсортированных по хостам и портам, с количеством прошедших байт и потреблённой полосой пропускания.

38. dnstop – Показывает различные таблицы DNS трафика в вашей сети

dnstop – это маленький инструмент, который прослушивает устройство или парсит файл, собирает и печатает статистику по DNS трафику локальной сети.

39. ntopng – Инструмент с веб-интерфейсом по анализу трафика и текущих соединений.

ntopng показывает текущее использование сети. Программа показывает список хостов, которые в данное время используют сеть и создаёт отчёты относительно (IP и не-IP) трафика сгенерированного и полученного трафика каждым хостом.

ntopng может выступать как отдельная законченная программа, которая и собирает и отображает данные, или как инструмент для графического интерфейса. Для просмотра данных, захваченных программой ntopng требуется веб-браузер.

40. mtr – Инструмент диагностики сети

Объединяет функциональность traceroute и ping в одном инструмент командной строки.

41. atop – Продвинутый монитор системы и процессов

Программа atop – это интерактивный монитор для просмотра загруженности системы Linux. Она показывает занятость самый критичных (с точки зрения производительности) аппаратных ресурсов на системном уровне, например, центральный процессор, диск и сеть.

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

42. saidar – Программа для отображения живой системной статистики

saidar – это программа на основе curses для просмотра системной статистики, доступной через libstatgrab. Статистика включает ЦПУ, процессы, нагрузку, память, подкачку, сетевой ввод/вывод, дисковый ввод/вывод и информацию о файловой системе.

43. ps – Создание слепка текущих процессов

ps показывает информацию о процессах, имеются разные варианты вывода, в том числе в виде дерева, с разным набором информации, возможен выбор процессов по определённым критериям.

44. ngxtop – Метрики реального времени для сервера nginx

ngxtop парсит логи доступа вашего nginx и выводит полезные, похожие на вывод программы top метрики вашего сервера nginx. Таким образом вы можете сказать, что происходит с вашим сервером в реальном времени.

45. sysdig – Исчерпывающий инструмент устранения неполадок в системе и процессах

sysdig – это инструмент для решения системных проблем, анализа и исследования. Он может использоваться для захвата, фильтрации и декодирования системных вызовов и других событий ОС.

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

sysdig включает мощный язык фильтрации, имеет настраиваемый вывод и может быть расширена за счёт скриптов Lua, которые называются chisel.

46. csysdig – ncurses интерфейс для sysdig

csysdig экспортирует функциональность sysdig через интуитивный и мощный пользовательский интерфейс, основанный на ncurses.

csysdig создана похожей на инструменты вроде top и htop, но программа предлагает более богатую функциональность, включая:

  • Поддержку живого анализа и файлов трассировки sysdig. Файлы трассировки могут быть с этой же машины или с другой машины.
  • Видимость широкого диапазона метрик, включая центральной процессор, память, дисковый вводы/вывод, сетевой вводы/вывод.
  • Возможность наблюдать активности ввода/вывода для процессов, файлов, сетевых подключений и прочего.
  • Возможность углубляться в процессы, файлы, сетевые соединения и многое другое для более глубокого изучения их поведения.
  • Полная поддержка настройки под пользователя.
  • Поддержка языка фильтров sysdig.
  • Поддержка LXC.
  • csysdig может работать в любом терминале и имеет поддержку цветов и ввода мышью.

47. BWTop – Контроль сетевой активности

BWTop – это инструмент с интерфейсом командной строки для контроля используемой полосы пропускания на сетевом интерфейсе.

48. Zabbix – Система мониторинга клиент/сервер с большим количеством функций

Zabbix используется для:

  • Мониторинга высокого уровня IT служб;
  • Централизованного мониторинга ваших серверов и приложений;
  • Мониторинга устройств с поддержкой SNMP;
  • Мониторинга производительности (нагрузка процессов, сетевая активность, использование памяти, ОС параметры и т.д.);
  • Визуализация данных.

49. apachetop – Инструмент мониторинга Apache в реальном времени

ApacheTop просматривает файлы журнала, генерируемые Apache и генерирует понятный человеку вывод в реальном времени.

50. ksar – Графический инструмент sar

ksar может строить графики для вывода sar. Работает на Linux, Ьac и Solaris. Графики статистики sar могут выводиться в PDF файл.

51. iperf3 – Интсрумент измерения пропускной способности сети

iperf3 может тестировать пропускную способность сети как для TCP, так и для UDP. Для выполнения теста с iperf3 пользователь должен настроить программу на стороне сервера и на стороне клиента.

52. dstat – Универсальный инструмент статистики ресурсов

Dstat – это универсальная замена для vmstat, iostat и ifstat. Dstat преодолевает некоторые ограничения и добавляет некоторые дополнительные функции.

Dstat позволяет вам мгновенно просматривать все системные ресурсы, вы можете, например, сравнить использование диска в комбинации с прерываниями вашего IDE контроллера или сравнить пропускную способность сети в комбинации с пропускной способностью диска (в том же интервале).

53. rainbarf – Полоса диаграммы со статистиками CPU/RAM/батереи для tmux

Графики использования ресурсов добавляются в строку статуса tmux.

54. free – Отображение количества свободной и используемой памяти в системе

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

55. tree – Список содержимого директорий в виде дерева

Tree – это программа для рекурсивного показа содержимого директорий в виде дерева.

56. uptime – Говорит, как давно запущена система

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

Это точно такая же информация, которая отображается в строке заголовка программы w.

57. ifstat – Сообщает статистику интерфейса

Ifstat – это маленький инструмент для отображения статистики активности интерфейса, в точности как iostat/vmstat делают для других системных статистик.

Здесь были представлены самые важные инструменты для мониторинга Linux/Unix машин. Конечно, существуют многие другие инструменты, но эти самые известные. Я не сомневаюсь, что этот список можно ещё долго продолжать. Поэтому если у вас есть свои любимые инструменты, которые не попали сюда, то поделитесь ими в комментариях.

treehel

Илья Корнейчук

Гаджеты, технологии и тренды

Утилиты для мониторинга Linux

Во первых, важная новость! Продается хорошо собранный велик на основе хард-тейл рамы. Хочу 13 000. Кому нужны подробности, в камменты

Наткнулся на грамотную статью про утилиты для мониторинга Linux. Решил спереть.

20 средств мониторинга системы Linux, о которых должен знать каждый системный администратор

Автор: Vivek Gite

Дата публикации: июнь 2009 г.

Дата перевода: 21 октября 2009 г.

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

  1. Узкие места общего характера
  2. Узкие места, связанные с диском (дисковой памятью)
  3. Узкие места, связанные с процессором и оперативной памятью
  4. Узкие места, связанные с сетью

№ 1: top – команда выдачи данных об активности процессов

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

Рис.1: Linux команда — top

Наиболее часто используемые горячие клавиши

При работе команды top можно воспользоваться следующими полезными горячими клавишами:

Горячая клавиша Использование
t Включение и выключение выдачи на экран суммарных данных.
m Включение и выключение выдачи на экран информации об использовании памяти.
A Сортировка строк по максимальному потреблению различных системных ресурсов. Полезна для быстрой идентификации задач, для которых в системе не хватает ресурсов.
f Вход в меню интерактивного конфигурирования данных, выдаваемых на экран командой top. Полезна для настройки команды top для выполнения специфической задачи.
o Позволяет вам интерактивно задавать порядок строк, выдаваемой командой top.
r Изменение приоритета процессов с помощью команды renice.
k Удаление процесса с помощью команды kill.
z Переключение между цветным / монохромным вариантом выдачи изображения.

№ 2: vmstat – активность системы, информация о системе и аппаратных ресурсах

Команда vmstat выдает информационный отчет о активности процессов, памяти, свопинга, поблочного ввода/вывода, прерываний и процессора.

Пример вывода данных:

Выдача статистики использования памяти

Получение данных об активности / неактивности страниц памяти

№ 3: w – определяем, кто зарегистрирован и что они делают

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


Пример вывода данных:

№ 4: uptime – сообщает, как долго работает система

Команду uptime можно использовать с тем, чтобы определить, как долго работает сервер.
Выдаются: текущее время, сколько времени работает система, сколько в текущий момент
зарегистрировано пользователей и какова средняя нагрузка на систему в последние 1, 5 и 15 минут.

1 можно рассматриваться как оптимальное значение нагрузки. Нагрузка может меняться от системы
к системе. Для системы с одним процессором приемлемым может считаться значение от 1 до 3, для
мультипроцессорных систем – от 6 до 10.

№ 5: ps – список процессов

Команда ps выдаст краткий список текущих процессов. Для того, чтобы выбрать все процессы, используете параметр -A или –e:

Пример вывода данных:

Команда ps подобна команде top, но выдает больше информации.

Показать больше данных

Для того, чтобы включить режим максимальной выдачи данных (будут показаны аргументы командной строки, переданные в процесс):

Показать потоки (LWP и NLWP)

Показать потоки после процессов

Выдать список всех процессов на сервере

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

Выдать информацию о параметрах безопасности

Показать каждый процесс для пользователя Vivek

Настроить выдачу данных в формате, определенном пользователем

Показывать ID процессов, запущенных под Lighttpd

Показать имя для PID 55977

Выдать 10 процессов, потребляющих наибольшее количество памяти

Выдать 10 процессов, потребляющих наибольший ресурс процессора

№ 6: free – использование памяти

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

Пример вывода данных:

№ 7: : iostat – средняя загрузка процессора, активность дисков

Команда iostat выдает статистику использования процессора, а также статистику ввода/вывода для устройств, разделов и сетевых файловых систем (NFS).

Пример вывода данных:

№ 8: sar – сбор и выдача данных о системной активности

Команда sar используется для сбора информации о системной активности и выдачи ее в виде отчета или ее сохранения. Чтобы увидеть значение считчика сетевой активности, введите:

Для того, чтобы увидеть значения счетчиков сетевой активности, начиная с 24-го:

С помощью команды sar Вы можете также выдавать данные в режиме реального времени:

Пример вывода данных:

№ 9: mpstat – использование мультипроцессора

Команда mpstat выводит данные об активности каждого имеющегося в наличие процессора, процессор 0 будет первым. Команда mpstat -P ALL выводит данные о среднем использовании ресурсов для каждого из процессоров:

Пример вывода данных:

№ 10: pmap – использование процессами оперативной памяти

Команда pmap выдает данные о распределении памяти между процессами. Использование этой команды позволит найти причину узких мест, связанных с использованием памяти.

Для того, чтобы получить информацию об использовании памяти процессом с pid # 47394, введите:

Пример вывода данных:

Последняя строка очень важна:

  • mapped: 933712K общее количество памяти, отведенного под файлы
  • writeable/private: 4304K общее количество приватного адресного пространства
  • shared: 768000K общее количество адресного пространства, которое данный процесс использует совместно другими процессами.

№ 11 и № 12: netstat и ss – сетевая статистика

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

№13: iptraf – сетевая статистика в режиме реального времени

Команда iptraf запускает цветной интерактивный монитор, следящий за сетевыми IP. Этот монитор сетевых IP базируется на команде ncurses, которая выдает различную сетевую статистику, в том числе информацию о TCP, ведет подсчет UDP, выдает сведения о ICMP и OSPF, информацию о нагрузке на Ethernet, статистику по узлам сети, данные об ошибках контрольных сумм пакетов IP и многое другое. Монитор предоставляет в удобном для чтения виде следующие данные:

  • Статистику сетевого трафика по TCP подключениям
  • Статистику IP трафика по сетевым интерфейсам
  • Статистику сетевого трафика по протоколам
  • Статистику сетевого трафика по портам TCP/UDP и по размерам пакетов
  • Статистику сетевого трафика по адресам протоколов второго уровня

Рис.02; Общая статистика по интерфейсам: статистика трафика IP по сетевым интерфейсам

Рис.03: Статистика сетевого трафика по TCP подключениям

№14: tcpdump – детальный анализ сетевого трафика

Команда tcpdump – простая команда, выдающая дамп сетевого трафика. Однако, вам нужно
хорошо понимать протоколы TCP/IP для того, чтобы использовать это средство. Например, для того, чтобы показать информацию о трафике DNS, введите следующее:

Для того, чтобы показать все IPv4 HTTP пакеты, идущие на порт и с порта 80, т.е. выдать только те пакеты, которые содержат данные, и, например, не учитывать пакеты SYN и FIN и пакеты ACK-only, введите следующее:

Для того, чтобы показать все сессии FTP для адреса 202.54.1.5, введите следующее:

Для того, чтобы показать все сессии HTTP для адреса 192.168.1.5, введите следующее:

Введите следующую команду и используйте для просмотра подробностей программу анализа wireshark:

№ 15: strace – системные вызовы

Трассировка системных вызовов и сигналов. Это средство полезно для отладки веб сервера и решения других серверных проблем. О том, как использовать это средство и для чего нужна трассировка процессов, смотрите по ссылке strace.

№ 16: Директорий /Proc – различная статистика ядра

В директории /proc имеется подробная информация о различных устройствах и ядре Linux. Подробности смотрите в документации Linux kernel /proc. Самые общие примеры:

№ 17: Nagios – мониторинг сервера и сети

Nagios – популярное open source приложение, предназначенное для мониторинга компьютерных систем и сетей. Вы можете легко следить за всеми своими хостами, сетевым оборудованием и сервисами. Приложение может посылать предупреждающее сообщение, когда что-то идет не так, как надо, а затем – еще одно, когда ситуация исправляется. Имеется приложение FAN — «Fully Automated Nagios» («Полностью автоматизированный Nagios»). Назначение FAN – обеспечить установку Nagios, в том числе и инструментария, предоставляемого сообществом Nagios. FAN распространяется в виде CD образа в стандартном формате ISO, что упрощает установку сервера Nagios.
Вдобавок на дистрибутиве имеется масса инструментальных средств, повышающих практическую отдачу от использования Nagios.

№ 18: Cacti – инструментальное веб приложение, используемое для мониторинга

Пакет Cacti является полностью сетевым графическим решением, созданным для добавления графической оболочки к мощному средству хранения данных RRDTool. В пакете Cacti уже «из коробки» имеются средства быстрой регистрации, графические шаблоны с расширенными возможностями, множество методов для сбора данных и пользовательские функции управления. Все это помещено в интуитивно понятный и удобный для использования интерфейс, что имеет смысл при установке в локальных сетях вплоть до сложных сетей с сотнями устройств. Пакет предоставляет данные о сети, процессоре, памяти, зарегистрированных пользователях, серверах Apache, DNS и многое другое. По следующей ссылке смотрите описание, как под CentOS / RHEL установить и сконфигурировать сетевое графическое средство Cacti.

№ 19: KDE System Guard – графический монитор, выдающий сведения о системе в режиме реального времени

KSysguard – сетевое приложение для KDE, осуществляющее мониторинг системы и задач.
Это средство может работать в ssh сессии. В нем имеется масса возможностей, например, такие, как клиент/серверные технологии, что позволяет осуществлять мониторинг локальных и удаленных хостов. В графической оболочке используются так называемые сенсоры, которые собирают информацию, выдаваемую приложением. Сенсор может возвращать либо простое значение, либо более сложно сформированные данные, например, таблицы. Для каждого вида данных предлагается один или несколько вариантов выдачи данных. Изображаемые данные сгруппированы в виде отдельных листов, которые можно сохранять и загружать независимо друг от друга. Таким образом, KSysguard не только менеджер простых задач, но также и мощное средство для управления большим серверным хозяйством.

Рис.05: KDE System Guard (рисунок взят из Википедии)

Подробности использования смотрите по следующей ссылке: Руководство по KSysguard.

№ 20: Gnome System Monitor – графическое средство выдачи информации о системе в режиме реального времени

Приложение System Monitor позволит вам получить базовую информацию о системе, а также следить за системными процессами, использованием системных ресурсов и системными файлами. Вы также можете использовать System Monitor для изменения характеристик своей системы. Хотя это не такое мощное приложение, как System Guard для KDE, оно предоставляет основную информацию, которая может быть полезной для пользователей – новичков:

  • Отображается различная основная информация об аппаратном и программном обеспечении компьютера
  • Версия ядра Linux
  • Версия GNOME
  • Аппаратные средства
  • Установленная оперативная память
  • Процессоры и их скорость
  • Статус системы
  • Имеющееся в наличии дисковое пространство
  • Процессы
  • Память и пространство своппинга
  • Использование сети
  • Файловые системы
  • Список всех смонтированных файловых систем вместе с основной информацией о каждой из них

Рис.6: Приложение Gnome System Monitor

Бонус: Дополнительные инструментальные средства

И еще несколько инструментальных средств:

  • nmap — сканирует ваш сервер на предмет открытых портов..
  • lsof — перечисляет открытые файлы, сетевые соединения и еще многое.
  • ntop — инструментальное веб средство ntop является наилучшим средством, следящим за использованием сети, причем это делается точно так, как с помощью команды top просматриваются процессы, т.е. это программное обеспечение мониторинга сетевого трафика. Вы можете следить за состоянием сети и распределением трафика по различным протоколам, таким как UDP, TCP, DNS, HTTP и другим.
  • Conky — Еще одно хорошее средство мониторинга, предназначенное для использования в X Window. Оно хорошо конфигурируемое и позволяет следить за многими системными переменными, в том числе состоянием процессора, памяти, пространства свопинга, дисковыми носителями, температурой, процессами, сетевыми интерфейсами, зарядом батареи, системными сообщениями, поступающими письмами и т.д.
  • GKrellM — Может использоваться для мониторинга состояния процессоров, оперативной памяти, жестких дисков, сетевыми интерфейсами, локальными и удаленными почтовыми ящиками и многими другими вещами.
  • vnstat — vnStat является консольным монитором сетевого трафика. Она позволяет для выбранных интерфейсов вести журнал сетевого трафика в течение часов, дней и месяцев.
  • htop — улучшенная версия
    интерактивного просмотрщика процессов top. htop позволяет просматривать процессы в виде дерева процессов.
  • mtr — mtr объединяет в одной сетевой инструментальной программе функциональность программ traceroute и ping.
  • Не упустил ли я чего-либо? Пожалуйста, добавьте в комментариях свои любимые средства мониторинга системы.

    Комментарии

    Приведены выборочно только те, в которых сообщается об
    инструментальных программах, не указанных в основном списке –
    прим.пер.

    № 3, Chris: … для систем с небольшим количеством машин я рекомендую использовать Munin. Его легко устанавливать и конфигурировать. Мое любимое средство мониторинга linux кластера — Ganglia.

    № 4, Ftaurino: Еще один полезный инструмент — dstat ,
    который выдает столько же данных, как вместе взятые vmstat, iostat, ifstat и netstat, и даже больше…

    № 10, Amr El-Sharnoby: Я убедился, что самое лучшее средство для отслеживания
    узких мест, связанных с процессами, процессором, памятью и жесткими дисками, причем все в одном,
    – это atop… Но само средство может вызвать массу проблем на сильно загруженных серверах,
    поскольку учет процессов идет непрерывно и сервис работает постоянно…

    Для того, чтобы в системах RHEL, CentOS использовать это средство эффективно, выполните следующее:

    1 — подключите rpmforge repo,

    2 — установите atop с помощью # yum

    3 – уничтожьте процесс с помощью # killall atop,

    4 – отключите atop с помощью # chkconfig,

    5 – удалите rf /tmp/atop.d/ и /var/log/atop/,

    6 – после это не запускайте его с помощью команды «atop», вместо этого используйте команду #ATOPACCT=»atop».


    Этот инструмент сэкономил мне сотни часов времени, помог найти узкие места и решить связанные с ними проблемы …

    № 14, Cristiano: … хотелось бы добавить IFTOP, это действительно простое и не требующее значительных ресурсов средство, оно очень полезно, когда Вы хотите узнать, откуда был последний доступ к серверу и куда идет трафик…

    № 21, Ponzu: vi – инструметальное средство (хорошо известный мощный текстовый редактор — прим. пер.), используемое для проверки и модификации практически любого конфигурационного файла.

    № 22, Eric Schulman: … стоит упомянуть о dtrace, которое пригодится требовательным хакерам, желающим больше узнать об операционной системе и о внутренней структуре ее программ…

    № 25, Adrian Fita: … мне бы хотелось добавить iotop, отслеживающий использование диска различными процессами, и jnettop – очень простое средство, отслеживающее разделение ширины сетевого канала между различными подключениями в системе Linux …

    № 27, Praveen K: … я бы добавил команды whoami ,who am i, finger, pinky , id …

    № 29, Mathieu Desnoyers: … еще инструмент который, как мне кажется, пропущен в этом списке, — это LTTng. Это общесистемное средство трассировки, которое поможет разобраться со сложными проблемами, возникающими в многопоточных многопроцессорных приложениях, многократно обращающихся к ядру. Проект доступен по ссылке http://www.lttng.org.
    Трасировщик входит в состав последних версий дистрибутивов SuSE, WindRiver, Monta Vista и STLinux. Стандартный способ его использования – установить пропатченное ядро. Оно идет вместе с анализатором трассировок LTTV, который является прекрасным средством слежения за поведением системы…

    № 33, Kburger: … если Вы обсуждаете веб сервер, то прекрасное средство следить за активностью сервера Apache — apachetop

    № 34, Ram: … Вы забыли самое важное — net-snmpd. С его помощью Вы можете собрать сырые данные. Затем с помощью snmpwalk и скриптов Вы можете сделать свой собственный веб NMS, который будет собирать обычные данные, такие как прохождение пингов, использование дискового пространства, падение сервисов…

    № 35, Kartik Mistry: …»iotop» – прекрасное средство, которое следовало бы включить в список. Я очень часто использую «vnstat» для отслеживания закачек данных …

    № 37, Feilong: … обратите внимание на очень мощное средство, называемое nmon. Я использую его в системе AIX IBM, но сейчас оно работает на всех современных системах GNU/linux…

    № 40, Ken McDonell: …Если ваша «система » большая и / или распределенная и вопросы производительности, которыми Вы занимаетесь, сложные, вам желательно использовать Performance Co-Pilot (PCP). В нем Вы получите все данных, которые можно получить с помощью упомянутых вами инструментальных средств (и даже больше), его можно расширить добавляя новые приложения и слои сервисов, он работает по сети, пригоден для оценки кластеров и выдает как информацию в режиме реального времени, так и выполняет ретроспективный анализ. Смотрите http://www.oss.sgi.com/projects/pcp . PCP входит в состав дистрибутивов на основе Debian и в дистрибутив SUSE; вероятнее всего в ближайшем будущем он появится в дистрибутивах RH. В качестве бонуса PCP может выполнять мониторинг платформ не на базе Linux (Windows и некоторые производные от систем Unix).

    № 45. Aleksey Tsalolikhin: … я бы еще упомянул «ngrep» – сетевой (network) grep…

    № 48, Komradebob: …удивлен, что среди предложений не обнаружил следующий инструментарий: bmon – отображает / отслеживает в режиме реального времени сетевую активность / ширину пропускания канала; etherape – отличный визуальный индикатор, показывающий сетевой трафик; wireshark – tcpdump на стероидах; multitail – отслеживание в одном терминальном окне состояния многих файлов; swatch – отслеживает состояние регистрационных файлов и выдает оповещения.

    № 50, Jay: … phpsysinfo – еще один прекрасный и не требующий много ресурсов веб инструмент, осуществляющий мониторинг. Очень прост в настройке и использовании …

    № 51, Manuel Fraga: Osmius — инструментальное средство мониторинга (open source) — C++ и Java. С невероятной производительностью мониторит все, что подключается к сети …

    № 55, Balaji: … trafmon – еще одно полезное средство …

    № 56, Stefan: А для тех, кому нравятся несложные и компактные графические средства измерения, — xosview +disk -ints –bat

    № 63, Tman: Для профессионального мониторинга сетей используйте Zenoss: Zenoss Core (open source): http://www.zenoss.com/product/network-monitoring

    № 65, Eddy: Я не вижу в списке ifconfig или iwconfig

    Встроенные средства мониторинга системы Linux

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

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

    top – команда выдачи данных об активности процессов

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

    Наиболее часто используемые горячие клавиши

    Реклама спонсоров Группа компаний СимТрейд: http://www.sim-trade.ru/numbers/megafon/ — красивые номера Мегафон.

    При работе команды top можно воспользоваться следующими полезными горячими клавишами:

    t — включение и выключение выдачи на экран суммарных данных.
    m — Включение и выключение выдачи на экран информации об использовании памяти.
    A — cортировка строк по максимальному потреблению различных системных ресурсов. Полезна для быстрой идентификации задач, для которых в системе не хватает ресурсов.
    f — вход в меню интерактивной настройки данных, выдаваемых на экран командой top. Полезна для настройки команды top для выполнения специфической задачи.
    o — позволяет вам интерактивно задавать порядок строк, выдаваемой командой top.
    r — изменение приоритета процессов с помощью команды renice.
    k — удаление процесса с помощью команды kill.
    z — переключение между цветным / монохромным вариантом выдачи изображения.

    vmstat – активность системы, информация о системе и аппаратных ресурсах

    Команда vmstat выдает информационный отчет о активности процессов, памяти, свопинга, поблочного ввода/вывода, прерываний и процессора.

    # vmstat 3
    Пример вывода данных:

    Выдача статистики использования памяти

    # vmstat -m
    Получение данных об активности / неактивности страниц памяти

    w – определяем, кто зарегистрирован и что они делают

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

    Пример вывода данных:

    uptime – сообщает вам, как долго работает система без перезагрузок

    Команду uptime можно использовать с тем, чтобы определить, как долго работает сервер. Выдаются: текущее время, сколько времени работает система, сколько в текущий момент зарегистрировано пользователей и какова средняя нагрузка на систему в последние 1, 5 и 15 минут.

    # uptime
    Выдаются данные:

    18:02:41 up 145 days, 23:45, 2 user, load average: 0.00, 0.00, 0.00
    1 можно рассматриваться как оптимальное значение нагрузки. Нагрузка может меняться от системы к системе. Для системы с одним процессором приемлемым может считаться значение от 1 до 3, для мультипроцессорных систем – от 6 до 10.

    ps – список процессов

    Команда ps выдаст краткий список текущих процессов. Для того, чтобы выбрать все процессы, используете параметр -A или –e:

    # ps -A
    Пример вывода данных:

    PID TTY TIME CMD
    1 ? 00:00:02 init
    2 ? 00:00:02 migration/0
    3 ? 00:00:01 ksoftirqd/0
    4 ? 00:00:00 watchdog/0
    5 ? 00:00:00 migration/1
    6 ? 00:00:15 ksoftirqd/1
    …….
    12853 ? 00:00:00 cifsoplockd
    12854 ? 00:00:00 cifsdnotifyd
    14231 ? 00:10:34 lighttpd
    14232 ? 00:00:00 php-cgi
    54981 pts/0 00:00:00 vim
    55465 ? 00:00:00 php-cgi
    55546 ? 00:00:00 bind9-snmp-stat
    55704 pts/1 00:00:00 ps

    Команда ps подобна команде top, но выдает больше информации.

    Показать больше данных

    # ps -Al включить режим максимальной выдачи данных (будут показаны аргументы командной строки, переданные в процесс)

    # ps -AlF показать потоки (LWP и NLWP)

    # ps -AlFH показать потоки после процессов

    # ps -AlLm Выдать список всех процессов на сервере

    # ps ax или # ps axu Выдать дерево процессов

    # ps -ejH
    # ps axjf
    # pstree Выдать информацию о параметрах безопасности

    # ps -eo euser,ruser,suser,fuser,f,comm,label
    # ps axZ
    # ps -eM Показать каждый процесс для пользователя Vivek

    # ps -U vivek -u vivek u Настроить выдачу данных в формате, определенном пользователем

    # ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
    # ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
    # ps -eopid,tt,user,fname,tmout,f,wchan
    Показывать ID процессов, запущенных под Lighttpd

    # ps -C lighttpd -o p >

    # ps -p 5945 -o comm= Выдать 10 процессов, потребляющих наибольшее количество памяти

    # ps -auxf | sort -nr -k 4 | head -10 Выдать 10 процессов, потребляющих наибольший ресурс процессора

    # ps -auxf | sort -nr -k 3 | head -10

    free – использование памяти

    Команда free показывает общее количество свободной и используемой системой физической памяти и памяти swap, а также размеры буферов, используемые ядром.

    # free
    Пример вывода данных:

    iostat – средняя загрузка процессора, активность дисков

    Команда iostat выдает статистику использования процессора, а также статистику ввода/вывода для устройств, разделов и сетевых файловых систем (NFS).

    # iostat
    Пример вывода данных:

    Linux 2.6.18-128.1.14.el5 06/26/2009

    avg-cpu: %user %nice %system %iowait %steal %idle
    3.50 0.09 0.51 0.03 0.00 95.86

    Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
    sda 22.04 31.88 512.03 16193351 260102868
    sda1 0.00 0.00 0.00 2166 180
    sda2 22.04 31.87 512.03 16189010 260102688
    sda3 0.00 0.00 0.00 1615 0

    ss – сетевая статистика

    Команда ss используется для выдачи в дамп статистики о сокетах. Она позволяет выдавать информацию, аналогичную выдаваемой командой netstat. Подробное описание команд ss и netstat смотрите по следующим ссылкам:

    ss: выдача информации о сокетах и сетевых соединениях TCP / UDP
    Получение подробной информации о подключениях к конкретным IP адресам с помощью команды netstat

    traceroute — трассировка маршрутов

    traceroute — это утилита, благодаря которой можно найти на каком участке IP-сети произошел сбой, также ей можно исследовать IP-сети (серверы DNS, маршрутизацию, магистральный канал передачи данных и т.д.)

    Мониторинг системы

    JSystemMonitor

    Подробный мониторинг системных ресурсов.

    Kali Linux

    Операционная система для исследования безопасности систем.

    Landscape

    Коммерческое средство управления Ubuntu Linux.

    LavaPS

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

    Lbench

    Lbench — простое приложение для проведения нескольких сравнительных тестов оборудования. Разработано в рамках проекта kornelix GNU/Linux Software.

    Linux Easy Admin Utilities

    Несколько bash-скриптов, которые позволяют провести базовый аудит системы Linux.

    Вывод логотипа из ANSI символов и информации о системе.

    Lire — это развитый и расширяемый набор утилит и API для получения статистики и отчётов из файлов журналов. Хотя журналы могут быть любого типа, основное предназначение Lire — упрощение администрирования и наблюдения за системными службами.

    lm_sensors

    Утилита под Linux для мониторинга параметров железа, таких как: напряжения (+3.3V, +5V, +12V, -5V, -12V), температура процессора, число оборотов вентилятора и т.д.

    lnav (Logfile Navigator)

    lnav (Log File Navigator) – удобная утилита для монторинга логов на UNIX/Linux системах.

    Logcheck

    Logcheck помогает выявить проблемы и нарушения безопасности в файлах журналов, и отправляет результат вам по электронной почте.

    logrotate

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

    Logstash

    Приложение на java для сбора, фильтрации и нормализации логов.

    LParted

    LiveCD для работы с дисковыми разделами и восстановления данных.

    LSHW — Linux Hardware Lister показывает детальную информацию о компонентах компьютера: процессоре, конфигурации оперативной памяти, материнской плате, BIOS информацию, конфигурацию кеша, шины и многое другое (в комплекте с утилитой также имеется база данных оборудования с USB и PCI интерфейсами).

    Lsof — диагностическая утилита для Unix-подобных систем. Она выводит список открытых файлов (от английского LiSt Open Files).

    Мастер Йода рекомендует:  URL как элемент пользовательского интерфейса
    Добавить комментарий