Linux 시스템 성능 모니터링 도구 소개 -tsar

성능 모니터링 도구
Linux를 사용하는 과정에서 시스템이 많은 Linux 시스템 모니터링 도구를 제공한다는 점이 더 골칫거리입니다. 이러한 도구를 완전하고 합리적으로 사용하여 CPU, 메모리, 디스크 등 시스템 운영의 성능 병목 현상을 파악하는 방법 및 네트워크 병목 현상. 인터넷과 마찬가지로 많은 관리자가 배워야하는 20 가지 기본 도구가 있습니다. 여기서는 하나씩 소개하지 않겠습니다. 다음은 사용되는 몇 가지 추가 모니터링 도구이며 문제를 더 빨리 찾는 데 도움이되는 것입니다.

시스템 리소스 분석
시스템 성능 모니터링 및 분석 도구와 관련하여 Brendan Gregg의 시스템 분석을 언급해야합니다. 그의 다이어그램은 응용 프로그램, 시스템 호출, 커널, 프로토콜 스택 및 하드웨어 간의 관계를 체계적으로 보여줍니다. 대화 형. 관심있는 친구들은이 그림의 명령을 결합하여 시스템 문제를 모니터링, 분석 및 찾을 수 있습니다. 

모니터링 도구 : tsar
소개 
Tsar는 Taobao 자체에서 개발 한 수집 도구로, 주로 서버 시스템 정보 (예 : cpu, io, mem, tcp 등) 및 애플리케이션 데이터 (예 : squid haproxy nginx 등)를 수집하는 데 사용됩니다. .). 수집 된 데이터는 디스크에 저장되며 이력 정보는 언제든지 조회 할 수 있으며 출력 방식은 유연하고 다양하며 mysql에 데이터를 저장하거나 nagios 알람 서버로 데이터를 전송할 수 있습니다. tsar가 데이터를 표시 할 때 모듈을 지정하고 여러 정보의 데이터를 병합 할 수 있으며 -live 매개 변수를 사용하면 실시간 정보를 초 단위로 출력 할 수 있습니다.

전체 아키텍처 
Tsar는 모듈 식 설계에 기반한 프로그램으로 프레임 워크와 모듈의 두 부분으로 구성됩니다. 
프레임 워크 프로그램의 소스 코드는 주로 src 디렉토리에 있고 모듈의 소스 코드는 주로 modules 디렉토리에 있습니다. 
프레임 워크는 애플리케이션 모듈의 인터페이스를 통해 구성 파일 구문 분석, 모듈로드, 명령 줄 매개 변수 구문 분석, 모듈 원시 데이터 구문 분석 및 출력을 제공합니다. 모듈은 프레임 워크가 호출 할 인터페이스를 제공합니다. 
Tsar는 cron을 사용하여 매분 데이터를 수집하므로 crond를 설치하고 활성화 할 시스템이 필요합니다. 설치 후 tsar는 매분 tsar -cron을 실행하여 정기적으로 정보를 수집하고 원본 로그 파일에 기록합니다.

tsar 환경 설치 가이드 :

]# wget -O tsar.zip https://github.com/alibaba/tsar/archive/master.zip --no-check-certificate
]# unzip tsar.zip
]# cd tsar
]# make && make install

오류보고 질문 1 : 그림에 표시된대로 명령을 찾을 수 없습니다. yum을 사용하여 압축을 풉니 다.

오류 문제 2 : gcc가 설치되어 있지 않아 Make 컴파일 오류가보고 됨 yum을 통해 gcc 컴파일러를 설치 한 후 다음 make를 실행합니다.

배포 중 시간이 지정된 작업 (나중에 바로 사용할 수 있음)

]# crontab -e * * * * * root /usr/bin/tsar --cron > /dev/null 2>&1

Tsar 구성 소개

tsar의 도입은 이전에 소개되었으므로 이제 tsar의 구성을 살펴 보겠습니다.

타이밍 작업 구성 : /etc/cron.d/tsar

cat  /etc/cron.d/tsar

