Collectl: 고급 Linux 성능 보고 도구


Linux 시스템 관리자의 가장 중요한 의무는 자신이 관리하는 시스템이 매우 양호한 상태인지 확인하는 것입니다. Linux 시스템 관리자가 htop과 같은 시스템의 프로세스를 모니터링하고 표시하는 데 도움이 되는 많은 도구가 있지만 이러한 도구 중 어느 것도 collectl과 경쟁할 수 없습니다.

collectl은 현재 시스템 상태를 설명하는 성능 데이터를 수집하는 데 사용할 수 있는 기능이 풍부한 명령줄 유틸리티입니다. 대부분의 다른 모니터링 도구와 달리 collectl은 제한된 수의 시스템 메트릭에 초점을 맞추지 않고 대신 cpu, 디스크, 메모리, 네트워크, 소켓, tcp, inodes, infiniband와 같은 다양한 유형의 시스템 리소스에 대한 정보를 수집할 수 있습니다. , 클러스터, 메모리, nfs, 프로세스, quadrics, slabs 및 buddyinfo.

collectl을 사용할 때 매우 좋은 점은 iotop 등과 같은 특정 목적으로만 설계된 유틸리티의 역할도 수행할 수 있다는 것입니다. colleclt를 유용한 도구로 만드는 몇 가지 기능은 무엇입니까?

다음은 여러분을 위한 collectl 명령줄 유틸리티의 가장 중요한 기능 중 일부입니다.

  • 데몬 또는 둘 다로 대화식으로 실행할 수 있습니다.
  • 다양한 형식으로 출력을 표시할 수 있습니다.
  • 거의 모든 하위 시스템을 모니터링할 수 있습니다.
  • ps, top, iotop 및 vmstat와 같은 다른 많은 유틸리티 역할을 할 수 있습니다.
  • 캡처한 데이터를 기록하고 재생하는 기능이 있습니다.
  • 다양한 파일 형식으로 데이터를 내보낼 수 있습니다. (외부 도구로 데이터를 분석하고자 할 때 매우 유용합니다.)
  • 원격 시스템 또는 전체 서버 클러스터를 모니터링하는 서비스로 실행할 수 있습니다.
  • 터미널에 데이터를 표시하고 파일이나 소켓에 쓸 수 있습니다.

Linux에서 collectl을 설치하는 방법

collectl 유틸리티는 모든 Linux 배포판에서 실행되며 실행에 필요한 유일한 것은 perl이므로 머신에 collectl을 설치하기 전에 머신에 Perl이 설치되어 있는지 확인하십시오(사전 설치됨).

다음 명령을 사용하여 Ubuntu 및 Linux Mint와 같은 Debian 기반 배포판에 collectl 유틸리티를 설치할 수 있습니다.

$ sudo apt-get install collectl

Rocky Linux 또는 AlmaLinux와 같은 RedHat 기반 배포판 또는 기타 Linux 배포판을 사용하는 경우 tarball을 쉽게 다운로드하고 압축을 풀고 표시된 대로 실행할 수 있습니다.

# wget https://sourceforge.net/projects/collectl/files/latest/download -O collectl.tar.gz
# tar -xvf collectl.tar.gz
# cd collectl-*
# ./INSTALL

Linux에서 Collectl 모니터링 도구 사용

collectl 도구의 설치가 완료되면 별도의 옵션 없이도 터미널에서 쉽게 실행할 수 있습니다. 다음 명령은 매우 짧고 사람이 읽을 수 있는 형식으로 CPU, 디스크 및 네트워크 통계에 대한 정보를 표시합니다.

# collectl

터미널 화면에 표시된 위의 출력에서 볼 수 있듯이 명령 출력에 있는 시스템 메트릭 값은 한 줄에 나타나기 때문에 작업하기가 매우 쉽습니다.

옵션 없이 collectl 유틸리티를 실행하면 다음 하위 시스템에 대한 정보가 표시됩니다.

  • cpu
  • 디스크
  • 네트워크

참고: 우리의 경우 하위 시스템은 측정할 수 있는 모든 유형의 시스템 리소스입니다.

아래와 같이 명령을 --all 옵션과 결합하여 슬래브를 제외한 모든 하위 시스템에 대한 통계를 표시할 수도 있습니다.

# collectl --all

그러나 유틸리티를 사용하여 CPU 사용량을 어떻게 모니터링합니까? -s 옵션은 수집하거나 재생할 하위 시스템 데이터를 제어하는 데 사용해야 합니다.

