Мониторинг системных ресурсов - одна из наиболее частых задач, которые выполняют системные администраторы. В Linux для этого доступны различные инструменты, в том числе top
, free
, htop
и другие, но выделяется один инструмент - collectl
, прежде всего из-за его возможностей. В этой статье мы обсудим основы collectl
вместе с функциями, которые он предоставляет.
Собирать
Как видно из названия, collectl
собирает данные, описывающие текущее состояние системы. У него есть возможность контролировать практически любую подсистему, но его самая большая сила в том, что он может контролировать разные параметры одновременно, по сравнению с другими инструментами, которые измеряют только определенный системный параметр.
Согласно странице руководства, вы можете использовать collectl
для отображения информации, относящейся к следующим подсистемам:
ОБЩИЕ ПОДСИСТЕМЫ b - информация о друзьях (фрагментация памяти) c - CPUd - Diskf - Данные NFS V3i - Inode и файловая системаj - Interruptsl - Lustrem - Memoryn - Networkss - Socketst - TCPx - Interconnecty - Slabs (системный объект caches) ПОДРОБНЫЕ ПОДСИСТЕМЫ C - CPUD - DiskE - Данные окружающей среды (вентилятор, мощность, температура) через ipmitoolF - NFS DataJ - InterruptsL - Детали Lustre OST ИЛИ детали файловой системы клиента M - Данные узла памяти, также известные как numa dataN - NetworksT - 65 счетчиков TCP доступны только в формате графика X - InterconnectY - Slabs (кэши системных объектов) Z - Процессы
Параметры нижнего и верхнего регистра, указанные выше, позволяют выполнять краткие и подробные измерения соответствующих подсистем соответственно - для мониторинга и измерения конкретной подсистемы, параметр -s
вместе с параметром для конкретной подсистемы должен быть использован. Давайте обсудим некоторые важные функции команды collectl
.
Примечание. Все примеры, использованные в статье, протестированы на Ubuntu 14.04.
Скачать / Установить
Вы можете загрузить и установить утилиту командной строки в системах на базе Debian, используя следующую команду:
sudo apt- установить collectl
Если вы используете какой-либо другой дистрибутив Linux, вы можете загрузить последнюю версию инструмента с веб-сайта проекта и скомпилировать ее из исходного кода.
Выход по умолчанию
Когда команда запускается без каких-либо параметров, вы получаете следующее:
Вы можете видеть, что команды каждую секунду регистрируют использование процессора, дискового ввода-вывода и сетевую активность (эквивалент передачи cdn
в качестве параметров командной строки). Поскольку вывод продолжает расти, вы можете нажать "Ctrl + C", чтобы остановить выполнение команды.
Мониторинг использования ЦП
Чтобы отобразить сводку использования ЦП, используйте параметр -sc
collectl - sc
а для отображения подробного вывода используйте параметр -sC
collectl - sC
Точно так же вы можете контролировать память с помощью параметров -sm
и -sM
, использование диска с помощью параметров -sd
и -sD
. , и больше.
Мониторинг нескольких подсистем
Предположим, вы хотите отслеживать использование ЦП, памяти и диска вместе; это можно сделать, передав соответствующие параметры командной строки вместе с параметром -s
. Вот как это сделать:
collectl - scmd
Итак, вы можете видеть, что команда произвела информацию, относящуюся ко всем трем подсистемам.
Время отображения
Поскольку вывод collectl
обновляется через заданный интервал времени, вы также можете попросить команду отображать информацию о времени в начале каждой строки вывода. Это можно сделать с помощью параметра -oT
.
collectl - от
Теперь вы можете видеть, что к каждой строке вывода была добавлена отметка времени.
Перечислить такие процессы, как top
Вы также можете использовать команду collectl
для отображения вывода таким же образом, как и команда top
. Для этого вы должны использовать параметр --top
.
collectl - вверху
Итак, вы можете видеть, что выходные данные содержат информацию о процессе.
Чтобы узнать больше о команде, просмотрите ее справочную страницу.
Заключение
Это был всего лишь краткий обзор того, на что способен collectl
, поскольку мы здесь едва коснулись поверхности. Он предоставляет множество опций, и при правильном использовании может оказаться швейцарским армейским ножом для системного мониторинга в Linux. Вы когда-нибудь использовали collectl
? Каким был твой опыт? Поделитесь своими мыслями в комментариях ниже.
Один комментарий
Комментарии закрыты.
Мне нравится, что вы представляете инструменты командной строки.
Я недавно написал одну, но она до сих пор совершенно неизвестна.
Все еще находится на ранней стадии разработки, но сейчас он довольно стабилен и на то что способен.
Может быть, вы сможете это проверить или даже написать об этом.
https://github.com/tobimensch/termsql