New user sign up using AWS Builder ID
New user sign up using AWS Builder ID is currently unavailable on re:Post. To sign up, please use the AWS Management Console instead.
SAR을 구성하고 사용하여 Amazon EC2 Linux 인스턴스의 성능 지표를 모니터링하려면 어떻게 해야 합니까?
시스템 활동 리포터(SAR)를 구성하고 SAR 명령을 사용하여 Amazon Elastic Compute Cloud(Amazon EC2) Linux 인스턴스 성능 지표를 모니터링하려고 합니다.
간략한 설명
SAR 모니터링 도구를 사용하여 CPU, 메모리 및 I/O 사용량에 대한 성능 데이터를 수집하고 과거 지표를 수집하도록 SAR을 구성합니다.
참고: SAR은 sysstat 패키지의 일부이지만 최신 Linux 배포판에서는 기본적으로 이 도구를 사용하지 못할 수 있습니다. 자세한 내용은 Amazon Linux, RHEL, CentOS 또는 Ubuntu를 구동하는 EC2 인스턴스를 위한 ATOP 모니터링 및 SAR 모니터링 도구를 구성하려면 어떻게 해야 합니까?를 참조하십시오.
해결 방법
구성 파일 보기 및 편집
구성 파일에는 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) 작업은 데이터 수집을 수행합니다. 자세한 내용은 Archlinux 웹 사이트에서 SADC(8)를 참조하십시오. 수집된 데이터는 텍스트 형식으로 /var/log/sa/ 디렉터리의 sar## 파일에 저장됩니다.
sadc 작업은 다음과 같은 구성 요소로 구성됩니다.
- sa1 - 일일 시스템 활동 데이터 파일에 바이너리 데이터를 수집하고 저장합니다.
- sa2 - /var/log/sa 디렉터리에 일일 보고서를 작성합니다.
/var/log/sa/ 디렉터리에는 다음과 같은 두 가지 유형의 파일이 들어 있습니다.
- sa## - 시스템 활동 바이너리 데이터 파일.
- sar## - 시스템 활동 텍스트 파일.
**참고:**sa 및 sar 파일 이름의 해시태그 문자는 해당 월의 날짜를 나타냅니다. 자세한 내용은 Archlinux 웹 사이트에서 Files를 참조하십시오.
파티션 및 파일 시스템 통계와 같이 디스크 통계 이외의 데이터도 수집할 수 있습니다.
sadc 작업이 수집하는 데이터를 변경하려면 다음 단계를 완료하십시오.
-
vi 텍스트 편집기를 사용하여 /etc/sysconfig/sysstat 파일에 액세스하려면 다음 명령을 실행합니다.
vi /etc/sysconfig/sysstat
-
SADC_OPTIONS를 -S Disk에서 -S XALL로 변경하려면 다음 명령을 실행합니다.
SADC_OPTIONS=" -S XALL"
데이터 수집 간격 설정
Amazon Linux 1 및 Amazon Linux 2
SAR 유틸리티가 데이터를 생성하기 위해 crontab에서 실행하는 스크립트를 보려면 다음 명령을 실행합니다.
cat /etc/cron.d/sysstat
cron은 기본적으로 10분마다 실행되기 때문에 SAR은 10분마다 데이터를 생성합니다. SAR이 더 짧거나 더 긴 간격으로 데이터를 생성하도록 하려면 이 시간 값을 편집하십시오. 다음 예제 명령은 10분마다 데이터가 생성되도록 설정된 crontab 파일을 보여줍니다.
*/10 * * * * root /usr/lib64/sa/sa1 1 1
1분에 한 번 또는 5분마다 실행되도록 cron을 변경하는 것이 모범 사례입니다. 시간 값을 더 짧은 간격으로 변경하면 관찰 가능한 스파이크가 발생하는 경우가 나타날 수 있습니다.
간격을 변경하려면 다음 단계를 완료하십시오.
-
/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가 재부팅될 때 카운터를 재설정합니다.
Amazon Linux 2023
단위 파일을 편집하고 드롭인 파일 /etc/systemd/system/sysstat-collect.timer.d/override.conf를 생성하려면 다음 명령을 실행합니다.
# systemctl edit sysstat-collect.timer
항목을 추가하려면 다음 명령을 실행합니다.
### Editing /etc/systemd/system/sysstat-collect.timer.d/override.conf ### Anything between here and the comment below will become the new contents of the file [Unit] Description=Run system activity accounting tool every 1 minute [Timer] OnCalendar= OnCalendar=*:00/1 ### Lines below this comment will be discarded
이전 명령에서 빈 "OnCalendar=" 줄은 이전 설정을 제거한 다음 새 설정을 만듭니다.
변경 사항을 다시 로드하려면 다음 systemctl daemon-reload 명령을 실행합니다.
# systemctl daemon-reload
타이머의 상태를 확인하려면 다음 명령을 실행합니다.
# systemctl status sysstat-collect.timer sysstat-collect.timer - Run system activity accounting tool every 1 minute Loaded: loaded (/usr/lib/systemd/system/sysstat-collect.timer; enabled; preset: enabled) Drop-In: /etc/systemd/system/sysstat-collect.timer.d └─override.conf Active: active (running) since Thu 2023-07-20 08:49:55 UTC; 18s ago Until: Thu 2023-07-20 08:49:55 UTC; 18s ago Trigger: n/a Triggers: ● sysstat-collect.service
성능 보고서 생성
CPU 사용량 보고서
CPU 사용량 데이터 보고서를 생성하려면 sar 명령을 사용합니다. 다음 예제 명령은 2초마다 5번씩 사용량 데이터 보고서를 생성합니다.
sar 2 5 -P 0
참고: 위 명령에서 -P는 개별 CPU 또는 코어를 나타냅니다. 통계를 생성하려는 CPU 또는 코어를 나타내는 숫자를 입력합니다. 예를 들어 1, 2 또는 3입니다. 또는 모든 CPU의 통계를 표시하려면 -P ALL 명령을 사용합니다.
메모리 통계 보고서
메모리 통계 보고서를 생성하려면 -r 옵션을 사용합니다. 다음 예제 명령은 2초마다 5번씩 메모리 통계를 생성합니다.
sar -r 2 5
블록 디바이스 통계 보고서
블록 디바이스 통계 보고서를 생성하려면 -d 옵션을 사용합니다. 다음 예제 명령은 2초마다 5번씩 블록 디바이스 통계를 생성합니다. 다음 예제에서 -p 옵션은 /dev에 표시되는 디바이스 이름을 표시합니다.
sar -d -p 2 5
네트워크 통계 보고서
네트워크 통계 보고서를 생성하려면 -n 옵션을 사용합니다. 다음 예제 명령은 특정 엔터티에 대한 통계를 생성합니다.
sar -n TCP 2 5 sar -n UDP 2 5 sar -n ALL 2 5
참고: 위의 명령은 TCP, UDP, NFS(네트워크 파일 시스템) 또는 모두에 대한 통계를 생성할 수 있습니다.
최신 로그 파일 읽기
/var/log의 최신 로그 파일에서 세부 정보를 추출하려면 sar 명령을 실행합니다. 다음 명령은 -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시에서 오후 5시 사이에 생성된 로그 파일의 블록 디바이스 통계를 표시합니다.
sar -f /var/log/sa/sa30 -dp -s 02:00:00 -e 05:00:00
관련 정보
Linux 웹 사이트의 sar(1) -Linux 매뉴얼 페이지

관련 콘텐츠
- 질문됨 2달 전lg...
- 질문됨 일 년 전lg...
- 질문됨 일 년 전lg...
- 질문됨 2달 전lg...
- 질문됨 2달 전lg...
- AWS 공식업데이트됨 일 년 전