Collectl: расширенный инструмент отчетности о производительности Linux
Самая важная обязанность системного администратора Linux — следить за тем, чтобы система, которой он/она администрирует, находилась в очень хорошем состоянии. Для системных администраторов Linux доступно множество инструментов, которые могут помочь отслеживать и отображать процессы в системе, такие как top и htop, но ни один из этих инструментов не может конкурировать с collectl.
collectl — это очень удобная многофункциональная утилита командной строки, которую можно использовать для сбора данных о производительности, описывающих текущее состояние системы. В отличие от большинства других инструментов мониторинга, collectl не фокусируется на ограниченном количестве системных показателей, вместо этого он может собирать информацию о множестве различных типов системных ресурсов, таких как процессор, диск, память, сеть, сокеты, TCP, индексные дескрипторы, Infiniband, кластер, память, NFS, процессы, квадрики, плиты и Buddyinfo.
Преимущество использования collectl заключается в том, что он также может играть роль утилит, созданных только для определенной цели, таких как top, ps, iotop и многих других. Какие функции делают collect полезным инструментом?
Ниже приведены некоторые наиболее важные функции утилиты командной строки collectl.
Особенности сбора
- Он может работать в интерактивном режиме, как демон или и то, и другое.
- Он может отображать выходные данные во многих форматах.
- Он имеет возможность контролировать практически любую подсистему.
- Он может играть роль многих других утилит, таких как ps, top, iotop и vmstat.
- Он имеет возможность записи и воспроизведения захваченных данных.
- Он может экспортировать данные в различные форматы файлов. (это очень полезно, если вы хотите проанализировать данные с помощью внешних инструментов).
- Он может работать как служба для мониторинга удаленных компьютеров или всего кластера серверов.
- Он может отображать данные в терминале и записывать в файл или сокет.
Как установить сбор в 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, вы можете легко загрузить архив, распаковать его и запустить, как показано.
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 V3i
— индексный дескриптор и файловая системаj
– Прерыванияl
– Блескm
– Памятьn
– Сетиs
– Сокетыt
– TCPx
– Межсоединениеy
– плиты (кеши системных объектов)
Очень важная часть данных для системного администратора или пользователя Linux — это данные, собранные об использовании диска. Следующая команда поможет вам отслеживать использование диска.
collectl -sd
Вы также можете использовать опцию «-sD
» для сбора данных на отдельных дисках, но вы должны знать, что информация обо всех дисках не будет сообщена.
collectl -sD
Вы также можете использовать другие подсистемы детализации для сбора подробных данных. Ниже приводится список подробных подсистем.
C
— процессорD
— ДискE
— данные об окружающей среде (вентилятор, мощность, температура) через ipmitool.F
– данные NFSJ
– ПрерыванияL
— сведения о Lustre OST ИЛИ сведения о файловой системе клиента.N
– СетиT
— 65 счетчиков TCP доступны только в формате графика.X
– МежсоединениеY
– плиты (кеши системных объектов)Z
– Процессы
В утилите collectl имеется множество опций, но не хватит времени и места, чтобы охватить их все в одной статье. Однако стоит упомянуть и научить пользоваться утилитой как top и ps.
Заставить collectl работать как утилиту top очень легко: просто запустите следующую команду в своем терминале, и вы увидите аналогичный результат в top. Инструмент Strong> дает вам возможность выполнить его в вашей системе Linux.
collectl --top
И теперь последнее, но не менее важное: чтобы использовать утилиту collectl в качестве инструмента ps, выполните следующую команду в своем терминале. Вы получите информацию о процессах в вашей системе так же, как при запуске команды «ps» в своем терминале.
collectl -c1 -sZ -i:1
Я совершенно уверен, что многим системным администраторам Linux понравится инструмент collectl, и они почувствуют его мощь при его использовании в полной мере. Если вы хотите расширить свои знания о collectl на новый уровень, обратитесь к страницам руководства и продолжайте практиковаться.
Просто введите следующую команду в своем терминале и начните читать.
man collectl