Отслеживание нескольких подсистем
tist.ru/wp-content/uploads/2024/05/linux_penguin-1.jpg" alt="linux_penguin">Мониторинг системных ресурсов — одна из наиболее частых задач, которые выполняют системные администраторы. В Linux для этого доступны различные инструменты, в том числеtop
, free
, htop
и другие, но выделяется один инструмент — collectl
, в первую очередь из-за своих возможностей. В этой статье мы обсудим основы collectl
и предоставляемые им функции.
Собрать
Как следует из названия, collectl
собирает данные, описывающие текущее состояние системы. Он имеет возможность контролировать практически любую подсистему, но его самое большое преимущество заключается в том, что он может контро
Contents
Собрать
ые параметры одновременно по сравнению с другими инструментами, которые измеряют только определенный параметр системы.Согласно странице руководства, вы можете использовать collectl
для отображения информации, специфичной для следующих подсистем:
SUMMARY SUBSYSTEMS b - buddy info (memory fragmentation) c - CPU d - Disk f - NFS V3 Data i - Inode and File System j - Interrupts l - Lustre m - Memory n - Networks s - Sockets t - TCP x - Interconnect y - Slabs (system object caches) DETAIL SUBSYSTEMS C - CPU D - Disk E - Environmental data (fan, power, temp), via ipmitool F - NFS Data J - Interrupts L - Lustre OST detail OR client Filesystem detail M - Memory node data, which is also known as numa data N - Networks T - 65 TCP counters only available in plot format X - Interconnect Y - Slabs (system object caches) Z - Processes
Описанные выше параметры нижнего и верхнего регистра позволяют выполнять краткие и подробные измерения соответствующих подсистем соответственно – для мониторинга и измерения конкретной подсистемы опция -s
вместе с подсистемой следует использовать конкретный вариант. Давайте обсудим некоторые важные особенности команды collectl
.
Примечание. Все примеры, использованные в статье, протестированы на Ubuntu 14.04.
Загрузить/установить
Вы можете загрузить и установить утилиту командной строки в системах на базе Debian, используя следующую команду:
sudo apt-get install collectl
Если вы используете какой-либо другой дистрибутив Linux, вы можете получить последнюю версию инструмента из сайт проекта и скомпилировать ее из исходного кода.
Вывод по умолчанию
Когда команда запускается без каких-либо опций, вы получаете следующее:
Вы можете видеть, что команды каждую секунду регистрируют использование процессора, операции ввода-вывода на диске и сетевую активность (эквивалент передачи cdn
в качестве параметров командной строки). Поскольку объем вывода продолжает расти, вы можете нажать «Ctrl + C», чтобы остановить выполнение команды.
Отслеживание использования ЦП
Чтобы отобразить сводную информаци
Загрузить/установить
зуйте параметр-sc
collectl -sc
а для отображения подробного вывода используйте параметр -sC
collectl -sC
Аналогично вы можете контролировать память, используя параметры -sm
и -sM
, использование диска, используя параметры -sd
и -sD
, и многое другое.
ОтсВывод по умолчанию
тем
Предположим, вы хотите одновременно отслеживать использование ЦП, памяти и диска; вы можете сделать это, передав соответствующие параметры командной строки вместе с параметром -s
. Вот как это сделать:
collectl -scmd
Итак, вы можете видеть, что команда выдала информацию, относящуюся ко всем трем подсистемам.
Время отображения
Поскольку вывод collectl
обновляется через заданный интервал времени, вы также можете попросить команду отображать информацию о времени в начале каждой строки вывода. Это можно сделать с помощью параметра -oT
.
collectl -oT
Отслеживание использования ЦП/2024/05/collectl-time.png" alt="время сбора">
Теперь вы можете видеть, что к каждой строке вывода добавлена отметка времени.
Список процессов, таких как top
Вы также можете использовать команду collectl
для отображения вывода так же, как это делает команда top
. Для этого вам нужно использовать параметр --top
.
collectl --top
Итак, вы можете видеть, что выходные данные содержат информацию, специфичную для процесса.
Чтобы узнать больше о команде, просмотрите ее справочная страница .
Заключение
Это был лишь краткий обзор того, на что способен collectl
, поскольку здесь мы только прикоснулись к поверхности. Он предоставляет множество опций и при правильном использовании может оказаться швейцарским армейским ножом для мониторинга системы в Linux. Вы когда-нибудь использовали collectl
? Как прошел ваш опыт? Поделитесь своими мыслями в комментариях ниже.