예를 들어 다음 명령을 사용하여 CPU 사용량 요약을 모니터링할 수 있습니다.

# collectl -sc

명령을 scdn과 결합하면 어떻게 됩니까? 명령줄 도구를 사용하는 방법을 배우는 가장 좋은 방법은 가능한 한 많이 연습하는 것이므로 터미널에서 다음 명령을 실행하고 어떤 일이 발생하는지 확인하십시오.

# collectl -scdn

기본 옵션은 cdn이며 cpu, 디스크 및 네트워크 데이터를 나타냅니다. 명령의 결과는 collectl -scn의 출력과 동일합니다.

메모리에 대한 데이터를 수집하려면 다음 명령을 사용하십시오.

# collectl -sm

위의 출력은 메모리 사용량, 여유 메모리 및 기타 시스템 성능에 대한 중요한 정보에 대한 자세한 정보를 얻고자 할 때 매우 유용합니다.

tcp의 일부 데이터는 어떻습니까? 다음 명령을 사용하십시오.

# collectl -st

약간의 경험을 쌓은 후에 옵션을 쉽게 결합하여 원하는 결과를 얻을 수 있습니다. 예를 들어, tcp에 대한 t와 cpu에 대한 c를 결합할 수 있습니다. 다음 명령은 이를 수행합니다.

# collectl -stc

우리 인간은 사용 가능한 모든 옵션을 기억하기 어렵기 때문에 도구에서 지원하는 하위 시스템의 요약 목록을 게시하고 있습니다.

  • b – 버디 정보(메모리 단편화)
  • c – CPU
  • d – 디스크
  • f – NFS V3 데이터
  • i – Inode 및 파일 시스템
  • j – 인터럽트
  • l – 광택
  • m – 메모리
  • n – 네트워크
  • s – 소켓
  • <코드>t – TCP
  • x – 상호 연결
  • y – 슬랩(시스템 개체 캐시)

시스템 관리자 또는 Linux 사용자에게 매우 중요한 데이터는 디스크 사용에 대해 수집된 데이터입니다. 다음 명령은 디스크 사용량을 모니터링하는 데 도움이 됩니다.

# collectl -sd

-sD 옵션을 사용하여 개별 디스크에 대한 데이터를 수집할 수도 있지만 전체 디스크에 대한 정보는 보고되지 않는다는 점을 알아야 합니다.

# collectl -sD

다른 세부 하위 시스템을 사용하여 자세한 데이터를 수집할 수도 있습니다. 다음은 세부 하위 시스템 목록입니다.

  • C – CPU
  • D – 디스크
  • E – ipmitool을 통한 환경 데이터(팬, 전력, 온도)
  • F – NFS 데이터
  • J – 인터럽트
  • L – Lustre OST 세부 정보 또는 클라이언트 파일 시스템 세부 정보
  • N – 네트워크
  • T – 플롯 형식으로만 사용 가능한 65개의 TCP 카운터
  • X – 상호 연결
  • Y – 슬랩(시스템 개체 캐시)
  • Z – 프로세스

collectl 유틸리티에는 사용 가능한 많은 옵션이 있지만 단 하나의 문서에서 모든 옵션을 다루기에는 시간과 공간이 충분하지 않습니다. 그러나 유틸리티를 top과 ps로 사용하는 방법을 언급하고 가르치는 것은 가치가 있습니다.

collectl을 최상위 유틸리티로 사용하는 것은 매우 쉽습니다. 터미널에서 다음 명령을 실행하기만 하면 Linux 시스템에서 실행될 때 최상위 도구에서 제공하는 유사한 출력을 볼 수 있습니다.

# collectl --top

마지막으로 ps 도구로 collectl 유틸리티를 사용하려면 터미널에서 다음 명령을 실행하십시오. 터미널에서 ps 명령을 실행할 때와 같은 방식으로 시스템의 프로세스에 대한 정보를 얻을 수 있습니다.

# collectl -c1 -sZ -i:1

저는 많은 Linux 시스템 관리자가 collectl 도구를 좋아하고 이를 최대한 활용할 때 그 힘을 느낄 것이라고 확신합니다. 수집에 대한 지식을 다음 단계로 발전시키고 싶다면 매뉴얼 페이지를 참조하고 계속 연습하세요.

터미널에 다음 명령을 입력하고 읽기 시작하십시오.

# man collectl