6 інструментів командного рядка для моніторингу продуктивності

Ядро Linux лежить в основі багатьох нових технологій і платформ, таких як Android, контролери SDN, контейнери, а його сервіси як мережна ОС або сервер. Ці високі вимоги вимагають належного керування, надійності та доступності розміщених програм, веб-сайтів та базової ОС Linux.

У статті описані інструменти для моніторингу продуктивності Linux із командного рядка. Дізнайтеся, як ці інструменти командного рядка можуть допомогти усунути вузькі місця в системі, мережі, ЦП і диску.

1. Top

Команда top виводить список активних процесів у реальному часі на основі споживання часу ЦП, що оновлюється кожні п’ять секунд. Він відображає загальну інформацію у верхній частині виводу команди з даними, що стосуються поточних  процесів, часу безвідмовної роботи/завантаження системи, оперативної пам’яті та файлу підкачування. Команда відображає списки процесів з PID, фактичною пам’яттю та відсотком використання ЦП/пам’яті.

Звичайна практика – це перерахування процесів, що споживають надмірні ресурси ЦП та пам’яті. Якщо здається, що процес займає занадто багато пам’яті або використовує максимальне завантаження ЦП як системний адміністратор, ви можете убити процес на основі призначеного PID або встановити для нього низький пріоритет.

Крім того, команда top дозволяє відображати та змінювати запущені процеси, сортуючи їхній висновок на основі різних інших показників, таких як використання пам’яті натисканням, PID процесу, час роботи тощо.

2. Tcpdump

TCPdump – це найуживаніша утиліта для усунення несправностей мережі адміністраторами мережі. Це сніффер/аналізатор пакетів командного рядка з відкритим вихідним кодом, який перехоплює TCP/IP-пакети, що передаються та одержуються через мережу через вказаний інтерфейс.

Інструмент є вбудованим у дистрибутиви Linux з універсальними можливостями, включаючи різні фільтри та прапори. Використовуйте наступну команду, щоб перевірити, чи він доступний:

which tcpdump

Якщо ні, використовуйте менеджер пакетів вашого дистрибутива. Для Ubuntu Linux:

sudo apt-get update
sudo apt-get install tcpdump

Ви можете перерахувати доступні інтерфейси, щоб розпочати процес мережного захоплення:

sudo tcpdump -D

Утиліта tcpdump дозволяє захоплювати, записувати та читати трафік за допомогою різних комбінацій фільтрів, щоб зберігати тільки необхідні дані, наприклад, трафік на конкретному порту та протокол у/з файлу pcap. Ось деякі з корисних команд:

sudo tcpdump -c 10 -i ens33
sudo tcpdump -i ens33 dst port 22
sudo tcpdump -i ens33 host 10.0.1.15 -w /tmp/capture_1.pcap
sudo tcpdump -w /tmp/capture_1.pcap

Щоб максимально використовувати tcpdump, ви повинні мати уявлення про аналіз пакетів.

3. Netstat

Як випливає з назви, це утиліта командного рядка для мережевої статистики, яка надає докладну інформацію про конфігурацію мережі та для усунення несправностей. Віна відображає вхідні/вихідні з’єднання, статистику інтерфейсу, що прослуховують/відкриті порти, таблицю маршрутизації тощо.

Ви можете використовувати цю утиліту, встановивши пакет net-tools:

sudo apt-get update -y && apt-get install net-tools -y

Ви можете перевірити мережеву статистику, відсортовану за протоколом, для виявлення та вирішення проблем за допомогою значення -s, як показано нижче:

netstat -s | less

Крім того, ви можете тягнути та переглядати статистику для конкретного (тільки TCP) протоколу, таким чином:

netstat -st | less

Ще один зручний прийом для усунення неполадок – перегляд служб PID:

netstat -tp | less

Незважаючи на те, що цей інструмент застарів замість команди ss/ip route, це потужний, але простий у використанні інструмент завжди доступний в арсеналі будь-якого мережевого адміністратора Linux.

4. Htop

Htop – ще одна утиліта командного рядка в Linux для моніторингу системних процесів і сховища, яка, на відміну від команди top, пропонує інтерактивний інтерфейс користувача. В якості альтернативи основної команди він ділить висновок на три основні розділи з чіткими візуальними елементами, що представляють розділи ЦП, пам’яті та підкачування.

Вона підтримує сполучення клавіш і дозволяє прокручувати інтерфейс по вертикалі та горизонталі для перегляду команд кожного процесу. На відміну від основного інструменту, вона недоступна за замовчуванням у всіх дистрибутивах Linux і потребує встановлення через диспетчер пакетів вашої системи.

Найкраще те, що вона дозволяє вам убити або змінити пріоритет системного процесу без необхідності залишати htop інтерфейс і використовувати PID процесу, оскільки він підтримує операції з мишею.

5. Acct/Psacct

Acct або psacct – ідеальна програма для розрахованого на багато користувачів середовища, такий як Linux, оскільки вона дозволяє відслідковувати статус активності користувачів і додатків. Інструмент моніторингу активності користувачів працює у фоновому режимі, щоб відстежувати дії вашої програми та споживання ресурсів. Він відображає тривалість доступу користувача до сервера, використовувані команди та запущені процеси.

Встановіть програму у системі Linux через менеджер пакетів. Утиліта acct вимагає, щоб ви ініціювали процес обліку, увімкнувши цю опцію за допомогою команди accton, та зберігає деталі у файлі /var/account/pacct.

Як інструмент командного рядка ви можете використовувати його з іншими інструментами, такими як ps або who, для виявлення різних проблем, пов’язаних із системними ресурсами.

6. IOTOP

Iotop – це утиліта на основі Python, яка використовує функції обліку ядра для відстеження використання вводу/виводу системних потоків та процесів. Це корисний інструмент, який може допомогти вам визначити процес, в якому інтенсивно використовується диск або читання або запис введення/виводу. Встановіть цей інструмент і використовуйте привілеї root для відстеження введення-виводу в реальному часі.

sudo iotop

Iotop може стати дуже корисним для виявлення процесів із високим споживанням пам’яті підкачування та великою дисковою активністю.

Додаткові відомості для ефективного моніторингу системи

У статті наведено деякі інструменти для ефективного моніторингу продуктивності системи Linux. Ми розглядаємо готові інструменти для сторонніх програм: кожен зі своїм унікальним сценарієм використання та функціями, що дозволяють стежити за вашими системними ресурсами та їх використанням.

Для новачка вивчення цих інструментів може виявитися складним завданням, але моніторинг систем або серверів Linux щодо їх справності та ефективності окупається в довгостроковій перспективі.

Поділіться своєю любов'ю

Залишити відповідь

1 Комментарий
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
UALinux

до iotop я б ще додав iftop
ну а з netstat вже час переходити на ss та ip, які використовують сокети netlink і беруть всі дані через них із ядра, що є ефективнішим і надає повнішу картину ніж netstat який використовуває /proc

1
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x