EC2 Linux 인스턴스의 성능 지표를 모니터링하도록 SAR을 구성하고 사용하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 4월 13일

System Activity Reporter(SAR)를 구성하고 SAR 명령을 사용하여 Amazon Elastic Compute Cloud(Amazon EC2) Linux 인스턴스의 성능 지표를 모니터링하려고 합니다. 어떻게 해야 하나요?

간략한 설명

SAR 모니터링 도구를 사용하면 CPU, 메모리 및 I/O 사용량에 필요한 성능 데이터를 수집할 수 있습니다. 기록 지표를 수집하도록 SAR을 구성할 수 있습니다.

해결 방법

SAR 설치

sysstat 패키지의 일부인 SAR은 최신 Linux 배포판에서는 기본적으로 제공되지 않을 수 있습니다. 자세한 설치 지침은 Amazon Linux, RHEL, CentOS 또는 Ubuntu를 실행하는 EC2 인스턴스에 대해 ATOP 및 SAR 모니터링 도구를 구성하려면 어떻게 해야 합니까?를 참조하세요.

구성 개요

설치 후 /etc/sysconfig/sysstat 구성 파일을 보고 편집할 수 있습니다. 구성 파일에는 다음과 같은 기본값이 포함되어 있습니다.
  • HISTORY=28 - 이 파라미터는 SAR에 성능 로그 파일이 보관되는 기간을 결정합니다. 기본값은 28일입니다.
  • COMPRESSAFTER=31 - 이 파라미터는 SAR을 통해 압축할 파일의 경과 기간을 결정합니다. 기본값은 31입니다.
    참고: 28일을 초과하여 로그 파일을 보관하도록 구성 파일을 설정하는 경우 SAR은 각 월의 파일을 별도의 디렉터리에 보관합니다.
  • SA_DIR=/var/log/sa - SAR이 로그 파일을 저장하는 위치입니다.
  • ZIP="bzip2" - 압축된 로그 파일이 포함되는 기본 zip 파일입니다. 31일을 초과하여 파일을 보관하는 경우 압축을 활성화해야 합니다. 압축 파일은 디스크에서 가능한 최소한의 공간을 차지합니다.

sadc(시스템 활동 데이터 수집기) 작업은 데이터 수집을 수행합니다. 수집된 데이터는 텍스트 형식으로 작성되며 /var/log/sa/ 디렉터리의 sar## 파일에 포함됩니다.

sadc 작업은 2가지 구성 요소로 분류됩니다.

  1. sa1 - 시스템 활동 일별 데이터 파일의 바이너리 데이터를 수집하고 저장합니다.
  2. sa2 - /var/log/sa 디렉터리에 일별 보고서를 작성합니다.

/var/log/sa/ 디렉터리에는 다음 2가지 파일 세트가 포함됩니다.

  • sa# - 시스템 활동 바이너리 데이터 파일입니다.
  • sar## - 시스템 활동 보고서 파일입니다.

참고: ##은 해당 월의 날짜를 나타냅니다.

디스크 통계 이외의 데이터(예: 파티션 및 파일 시스템 통계) 를 수집할 수있습니다. 수집되는 데이터를 변경하려면 다음을 수행합니다.

1.    vi 편집기와 같은 텍스트 편집기를 사용하여 /etc/sysconfig/sysstat 파일에 액세스합니다.

vi /etc/sysconfig/sysstat

2.    SADC_OPTIONS-S Disk에서 -S XALL로 변경합니다.

SADC_OPTIONS=" -S XALL"

데이터 수집 간격 설정

SAR 유틸리티가 데이터를 생성하기 위해 현재 crontab에서 실행하는 스크립트를 보려면 다음 명령을 실행합니다.

cat /etc/cron.d/sysstat

기본적으로 SAR은 10분마다 데이터를 생성합니다. cron이 10분 간격으로 실행되기 때문입니다. 이 시간을 편집하여 SAR에서 더 짧거나 긴 간격으로 데이터가 생성되도록 할 수 있습니다. 다음은 데이터가 10분마다 생성되도록 설정되었음을 보여주는 crontab 파일의 예입니다.

*/10 * * * * root /usr/lib64/sa/sa1 1 1

cron을 5분 또는 1분 간격으로 실행하도록 변경하는 것이 가장 좋습니다. 더 짧은 간격으로 변경하면 스파이크가 관찰되는 경우 또는 지속적인 모니터링이 필요한 시기를 파악할 수 있습니다.

간격을 변경하려면 다음을 수행합니다.

1.    /etc/cron.d/sysstat 파일에 액세스합니다.

