Ключовим показником продуктивності для моніторингу на сервері Linux є активність дискового вводу-виводу, яка може значно вплинути на деякі аспекти сервера Linux, зокрема на швидкість збереження або вилучення з диска файлів або даних (особливо на серверах баз даних). Це впливає на продуктивність додатків і служб.
1. iostat – показує статистику введення та виведення пристрою
iosat – одна з багатьох утиліт моніторингу системи на основі терміналу в пакеті sysstat, який є широко використовуваною утилітою, призначеною для створення звітів про статистику ЦП та статистику вводу-виводу для блокових пристроїв та розділів.
Щоб використовувати iostat на сервері Linux, вам необхідно встановити пакет sysstat у системі Linux, виконавши відповідну команду для вашого дистрибутива Linux.
$ sudo apt install sysstat [On Debian, Ubuntu and Mint] $ sudo yum install sysstat [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ sudo emerge -a app-admin/sysstat [On Gentoo Linux] $ sudo apk add sysstat [On Alpine Linux] $ sudo pacman -S sysstat [On Arch Linux] $ sudo zypper install sysstat [On OpenSUSE]
Щоб показати простий звіт про використання пристрою, запустіть iostat з командним рядком -d. Зазвичай перший звіт містить статистику про час, що минув з моменту запуску системи (час завантаження), а кожен наступний звіт стосується часу, що минув з попереднього звіту.
Використовуйте -x для розширеного статистичного звіту та прапорець -t, щоб увімкнути час для кожного звіту. Крім того, якщо ви бажаєте виключити пристрої без будь-якої активності у виведенні звіту, додайте прапорець -z:
# iostat -d -t OR # iostat -d -x -t
Щоб відображати статистику в кілобайтах на секунду, а не в блоках на секунду, додайте прапорець -k або використовуйте прапорець -m для відображення статистики в мегабайтах за секунду.
# iostat -d -k OR # iostat -d -m
iostat також може відображати безперервні звіти про пристрої з інтервалом x секунд. Наприклад, наступна команда відображає звіти з інтервалом у дві секунди:
# iostat -d 2
Як і в попередній команді, можна відображати n звітів з інтервалом в x секунд. Наступна команда відобразить 10 звітів із інтервалом у дві секунди. Крім того, ви можете зберегти звіт у файл для наступного аналізу:
# iostat -d 2 10 OR # iostat -d 2 10 > disk_io_report.txt &
Для отримання додаткової інформації про стовпці звіту прочитайте довідкову сторінку iostat:
# man iostat
2. sar – Показати активність системи Linux
sar – ще одна корисна утиліта, що входить до складу пакету sysstat і призначена для збору, складання звітів або збереження інформації про активність системи. Перш ніж ви зможете почати використовувати його, вам необхідно налаштувати його так.
По-перше, увімкніть його для збирання даних у файлі /etc/default/sysstat.
# vi /etc/default/sysstat
Знайдіть наступний рядок та змініть значення на “true”, як показано.
ENABLED="true"
Потім потрібно зменшити інтервал збору даних, визначений у завданнях sysstat cron. За промовчанням встановлено кожні 10 хвилин, ви можете зменшити його до 2 хвилин.
Ви можете зробити це у файлі /etc/cron.d/sysstat:
# vi /etc/cron.d/sysstat
Збережіть файл та закрийте його.
Нарешті, увімкніть і запустіть службу sysstat за допомогою наступної команди systemctl:
# systemctl enable --now sysstat.service # systemctl enable sysstat.service
Далі зачекайте 2 хвилини, щоб розпочати перегляд звітів sar. Використовуйте команду sar та параметр командного рядка -b, щоб повідомити статистику введення-виводу та швидкості передачі, та -d, щоб повідомити про активність для кожного блокового пристрою, як показано.
# sar -d -b
3. iotop – моніторинг використання дискового введення-виведення Linux
Подібно до найкращого інструменту моніторингу з погляду дизайну, iotop – це проста утиліта, яка дозволяє вам відслідковувати активність дискового вводу-виводу та використання для кожного процесу.
Ви можете встановити його на свій сервер Linux наступним чином (не забудьте запустити відповідну команду для дистрибутива Linux):
$ sudo apt install iotop [On Debian, Ubuntu and Mint] $ sudo yum install iotop [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ sudo emerge -a sys-processs/iotop [On Gentoo Linux] $ sudo apk add iotop [On Alpine Linux] $ sudo pacman -S iotop [On Arch Linux] $ sudo zypper install iotop [On OpenSUSE]
Щоб відстежувати активність введення-виводу для кожного процесу, ви можете запустити iotop без будь-яких аргументів в такий спосіб. За замовчуванням затримка між ітераціями становить 1 секунду. Ви можете змінити це за допомогою прапорця -d.
# iotop OR # iotop -d 2
iotop за промовчанням відображає всі потоки процесу. Щоб змінити цю поведінку, щоб вона відображала лише процеси, використовуйте параметр командного рядка -P.
# iotop -P
Крім того, використовуючи параметр -a, ви можете налаштувати його на відображення накопиченого вводу-виводу, а не пропускної спроможності. У цьому режимі iotop показує кількість процесів введення-виводу, виконаних з моменту виклику iotop.
# iotop -P -a