Настройка sysstat (sar) в Linux MInt

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

Автор темы
Chocobo
Сообщения: 5523
Зарегистрирован: 27 авг 2016, 19:57
Решено: 129
Откуда: НН
Благодарил (а): 411 раз
Поблагодарили: 1434 раза

Настройка sysstat (sar) в Linux MInt

Сообщение Chocobo » 13 июл 2017, 15:57

sysstat
sysstat - комплекс утилит для сбора и хранения метрик производительности системы, включает в себя такие утилиты как:
  • sar: Сбор данных и отчеты по активности системы;
  • iostat: отчеты по утилизации CPU и статистики дисковых I/O операций;
  • pidstat: Статистика по процессам;
  • sadf: отображение информации собранной sar в различных форматах.
Основная прелесть этой утилиты в том что можно разово настроить сбор информации, и потом с легкостью найти и глянуть, например, что происходило с нагрузкой по процам и оперативке позачера вечером.

Установка:
Для начала необходимо установить сам пакет sysstat - apt install sysstat

Затем включить сбор информации, для этого в файле /etc/default/sysstat меняем параметр
ENABLED=”false” на ENABLED=”true”

При желании можно отредактировать частоту снятия метрик (по умолчанию раз в 10 минут), в файле /etc/cron.d/sysstat
Я выставил себе раз в минуту, изменив строку :
5-55/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1
на
* * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1
или на раз в две минуты
*/2 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1

Осталось только перезапустить сервис, чтоб он подхватил новые параметры:
sudo systemctl restart sysstat

Примеры отображения по параметрам:

sar без параметров выведет инофомацию по утилизации CPU за сегодня

Код: Выделить всё

chocobo@desktop ~ $ sar
Linux 4.8.0-58-generic (desktop)        13.07.2017      _x86_64_        (4 CPU)

18:01:55     LINUX RESTART      (4 CPU)

18:02:01        CPU     %user     %nice   %system   %iowait    %steal     %idle
18:03:01        all      6,53      0,02      2,22      0,10      0,00     91,14
18:04:01        all      3,18      0,02      1,31      0,09      0,00     95,40
18:05:01        all      4,15      0,02      1,36      0,14      0,00     94,33
18:06:01        all      3,67      0,02      1,43      0,07      0,00     94,82
18:07:01        all      3,60      0,02      1,34      0,08      0,00     94,96
18:08:01        all      5,15      0,03      2,06      0,08      0,00     92,69
18:09:01        all      3,92      0,02      1,51      0,08      0,00     94,48
18:10:01        all      3,65      0,02      1,34      0,08      0,00     94,92
18:11:01        all      4,16      0,03      1,76      0,08      0,00     93,97
18:12:01        all      5,11      0,03      1,91      0,08      0,00     92,88
18:13:01        all      4,79      0,02      2,08      0,08      0,00     93,03
18:14:01        all      4,46      0,03      2,10      0,08      0,00     93,34
18:15:01        all      3,20      0,01      1,32      0,13      0,00     95,34
18:16:01        all      6,56      0,02      2,73      0,07      0,00     90,61
Среднее:     all      4,44      0,02      1,75      0,09      0,00     93,70
или отдельно по определенному ядру процессора с sar -P [0-9] (нумерация ядер начинается с нуля)

Код: Выделить всё

chocobo@desktop ~ $ sar -P 0
Linux 4.8.0-58-generic (desktop)        13.07.2017      _x86_64_        (4 CPU)

18:01:55     LINUX RESTART      (4 CPU)

