Самая важная обязанность системного администратора 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 (фрагментация памяти)c– CPUd– Diskf– NFS V3 Datai– Inode и File Systemj– Interruptsl– Lustrem– Memoryn– Networkss– Socketst– TCPx– Interconnecty– Slabs (кэши системных объектов)
Очень важной частью данных для системного администратора или пользователя Linux являются данные об использовании дисков. Следующая команда поможет вам следить за использованием диска.
collectl -sd

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

Для сбора подробных данных можно использовать и другие подсистемы детализации. Ниже приведен список подсистем детализации.
C– CPUD– DiskE– Данные об окружающей среде (вентилятор, питание, температура), через ipmitoolF– Данные NFSJ– Прерывания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



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