Ресурсный мониторинг с 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 вместе с другими инструментами и регулярный анализ отчетов помогут поддерживать стабильную и эффективную работу системы.