atop 도구를 사용하여 EC2 Linux 인스턴스의 프로세스에 대한 과거 사용률 통계를 얻으려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 10월 25일

Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 과거 리소스 사용량을 모니터링하고 싶습니다. 이 작업을 수행하기 위해 atop 도구를 어떻게 사용할 수 있습니까?

간략한 설명

atop 도구는 추후 분석을 위해 과거 리소스 사용량을 기록하는 성능 모니터링 도구입니다. 이 도구는 실시간 보고를 수행할 수도 있습니다. 각 프로세스 및 스레드에 대한 CPU 사용률, 메모리 사용량 및 디스크 I/O를 검색할 수 있습니다. atop 도구는 백그라운드에서(서비스로서) 활성 상태를 유지하고 통계를 기록하므로 장기적인 서버 분석이 가능합니다. 통계는 기본적으로 28일 동안 저장됩니다.

해결 방법

atop 설치

기록 검토 및 분석을 위해 atop 보고서 로그 읽기

atop 도구는/var/log/atop에 로그 파일을 생성합니다. 이러한 파일의 이름은 “atop_ccyymmdd” 형식으로 지정됩니다. 예를 들어, “atop_20210902"는 2021년 9월 2일의 기록입니다.

로그 파일에 액세스하려면 atop -r atoplogfilepath 명령을 실행합니다. atoplogfilepath를 atop 로그 파일의 전체 경로로 바꿉니다. 명령 및 로그 파일은 다음 예에 나와 있습니다.

atop -r /var/log/atop/atop_20210902 

ATOP - ip-172-20-139-91                2021/09/02  17:03:44                ----------------                 3h33m7s elapsed
PRC |  sys    6.51s  |  user   7.85s  |  #proc    103  |  #tslpi    81 |  #tslpu     0  |  #zombie    0  |  #exit      0  |
CPU |  sys     0%  |  user      3%  |  irq       0%  |  idle    197% |  wait      0%  |  ipc notavail  |  curscal   ?%  |
cpu |  sys     0%  |  user      1%  |  irq       0%  |  idle     98% |  cpu000 w  0%  |  ipc notavail  |  curscal   ?%  |
cpu |  sys     0%  |  user      1%  |  irq       0%  |  idle     98% |  cpu001 w  0%  |  ipc notavail  |  curscal   ?%  |

앞의 출력 예에서 기록된 첫 번째 스냅샷은 2021년 9월 2일 17시 03분 44초에 기록된 것입니다. 다음 스냅샷으로 이동하려면 키보드의 "t" 키를 누릅니다. 이전 스냅샷으로 돌아가려면 "T"(대문자 "t“) 키를 누릅니다.

특정 시간대를 분석하려면 "b" 키를 누른 다음 날짜와 시간을 입력합니다. atop 도구는 새 시간 입력 변수에 지정된 시간으로 건너뜁니다.

NET |  lo      ----  |  pcki       2  |  pcko       2  |  sp    0 Mbps |  si    0 Kbps  |  so    0 Kbps  |  erro       0  |
Enter new time (format [YYYYMMDD]hhmm):
  PID              TID              RDDSK              WRDSK             WCANCL              DSK             CMD        1/4

단축키

단축키를 눌러 다양한 통계를 볼 수 있습니다. 다음은 단축키의 예제입니다.

단축키 설명
g 일반 정보(기본값).
m 메모리 세부 정보.
d 디스크 세부 정보.
n 네트워크 세부 정보. 이 키는 netatop 커널 모듈이 설치된 경우에만 작동합니다.
c 프로세스당 전체 명령줄

다음 단축키를 사용하여 프로세스 목록을 정렬할 수 있습니다.

단축키 정렬 기준
C CPU 활동.
M 메모리 소비.
D 디스크 활동.
N 네트워크 활동. 이 키는 netatop 커널이 설치된 경우에만 작동합니다.
A 가장 활발한 시스템 리소스(자동 모드).

h 키를 누르면 도움말 문서를 볼 수 있습니다.

atopsar 명령

atopsar 명령은 기존의 UNIX sar 명령과 유사한 기능입니다. atopsar 명령을 사용하여 다양한 시스템 활동 보고서를 생성할 수 있습니다.

atopsar 명령은 색상 코딩 및 (요청 시)마커를 사용하여 리소스 사용률을 강조합니다. 중요 사용률은 빨간색으로 표시되고 유사 중요 사용률은 청록색으로 표시됩니다.

다음 예에서 "-c“ 플래그를 사용하면 시스템의 현재 CPU 사용률에 대한 보고서가 생성됩니다. 다음 예제에서는 1초 간격으로 두 가지 결과를 보여 줍니다.

$ atopsar -c 1 2

ip-172-20-139-91  4.14.238-182.422.amzn2.x86_64  #1 SMP Tue Jul 20 20:35:54 UTC 2021  x86_64  2021/09/02

-------------------------- analysis date: 2021/09/02 --------------------------

18:50:16  cpu  %usr %nice %sys %irq %softirq  %steal %guest  %wait %idle  _cpu_
18:50:17  all     0     0    0    0        0       0      0      0   200
            0     0     0    0    0        0       0      0      0   100
            1     0     0    0    0        0       0      0      0   100
18:50:18  all     0     0    0    0        0       0      0      0   200
            0     0     0    0    0        0       0      0      0   100
            1     0     0    0    0        0       0      0      0   100

atopsar 명령은 기록 데이터도 분석할 수 있습니다. 예를 들어 다음 명령을 실행하면 현재 날짜의 13시 00분(-b)에 시작하여 13시 35분(-e)에 끝나는 모든 보고서(-A)를 생성합니다.

atopsar -A -b 13:00 -e 13:35

-r" 옵션을 사용하고 로그 파일 이름을 지정하여 이전 날의 파일을 읽을 수 있습니다.