Как контролировать систему с помощью Sysstat на Centos
На этой странице
- Установите Sysstat на CentOS
- Использование системного монитора Sysstat
Обычной задачей системных администраторов является мониторинг и обслуживание сервера. Это довольно легко сделать в любой момент, но как вести учет этой информации с течением времени? Одним из способов мониторинга вашего сервера является использование пакета Sysstat. gpt-ad-howtoforge_com-box-3-0;var ffid=1;var alS=1002%1000;var container=document.getElementById(slotId);container.style.width=100%;var ins=document.createElement( ins);ins.id=slotId+-asloaded;ins.className=adsbygoogle ezasloaded;ins.dataset.adClient=pid;ins.dataset.adChannel=cid;if(ffid==2){ins.dataset.fullWidthResponsive=true; }
Sysstat на самом деле представляет собой набор утилит, предназначенных для сбора информации о производительности установки Linux и записи ее с течением времени.
Его довольно легко установить, так как он входит в состав многих дистрибутивов.
Установите Sysstat на CentOS
Чтобы установить Sysstat на Centos 6 или CentOS 7, просто введите следующее:
yum install sysstat
Использование системного монитора Sysstat
Теперь у нас есть сценарии sysstat, установленные в системе. Давайте попробуем команду sar.
sar
11:00:02 AM CPU %user %nice %system %iowait %idle 11:10:01 AM all 0.00 0.00 0.00 0.00 99.99 Average: all 0.00 0.00 0.00 0.00 99.99
Сообщается несколько битов информации, таких как ядро Linux, имя хоста и дата.
Что еще более важно, показаны различные способы использования процессорного времени в системе.
%user, %nice, %system , %iowait и %idle описывают способы использования ЦП.
%user и %nice относятся к вашим программам, таким как MySQL или Apache.
%system относится к внутренней работе ядра. .
%iowait — это время, потраченное на ожидание ввода/вывода, например чтение или запись диска. Наконец, поскольку на ядро приходится 100 % рабочего времени, которое оно может запланировать, любое неиспользованное время переходит в %idle.
Приведенная выше информация отображается с интервалом в 1 секунду. Как мы можем отслеживать эту информацию с течением времени?
Если бы наша система постоянно загружалась в %iowait, мы могли бы предположить, что диск перегружается или выходит из строя.
По крайней мере, мы знали бы, что нужно исследовать .
Итак, как мы можем отслеживать информацию с течением времени? Мы можем запланировать запуск sar через равные промежутки времени, скажем, каждые 10 минут.
Затем мы направляем его на отправку выходных данных в специальные файлы журнала sysstat для последующих отчетов.
Это можно сделать с помощью Демон Крон.
Создав файл с именем sysstat в /etc/cron.d, мы можем указать cron запускать sar каждый день.
К счастью, пакет Systat, установленный yum, уже сделал этот шаг за нас.
more /etc/cron.d/sysstat
# run system activity accounting tool every 10 minutes */10 * * * * root /usr/lib/sa/sa1 1 1 # generate a daily summary of process accounting at 23:53 53 23 * * * root /usr/lib/sa/sa2 -A
Сценарий sa1 записывает выходные данные sar в двоичный файл журнала sysstat, а sa2 возвращает его обратно в удобочитаемом формате.
Отчет записывается в файл в /var/log/sa.
ls /var/log/sa
sa17 sar17
sa17 — это бинарный журнал sysstat, sar17 — это отчет. (сегодня 17 число)
В отчете sar содержится довольно много информации, но есть несколько значений, которые могут сказать нам, насколько загружен сервер.
Значения, которые следует отслеживать, – использование подкачки, ожидание операций ввода-вывода на диске и очередь выполнения.
Их можно получить, запустив sar вручную, который сообщит об этих значениях.
sar
11:00:02 AM CPU %user %nice %system %iowait %idle 11:10:01 AM all 0.00 0.00 0.00 0.00 99.99 11:20:01 AM all 0.00 0.00 0.00 0.00 100.00 11:30:02 AM all 0.01 0.26 0.19 1.85 97.68 11:39:20 AM all 0.00 2.41 2.77 0.53 94.28 11:40:01 AM all 1.42 0.00 0.18 3.24 95.15 Average: all 0.03 0.62 0.69 0.64 98.02
Было несколько моментов, когда активность диска была высокой в столбце %iowait, но она оставалась такой не слишком долго. Среднее значение 0,64 — это очень хорошо.
Как насчет моего использования подкачки, у меня заканчивается оперативная память? Выгрузка — нормальное явление для ядра Linux, которое время от времени заменяется. Постоянный обмен — это плохо, и обычно это означает, что вам нужно больше оперативной памяти.
sar -W
11:00:02 AM pswpin/s pswpout/s 11:10:01 AM 0.00 0.00 11:20:01 AM 0.00 0.00 11:30:02 AM 0.00 0.00 11:39:20 AM 0.00 0.00 11:40:01 AM 0.00 0.00 11:50:01 AM 0.00 0.00 Average: 0.00 0.00
Нет, мы хорошо выглядим. Постоянного обмена не было.
Как насчет загрузки системы? Мои процессы слишком долго ожидают запуска на ЦП?
sar -q
11:00:02 AM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 11:10:01 AM 0 47 0.00 0.00 0.00 11:20:01 AM 0 47 0.00 0.00 0.00 11:30:02 AM 0 47 0.28 0.21 0.08 11:39:20 AM 0 45 0.01 0.24 0.17 11:40:01 AM 0 46 0.07 0.22 0.17 11:50:01 AM 0 46 0.00 0.02 0.07 Average: 0 46 0.06 0.12 0.08
Нет, средняя нагрузка 0,06 действительно хороша. Обратите внимание, что справа есть интервалы в 1, 5 и 15 минут. Наличие трех временных интервалов дает вам представление о том, какую нагрузку несет система. 3 или 4 в среднем за 1 минуту — это нормально, но такое же число в 15-минутном столбце может указывать на то, что работа не завершается и что требуется более пристальное внимание.
Это был краткий обзор пакета Sysstat.
Мы рассмотрели вывод только трех атрибутов sar, но есть и другие. Теперь, вооружившись sar в вашем наборе инструментов, ваша работа по системному администрированию стала немного проще.