Общей задачей для системных администраторов является мониторинг и обслуживание сервера.
Это довольно легко сделать в одно мгновение, но как сохранить запись этой информации с течением времени?
Одним из способов мониторинга вашего сервера является использование пакета Sysstat.
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.
% относится к внутренней работе ядра.
% iowait – это время ожидания ввода / вывода, например, чтение или запись на диске
Итак, как мы отслеживаем информацию с течением времени?
Мы можем планировать sar для запуска через регулярные промежутки времени, скажем, каждые 10 минут.
Затем мы направляем его на отправку вывода в специальные файлы журнала sysstat для последующих отчетов.
Способ сделать это с демоном Cron.
Создав файл sysstat в /etc/cron.d, мы можем сказать cron, чтобы он работал каждый день.
К счастью, пакет 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 довольно хорошо.
Как насчет моего использования подкачки, может у меня заканчивается RAM?
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
См. также
Использование Ubuntu в качестве основной ОС, часть 4 (аудит, антивирус и мониторинг)
JShielder — скрипт автоматического усиления безопасности для Linux-серверов
Как использовать инструмент sar для мониторинга производительности системы в ParrotOs 3.9