18:02:01        CPU     %user     %nice   %system   %iowait    %steal     %idle
18:03:01          0      6,63      0,00      1,59      0,10      0,00     91,68
18:04:01          0      3,33      0,02      1,24      0,07      0,00     95,35
18:05:01          0      5,20      0,02      1,07      0,07      0,00     93,65
18:06:01          0      2,99      0,00      1,24      0,03      0,00     95,73
18:07:01          0      5,04      0,03      1,10      0,07      0,00     93,76
18:08:01          0      6,57      0,03      1,67      0,13      0,00     91,59
18:09:01          0      3,10      0,00      1,57      0,05      0,00     95,29
18:10:01          0      4,23      0,03      1,18      0,08      0,00     94,47
18:11:01          0      4,81      0,03      1,54      0,05      0,00     93,56
18:12:01          0      5,87      0,03      1,47      0,05      0,00     92,58
18:13:01          0      6,26      0,00      1,58      0,08      0,00     92,07
18:14:01          0      4,44      0,03      2,20      0,05      0,00     93,28
18:15:01          0      3,70      0,02      1,28      0,05      0,00     94,95
Среднее:       0      5,00      0,02      1,56      0,06      0,00     93,36
sar -r - детализированное использование оперативной памяти

Код: Выделить всё

chocobo@desktop ~ $ sar -r
Linux 4.8.0-58-generic (desktop)        13.07.2017      _x86_64_        (4 CPU)

18:01:55     LINUX RESTART      (4 CPU)

18:02:01    kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
18:03:01      3895184   4220280     52,00      2112   2140620   3716976     45,80   1993280   1371284      2052
18:04:01      3880728   4234736     52,18      2112   2142504   3711144     45,73   2007036   1371344       836
18:05:01      3844024   4271440     52,63      2112   2145000   3781248     46,59   2042960   1372720       484
18:06:01      3843376   4272088     52,64      2112   2145612   3770008     46,45   2043560   1372864       820
18:07:01      3839476   4275988     52,69      2112   2146540   3781216     46,59   2047496   1373036       304
18:08:01      3846768   4268696     52,60      2112   2147576   3781404     46,60   2039924   1372896       580
18:09:01      3840620   4274844     52,68      2112   2148716   3772716     46,49   2045748   1373216       476
18:10:01      3845720   4269744     52,61      2112   2150224   3773544     46,50   2039784   1373920       880
18:11:01      3845996   4269468     52,61      2112   2152004   3778236     46,56   2039480   1374672       412
18:12:01      3866308   4249156     52,36      2112   2153284   3791620     46,72   2042416   1375072       840
18:13:01      3833504   4281960     52,76      2112   2154804   3782836     46,61   2052144   1375476      1860
18:14:01      3833420   4282044     52,76      2112   2155884   3780520     46,58   2051084   1375736       848
18:15:01      3861496   4253968     52,42      2112   2156888   3778652     46,56   2055148   1375852      1060
Среднее:   3854301   4261163     52,51      2112   2152752   3773483     46,50   2044117   1374733       811
sar -d для статистики по I/O операциям, sar -S для детализации по свопу, и т.д. Там довольно много всего и сетевая активность и LA, context switches... Подробная информация есть в man-странице, но надо признать, что разобраться неподготовленному пользователю вероятно будет непросто :smile:

Обращение к прошлым или текущим срезам

Для отображения параметров за прошедшие дни к интересующим параметрам необходимо добавить ключ -f с указанием пути к файлу статистики. Хранятся они в /var/log/sysstat/sa[1-31] по каледарному числу дня записи, и соответственно по умолчанию хранятся один месяц.
В итоге команда на просмотр как был задействован swap например 10-го числа будет выглядеть так
sar -S -f /var/log/sysstat/sa10

Для снятия же текущей информации с произвольным интервалом - достаточно добавить в конец два числа, где первое это интервал в секундах между срезами, второе - количество итераций. Например sar -P ALL 3 10 выведет статистику по всем ядрам процессора в реальном времени с обновлением каждые три секунды, десять раз подряд.

В общем, для контроля множества аспектов работы системы, или наблюдения за каким-либо программно-аппаратным параметром в конкретной ситуации - крайне полезная вещь :vic:

Вернуться в «Системные утилиты»