Найважливіший обов’язок системного адміністратора Linux — переконатися, що система, якою він керує, перебуває у дуже хорошому стані. Для системних адміністраторів Linux є безліч інструментів, які можуть допомогти відстежувати і відображати процеси в системі, такі як top і htop, але жоден з цих інструментів не може конкурувати з collectl.
collectl – дуже зручна багатофункціональна утиліта командного рядка, яку можна використовувати для збору даних про продуктивність, що описують поточний стан системи. На відміну від більшості інших інструментів моніторингу, collectl не фокусується на обмеженій кількості системних показників, натомість він може збирати інформацію про багато різних типів системних ресурсів, таких як процесор, диск, пам’ять, мережа, сокети, tcp, inodes, infiniband. , кластер, пам’ять, nfs, процеси, квадрики, slabs і buddyinfo.
Дуже добре використовувати collectl в тому, що він також може грати роль утиліт, розроблених тільки для певної мети, таких як top, ps, iotop та багато інших. Які деякі особливості, які роблять colleclt корисним інструментом?
Нижче наведено деякі з найважливіших функцій утиліти командного рядка collectl.
Особливості Collectl
- Він може працювати інтерактивно, як демон або і те, й інше.
- Він може відображати висновок у багатьох форматах.
- Він має можливість контролювати практично будь-яку підсистему.
- Він може грати роль багатьох інших утиліт, таких як ps, top, iotop та vmstat.
- Він має можливість записувати та відтворювати захоплені дані.
- Він може експортувати дані до різних форматів файлів. (Це дуже корисно, коли ви хочете проаналізувати дані за допомогою зовнішніх інструментів).
- Він може працювати як служба для моніторингу віддалених машин чи всього кластера серверів.
- Він може відображати дані в терміналі та записувати у файл або сокет.
Як встановити collectionl в Linux
Утиліта collectl працює у всіх Linux-дистрибутивах, єдине, що їй потрібно для запуску, це Perl, тому переконайтеся, що Perl встановлений (постачається попередньо встановленим) на вашому комп’ютері, перш ніж встановлювати collectl на свій комп’ютер.
Встановіть Collectl у системах Debian
Наступна команда може використовуватися для встановлення утиліти collectl у дистрибутивах на основі Debian, таких як Ubuntu та Linux Mint.
$ sudo apt-get install collectl
Встановіть Collectl у системах Debian
Якщо ви використовуєте дистрибутив на основі RedHat, такий як Rocky Linux або AlmaLinux або будь-який інший дистрибутив Linux, ви можете легко завантажити tar-архів, розпакувати його і запустити, як показано нижче.
# wget https://sourceforge.net/projects/collectl/files/latest/download -O collectl.tar.gz # tar -xvf collectl.tar.gz # cd collectl-* # ./INSTALL
Використання інструмента моніторингу Collectl у Linux
Після завершення встановлення інструменту collectl можна легко запустити його з терміналу, навіть без будь-яких опцій. Наступна команда відобразить інформацію про процесор, диск і мережеву статистику в дуже короткому і легко читаному форматі.
# collectl
Як ви, хлопці, можете бачити з наведеного вище висновку, що відображається на екрані терміналу, дуже легко працювати зі значеннями системних метрик, представленими у виведенні команди, оскільки вони відображаються в одному рядку.
Коли утиліта collectl виконується без будь-яких опцій, вона відображає інформацію про наступні підсистеми:
- процесор
- диски
- мережа
Примітка. У нашому випадку підсистема це будь-який тип системного ресурсу, який можна виміряти.
Ви також можете відобразити статистику всіх підсистем, крім плит, об’єднавши команду з параметром –all, як показано нижче.
# collectl --all
Але як ви контролюєте використання процесора за допомогою утиліти? Параметр -s слід використовувати для керування тим, які дані системи повинні збиратися або відтворюватися.
Наприклад, таку команду можна використовувати для моніторингу зведеної інформації про використання ЦП.
# collectl -sc
Що станеться, якщо ви поєднаєте команду з «scdn»? Найкращий спосіб навчитися використовувати інструменти командного рядка — якнайбільше практикуватися, тому запустіть наступну команду у своєму терміналі і подивіться, що станеться.
# collectl -scdn
Ви можете легко зрозуміти, що параметр за замовчуванням – cdn, він означає процесор, диски і мережеві дані. Результат команди такий самий, як висновок “collectl-scn”.
Якщо потрібно зібрати дані про пам’ять, використовуйте наступну команду.
# collectl -sm
Наведений вище висновок дуже корисний, коли ви хочете отримати докладну інформацію про використання пам’яті, вільної пам’яті та інші важливі речі для продуктивності вашої системи.
Як щодо деяких даних щодо tcp? Використовуйте наступну команду, щоб це зробити.
# collectl -st
Після того, як ви набули деякого досвіду, ви можете легко комбінувати варіанти, щоб отримати бажані результати. Наприклад, можна комбінувати «t» для tcp і «c» для процесора. Наступна команда робить це.
# collectl -stc
Нам, людям важко запам’ятати всі доступні параметри, тому я публікую зведений список підсистем, що підтримуються інструментом.
- b – інформація про приятеля (фрагментація пам’яті)
- c – центральний процесор
- d – диск
- f – дані NFS V3
- i — індексний дескриптор та файлова система
- j – переривання
- l – блиск
- m – Пам’ять
- n – Мережі
- c – Розетки
- t – ПТС
- x – Міжз’єднання
- y – Slabs (кеші системних об’єктів)
Дуже важливою частиною даних для системного адміністратора чи користувача Linux є дані, зібрані використання диска. Наступна команда допоможе вам контролювати використання диска.
# collectl -sd
Ви також можете використовувати опцію “-sD” для збору даних по окремих дисках, але ви повинні знати, що інформація про загальну кількість дисків не буде повідомлена.
# collectl -sD
Ви також можете використовувати інші докладні системи для збору докладних даних. Нижче наведено перелік докладних підсистем.
- C – ЦП
- D – диск
- E – дані про навколишнє середовище (вентилятор, потужність, температура) через ipmitool
- F – дані NFS
- J – переривання
- L – деталь Lustre OST АБО деталь файлової системи клієнта
- N – Мережі
- T – 65 лічильників TCP доступні лише у графічному форматі
- X – Міжз’єднання
- Y – Slabs (кеші системних об’єктів)
- Z – Процеси
В утиліті collectl є багато доступних опцій, але не вистачить часу та місця, щоб висвітлити їх усі в одній статті. Однак варто згадати та навчити користуватися утилітою як top, так і ps.
Змусити collectl працювати як головна утиліта дуже просто, просто запустіть наступну команду у своєму терміналі, і ви побачите аналогічний висновок у верхній утиліті, коли вона виконується у вашій системі Linux.
# collectl --top
І останнє, але не менш важливе: щоб використовувати утиліту collectl як інструмент ps, виконайте наступну команду у своєму терміналі. Ви отримаєте інформацію про процеси у системі так само, як і при запуску команди «ps» у своєму терміналі.
# collectl -c1 -sZ -i:1
Я впевнений, що багатьом системним адміністраторам Linux сподобається інструмент collectl і вони відчують його силу при використанні в повній мірі. Якщо ви бажаєте підняти свої знання про collectl на новий рівень, зверніться до його довідкових сторінок і продовжуйте практикуватися.
Просто введіть наступну команду у своєму терміналі та почніть читати.
# man collectl