Collectl - продвинутый инструмент мониторинга производительности Linux

Самая важная обязанность системного администратора Linux – убедиться, что система, которую он/она администрирует, находится в очень хорошем состоянии. Существует множество инструментов, доступных для системных администраторов Linux, которые могут помочь в мониторинге и отображении процессов в системе, таких как top и htop, но ни один из этих инструментов не может конкурировать с collectl.

collectl – это очень хорошая многофункциональная утилита командной строки, которая использовуется для сбора данных о производительности системы. В отличие от большинства других инструментов мониторинга, collectl не фокусируется на ограниченном количестве системных метрик, вместо этого он может собирать информацию о различных типах системных ресурсов, таких как cpu, диск, память, сеть, сокеты, tcp, inodes, infiniband, кластер, память, nfs, процессы, slabs и buddyinfo.

Очень хорошим моментом в использовании collectl является то, что она также может играть роль утилит, созданных только с определенной целью, таких как top, ps, iotop и т.д. Какие особенности делают collectl полезным инструментом? Ниже перечислены некоторые из наиболее важных особенностей утилиты командной строки collectl.

Особенности Collectl

  • Она может работать в интерактивном режиме, в качестве демона.
  • Она может отображать результаты в различных форматах.
  • Она имеет возможность мониторинга практически любой подсистемы.
  • Она включает в себя утилиты, такие как ps, top, iotop и vmstat.
  • Она имеет возможность логгирование данных.
  • Она может экспортировать данные в различные форматы.
  • Он может работать как служба для мониторинга удаленных машин или всего кластера серверов.
  • Он может отображать данные в терминале и записывать в файл или сокет.

Как установить collectl в Linux

Утилита collectl работает во всех дистрибутивах Linux, единственное, что ей требуется для работы, это perl, поэтому перед установкой collectl убедитесь, что на вашей машине установлен Perl.

Установка Collectl в системах Debian

Следующая команда может быть использована для установки утилиты collectl в дистрибутивы на базе Debian, такие как Ubuntu и Linux Mint.

sudo apt install collectl

Установка Collectl в системах RedHat

Если вы используете дистрибутив на базе RedHat, такой как Rocky Linux или AlmaLinux, или любой другой дистрибутив Linux, вы можете легко скачать tarball, распаковать его и запустить.

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 выполняется без каких-либо опций, она отображает информацию о следующих подсистемах:

  • cpu
  • диски
  • сеть

В нашем случае подсистема – это каждый тип системного ресурса, который может быть измерен.

Вы также можете вывести статистику для всех подсистем, кроме slabs, комбинируя команду с опцией --all, как показано ниже.

collectl --all 

Но как контролировать использование процессора с помощью утилиты? Опция -s должна использоваться для управления тем, данные какой подсистемы будут собираться или воспроизводиться. Например, следующая команда может быть использована для мониторинга суммарного использования процессора.

collectl -sc 

Что происходит, когда вы комбинируете команду с scdn? Лучший способ научиться использовать инструменты командной строки – это как можно больше практиковаться, поэтому выполните следующую команду в терминале и посмотрите, что произойдет.

collectl -scdn

Вы можете легко понять, что опцией по умолчанию является cdn, это означает процессор, диски и сетевые данные. Результат команды такой же, как и результат команды collectl -scn

Если вы хотите собрать данные о памяти, используйте следующую команду.

collectl -sm

Приведенный выше результат очень полезен, когда вы хотите получить подробную информацию об использовании памяти, свободной памяти и других важных данных для производительности вашей системы. Как насчет данных о tcp? Используйте для этого следующую команду.

collectl -st

После того, как вы приобретете некоторый опыт, вы сможете легко комбинировать опции для получения нужных вам результатов. Например, вы можете комбинировать t для tcp и c» для cpu. Следующая команда делает это.

collectl -stc

Нам, людям, трудно запомнить все доступные опции, поэтому я привожу краткий список подсистем, поддерживаемых инструментом.

  • b – buddy info (фрагментация памяти)
  • cCPU
  • d – Disk
  • fNFS V3 Data
  • i – Inode и File System
  • j – Interrupts
  • l – Lustre
  • m – Memory
  • n – Networks
  • s – Sockets
  • tTCP
  • x – Interconnect
  • y – Slabs (кэши системных объектов)

Очень важной частью данных для системного администратора или пользователя Linux являются данные об использовании дисков. Следующая команда поможет вам следить за использованием диска.

collectl -sd

Вы также можете использовать опцию -sD для сбора данных об отдельных дисках, но вы должны знать, что информация об общем количестве дисков не будет представлена.

collectl -sD 

Для сбора подробных данных можно использовать и другие подсистемы детализации. Ниже приведен список подсистем детализации.

  • CCPU
  • D – Disk
  • E – Данные об окружающей среде (вентилятор, питание, температура), через ipmitool
  • F – Данные NFS
  • J – Прерывания
  • L – Детали Lustre OST ИЛИ детали клиентской файловой системы
  • N – Сети
  • T – 65 TCP счетчиков, доступных только в формате графика
  • X – Межсоединение
  • Y – Slabs (кэши системных объектов)
  • Z – Processes

В утилите collectl есть много доступных опций, но для того, чтобы охватить их все в одной статье, не хватит времени и места. Однако стоит упомянуть и научить использовать утилиту в качестве top и ps.Очень легко заставить collectl работать в качестве утилиты top, просто выполните следующую команду в терминале, и вы увидите аналогичный вывод, который выдает утилита top при выполнении в вашей системе Linux.

collectl --top

И, наконец, чтобы использовать утилиту collectl в качестве инструмента ps, выполните следующую команду в терминале. Вы получите информацию о процессах в вашей системе так же, как и при выполнении команды «ps» в терминале.

collectl -c1 -sZ -i:1 

Я уверен, что многим системным администраторам Linux понравится инструмент collectl и они почувствуют его мощь при использовании в полной мере. Если вы хотите продвинуть свои знания о collectl на новый уровень, обратитесь к его руководству и продолжайте практиковаться. Просто введите следующую команду в терминале и начните читать.

man collectl 

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен www.tecmint.com

Похожие статьи

Комментарии (0)