vim /etc/cron.d/sysstat

10에서 5로 실행 시간을 변경합니다:

@reboot /usr/lib64/sa/sa1 --boot
*/5 * * * * root /usr/lib64/sa/sa1 1 1

참고: 이전 예제에서 @reboot 줄은 OS 재부팅 시 카운터를 재설정합니다. 이 옵션은 선택 사항이지만 모범 사례입니다.

필요에 따라 성능 보고서를 생성하는 예제 명령

CPU 사용량 보고서

CPU 사용량 데이터 보고서를 생성하려면 sar 명령을 사용합니다. 다음 예제 명령은 사용량 데이터 보고서를 2초 간격으로 5회 생성합니다. 다음 명령에서 -P는 개별 CPU 또는 코어를 나타냅니다. 0, 1, 2, 3 등을 사용하는 통계를 생성할 CPU 또는 코어를 나타냅니다. 또는 -P ALL 명령을 사용하여 모든 CPU에 대한 통계를 표시할 수 있습니다.

sar 2 5 -P 0

메모리 통계 보고서

메모리 통계 보고서를 생성하려면 -r 옵션을 사용합니다. 다음 예제 명령은 메모리 통계를 2초 간격으로 5회 생성합니다.

sar -r 2 5

블록 디바이스 통계 보고서

블록 디바이스 통계 보고서를 생성하려면 -d 옵션을 사용합니다. 다음 예제 명령은 블록 디바이스 통계를 2초마다 5회 생성합니다. 다음 예에서 -p 옵션은 /dev에 나타나는 디바이스 이름을 표시합니다.

sar -d -p 2 5

네트워크 통계 보고서

네트워크 통계 보고서를 생성하려면 -n 옵션을 사용합니다. 다음 예제와 같이 TCP, UDP, NFS 등 또는 ALL과 같은 특정 엔터티에 대한 통계를 생성할 수 있습니다.

sar -n TCP 2 5
sar -n UDP 2 5
sar -n ALL 2 5

가장 최근 로그 파일 읽기

sar 명령을 실행하면 /var/log의 최신 로그 파일에서 세부 정보가 추출됩니다. 전체 파일을 읽으려면 다음 예제와 같이 -f 옵션을 사용합니다.

sar -f /var/log/sa

특정 날짜에 대한 로그 세부 정보 추출

로그 파일은 일별로 저장됩니다. 특정 날짜에 대한 세부 정보를 추출하려면 해당 날짜의 관련 sa 파일에 -f 옵션을 사용합니다. 예를 들어 다음 명령은 현재 월의 12일의 데이터를 포함하는 로그 파일에서 모든 데이터를 표시합니다.

sar -f /var/log/sa/sa12

로그 파일에서 특정 통계 읽기

메모리 통계

모든 메모리 통계를 읽으려면 -r 옵션을 사용합니다. 다음 예제 명령은 해당 월의 12일에 생성된 로그 파일에서 모든 메모리 통계를 표시합니다.

sar -f /var/log/sa/sa12 -r

I/O 활동

결합된 모든 I/O 활동을 표시하려면 -b 옵션을 사용합니다. 다음 예제 명령은 해당 월의 12일에 생성된 로그 파일에서 모든 I/O 작업을 표시합니다.

sar -f /var/log/sa/sa12 -b

블록 디바이스 통계

블록 디바이스 통계를 표시하려면 -dp 옵션을 사용합니다. 다음 예제 명령은 해당 월의 12일에 생성된 로그 파일에서 블록 디바이스 통계를 표시합니다.

sar -f /var/log/sa/sa12 -dp

네트워크 통계

네트워크 통계를 표시하려면 -n 옵션을 사용합니다. 다음 예제 명령은 해당 월의 12일에 생성된 로그 파일에서 모든 네트워크 통계를 표시합니다.

sar -f /var/log/sa/sa12 -n ALL

CPU 통계

CPU 통계를 표시하려면 -P 옵션을 사용합니다. 다음 예제 명령은 CPU 0에 대한 CPU 통계를 표시합니다.

sar -f /var/log/sa/sa12 -P 0

특정 기간에 대한 통계 보기

-s-e 옵션을 사용하여 시작 및 종료 시간을 지정할 수 있습니다. 입력한 시간은 24시간 형식이어야 합니다. 기본 종료 시간은 18:00입니다. 다음 예제 명령은 해당 월의 30일에 2:00~5:00 사이에 생성된 로그 파일에서 블록 디바이스 통계를 표시합니다.

sar -f /var/log/sa/sa30 -dp -s 02:00:00 -e 05:00:00

이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?