ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 리눅스 인스턴스의 성능 지표 모니터링 - sysstat, sar
    각종 학습 요약/Linux 2022. 12. 1. 16:54

    내용


    letsseoul 프로젝트를 진행하면서 aws ec2 amazon linux2의 인스턴스의 성능 지표를 확인할 일이 생겼는데요. 공부한 내용을 정리해서 이야기하는 글입니다.

    개요

    리눅스 인스턴스의 모니터링을 위해 주로 사용되는 패키지는 sysstat, iostat 두 가지가 있습니다. 이 글에서는 제가 직접 사용 중인 aws ec2 amazon linux2를 기준으로 설명할 것이기 때문에 sysstat을 활용하는 법에 대해 설명하려고 합니다.

    sysstat을 설치하고 나면 sar라는 분석툴을 사용할 수 있습니다. cpu, memory, network, disk i/o 등에 대한 지표를 아주 상세하게 확인할 수 있습니다. 😇

    기본 설정 확인

    설치를 하고 나면 /etc/sysconfig/sysstat의 설정을 기반으로 데이터가 수집됩니다. 기본적으로 확인해야 할 설정은 아래와 같습니다.

    1. HISTORY : 성능 로그 파일 보관 일자. 기본값은 28입니다.
    2. COMPRESSAFTER : sar을 통해 압축된 파일의 경과 기간. 기본값은 31입니다.
    3. SADC_OPTIONS : sadc(시스템 활동 분석 수집기)의 파라미터 옵션입니다.
    4. SA_DIR : 로그 저장 경로입니다.
    5. ZIP : 압축된 로그 파일이 포함되는 기본 zip 파일입니다. 기본값은 bzip2입니다.

    SADC(시스템 활동 분석 수집기) 구성

    sadc(시스템 활동 분석 수집기)는 /usr/lib64/sa/sa1/usr/lib64/sa/sa2로 구성되어있습니다.

    sa1은 시스템 활동 일별 데이터를 바이너리로 수집합니다. sa2는 일별 보고서를 작성합니다. 각 구성의 수행 결과는 /var/log/sa 위치에 저장됩니다.
    저장된 파일은 'sa{숫자}' 또는 'sar{숫자}'의 형태로 존재합니다. 숫자는 해당 월의 일자를 의미합니다. 'sa{숫자}' 파일은 바이너리 데이터고 'sar{숫자}' 파일은 보고서입니다.

    사용 방법 1 - 실시간 측정

    sar라고 커맨드를 입력하면 최근 한 시간 정도의 지표를 출력해서 보여줍니다.
    sar 2 5와 같은 식으로 커맨드를 입력하면 2초 간격으로 5회 만큼 실시간 지표를 출력해서 보여줍니다.
    혹은 옵션(예: sar 2 5 {옵션})을 사용해서 여러 지표 중 원하는 보고서만 상세히 확인할 수도 있습니다.

    옵션 설명 비고
    -P {숫자} cpu 사용량 숫자는 개별 CPU나 코어를 의미
    -r 메모리 사용량
    -d -p 블록 디바이스 -p는 /dev에 표시되는 장치의 이름을 표시
    -n TCP|UDP|ALL 네트워크 통계

    사용 방법 2 - 지난 일자 조회

    지난 일자에 대한 보고서는 위에 적었듯 /var/log/sa/sar{숫자}를 열어 확인할 수 있습니다.
    혹은 sar -f /var/log/sasar -f /var/log/sa30와 같이 -f 옵션을 사용해서 가장 최근 또는 지정한 날짜의 지표 보고서를 확인할 수도 있습니다.
    더 상세한 옵션을 사용할 수도 있는데, sar -f /var/log/sa/sa30 -s 04:00:00 -e 04:30:00 -i 600와 같은 식으로 입력하게 되면 '30일의 04시부터 04시 30분까지의 지표를 10분(600초) 간격으로' 출력해서 볼 수도 있습니다.


    출처 및 참고문헌

    댓글

Designed by Tistory.