위와 같이 /etc/cron.d/tsar는 데이터 수집을 수행하기 위해 1 분마다 root 사용자 역할로 tsar 명령을 호출하는 역할을합니다.

로그 파일 회전 : /etc/logrotate.d/tsar

cat /etc/logrotate.d/tsar 

로그 파일 회전 구성에서 tsar의 로컬 스토리지는 매월 회전되며 데이터도 여기 /var/log/tsar.data 아래에 설정됩니다.

구성 파일 : /etc/tsar/tsar.conf

cat /etc/tsar/tsar.conf

/etc/tsar/tsar.conf는 tsar의 획득 모듈 및 출력의 특정 구성을 담당하며 여기에서 활성화되는 모듈, 출력 및 기타 내용을 구성합니다.

tsar 모듈 라이브러리

모듈 경로 : / usr / local / tsar / modules, 각 모듈의 동적 라이브러리 so 파일;

tsar 사용 소개

tsar 사용시 다음 도움말 정보를 참조하여 해당 모니터링을 완료 할 수 있습니다.

tsar -h

사용법 : 황제는 [옵션]
옵션 :
    마지막으로 수집 된 데이터보기 - 체크
    등 --check / -C보기 마지막 황제의 알림 정보 : 황제 --check / 황제 --check --cpu --io을
    - 모니터링 차르에 대한 크론 / -c를 사용 있으며 crond 모드
    --interval / -i 황제의 간격이 기본 단위가 --live 매개 변수, 단위는 초, 분을 나타냅니다 
    (가) 모듈을 사용할 수 --list / -L 목록
    - -live / -l 실시간 데이터보기
    --file / -f 입력 파일 지정
    --ndays / -n 과거 데이터 일 수 지정, 기본값은 1 일
    --date / -d 날짜 지정 , YYYYMMDD 또는 n은 n 일 전을 나타냅니다     .-- detail /
    -D는 기본 필드 또는 모듈의 모든 필드를 보도록 지정할 수 있습니다
.-- spec / -s는 필드를 지정합니다. tsar --cpu -s sys, util

활성화 된 모듈 :
    --cpu CPU 관련 모니터링 수 나열-mem
    물리적 메모리 사용량-
    스왑 가상 메모리 사용량-tcp
    TCP 프로토콜 IPV4 사용량-udp
    UDP 프로토콜 IPV4
    사용량-트래픽 네트워크 나가는 사용량     -io
    Linux IO-
pcsw 프로세스 및 컨텍스트 전환-     파티션
    디스크 사용량
-tcpx TCP 연결 관련 데이터 매개 변수-
    로드 시스템로드

tsar cpu 모니터링 :

아래에 표시된대로 매개 변수 -cpu를 사용하여 시스템의 CPU를 모니터링 할 수 있으며, 매개 변수 사용자는 사용자 공간 cpu, sys 커널 공간 cpu 사용량을 나타내고, wait는 IO에 해당하는 cpu 사용량, hirq 및 sirq는 하드웨어 인터럽트 및 소프트웨어 인터럽트입니다. , Util은 시스템에서 사용하는 총 CPU 양입니다. 다음 표의 데이터는 현재 시스템이 CPU의 약 30 %를 사용했음을 보여줍니다.

tsar는 가상 스토리지 및로드 상태를 모니터링합니다.

다음 그림은 해당 시스템 스왑 사용량 및로드 사용량을 나열합니다.

tsar 메모리 사용량

다음 그림은 시스템 메모리 사용량을 보여줍니다.

tsar io 사용법

다음 그림은 tsar를 사용하여 시스템 IO 상태를 모니터링하는 방법을 보여줍니다.

tsar 네트워크 모니터링 통계

 

tsar 체크 알람 정보

시스템의 CPU 및 io 경보를 포함하는 마지막 tsar의 알림 정보를 봅니다.

 

차르 히스토리 데이터 역 추적

이틀 전부터 현재까지의 데이터는 매개 변수 -d 2를 통해 찾을 수 있으며, -i 1은 매번 1 분을 수집하여 표시하는 것을 의미합니다.

 

추천

출처blog.csdn.net/weixin_45942735/article/details/114121731