Ресурсный мониторинг с sar

Использование утилиты sar для мониторинга ресурсов системы.
/ Полезные инструменты и утилиты

Ресурсный мониторинг с утилитой sar

Введение

Мониторинг использования системных ресурсов крайне важен для обеспечения стабильной и эффективной работы серверов и рабочих станций. Одним из наиболее мощных инструментов для таких задач в Unix-подобных операционных системах является утилита sar (System Activity Reporter). В этой статье мы подробно рассмотрим возможности sar и как его использовать для мониторинга различных системных ресурсов.

Что такое sar?

sar — это часть пакета sysstat, который включает в себя утилиты для сбора, отчета и сохранения информации о производительности системы. sar позволяет собирать данные об использовании процессора, памяти, ввода-вывода, сети и других ресурсов. Эти данные могут быть использованы для анализа текущего состояния системы или для ретроспективного анализа производительности.

Установка sar

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

  • Для Debian/Ubuntu:
  sudo apt-get update
  sudo apt-get install sysstat
  • Для CentOS/RHEL:
  sudo yum install sysstat
  • Для Fedora:
  sudo dnf install sysstat

Настройка sysstat

После установки пакета sysstat его необходимо настроить. В большинстве систем конфигурация находится в файле `/etc/default/sysstat` или `/etc/sysconfig/sysstat`, в зависимости от дистрибутива. Вам необходимо включить запись данных.


                      

После изменения конфигурационного файла, перезапустите службу sysstat:

sudo systemctl restart sysstat

Использование sar

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

Процессор

Чтобы проверить использование процессора, используйте следующую команду:

sar -u 1 3

Здесь:

  • `-u` указывает на отчет по загрузке процессора
  • `1 3` означает, что данные будут собираться каждые 1 секунду в течение 3 секунд

Вывод:

$ sar -u 1 3
Linux 5.4.0-1036-azure (myserver)    03/03/2023  _x86_64_    (2 CPU)
12:00:00 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
12:00:01 AM     all      0.00      0.00      1.00      0.00      0.00     99.00
12:00:02 AM     all      0.00      0.00      0.50      0.00      0.00     99.50
12:00:03 AM     all      0.00      0.00      1.00      0.00      0.00     99.00
Average:        all      0.00      0.00      0.83      0.00      0.00     99.17

Память

Для проверки использования памяти используйте:

sar -r 1 3
  • `-r` указывает на отчет по памяти

Вывод:

$ sar -r 1 3
Linux 5.4.0-1036-azure (myserver)    03/03/2023  _x86_64_    (2 CPU)
12:00:00 AM  kbmemfree   kbmemused  %memused  kbbuffers   kbcached   kbcommit  %commit
12:00:01 AM       9250      804750     98.86       2256     302850     108256     42.33
12:00:02 AM       9000      804999     98.89       2257     302852     108300     42.34
12:00:03 AM       8900      805099     98.90       2258     302855     108320     42.34
Average:          9050      804949     98.88       2257     302852     108292     42.34

Ввод-вывод (I/O)

Для мониторинга активности ввода-вывода используйте:

sar -b 1 3
  • `-b` указывает на отчет по блочному устройству

Вывод:

$ sar -b 1 3
Linux 5.4.0-1036-azure (myserver)    03/03/2023  _x86_64_    (2 CPU)
12:00:00 AM       tps      rtps      wtps   bwrtn/s    bread/s
12:00:01 AM      2.00      1.00      1.00      1000         15
12:00:02 AM      1.00      0.00      1.00      1000          5
12:00:03 AM      3.00      2.00      1.00      1000         25
Average:         2.00      1.00      1.00      1000         15

Сеть

Для мониторинга сети используйте:

sar -n DEV 1 3
  • `-n DEV` указывает на отчет по сетевым интерфейсам

Вывод:

$ sar -n DEV 1 3
Linux 5.4.0-1036-azure (myserver)    03/03/2023  _x86_64_    (2 CPU)
12:00:00 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
12:00:01 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
12:00:01 AM      eth0      2.00      1.00      1.00      0.50      0.00      0.00      0.00
12:00:02 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
12:00:02 AM      eth0      3.00      2.00      2.00      1.00      0.00      0.00      0.00
12:00:03 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
12:00:03 AM      eth0      1.00      1.00      0.50      0.50      0.00      0.00      0.00
Average:         IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s
Average:            lo      0.00      0.00      0.00      0.00
Average:          eth0      2.00      1.33      1.17      0.83

Заключение

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

Поиск