atop 도구를 사용하여 Linux 시스템 지표를 모니터링하는 방법: 설치, 구성 및 사용법 완벽 가이드

리눅스 시스템 운영 과정에서 시스템 자원과 프로세스 상태를 실시간으로 종합적으로 모니터링하는 것은 매우 중요합니다. atop 도구는 강력한 모니터링 도구로서, 이를 쉽게 달성하도록 도와줍니다. 본 문서에서는 리눅스 인스턴스에 atop 모니터링 도구를 설치, 구성 및 사용하는 방법을 자세히 설명하겠습니다.

일반적으로 사용되는 atop 도구 소개

atop은 Linux 시스템 리소스 및 프로세스를 모니터링하는 데 특화된 도구입니다. 시스템과 프로세스의 활동을 기록하고 모든 프로세스의 실행 상황을 보고합니다. 이 도구는 CPU, 메모리, 디스크, 네트워크 등 리소스 사용량 정보와 프로세스 상태 데이터를 수집하며, 데이터를 로그 파일 형태로 디스크에 저장할 수도 있습니다. 각 프로세스별로 CPU 사용률, 메모리 증가량, 디스크 사용률, 우선순위, 사용자 이름, 상태 및 종료 코드 등의 주요 정보를 얻을 수 있습니다. 또한 atop 설정 파일을 통해 로그 수집 빈도, 로그 파일 저장 경로 및 로테이션 정책과 같은 매개변수를 사용자 정의할 수 있습니다.

두 번째, atop 도구 설치

다양한 Linux 배포판에서 atop을 설치하는 방법은 약간씩 다르며, 다음에서는 일반적인 운영체제를 기준으로 설명하겠습니다

  1. Alibaba Cloud Linux 3/2、CentOS 7/8、Fedora、Rocky Linux 9

    • 실행 설치 명령: sudo yum install -y atop
    • atop 서비스를 시작합니다: sudo systemctl start atop
  2. Ubuntu / Debian

    • 소프트웨어 저장소 목록 업데이트: sudo apt update
    • 실행 설치 명령: sudo apt install -y atop
    • atop 서비스를 시작합니다: sudo systemctl start atop
  3. CentOS Stream 9

    • 다운로드 및 설치: sudo wget https://www.atoptool.nl/download/atop-2.11.0-1.el9.x86_64.rpm && sudo rpm -i atop-2.11.0-1.el9.x86_64.rpm
    • atop 서비스를 시작합니다: sudo systemctl start atop
  4. openSUSE

    • 실행할 설치 명령: sudo zypper install -y atop atop-daemon
    • atop 서비스를 시작합니다: sudo systemctl start atop

위에 나열된 운영체제에 사용하시는 배포판이 포함되어 있지 않다면, atop 공식 웹사이트에서 설치 정보를 확인하실 수 있습니다

세, 모니터링 주기 및 로그 보존 기간 설정

설정 파일 위치: Alibaba Cloud Linux 3/2, CentOS 7/8 및 Fedora 시스템에서는 atop의 설정 파일이 /etc/sysconfig/atop이고, Ubuntu, Debian 및 openSUSE 시스템에서는 설정 파일이 /etc/default/atop입니다 기본 설정 매개변수 설명 - 로그옵션은 로그 파일 기록 옵션을 제어하는 데 사용되며, 기본값은 비어 있습니다 - 로그 간격입니다. 기본값은 600초입니다. 과거 로그 추적 문제를 수집하려면 실제 요구 사항에 따라 이 빈도를 조정하는 것이 좋습니다. - 로그 보존 기간, 기본값 28일 - 로그 파일 저장 경로입니다. 기본값은 /var/log/atop 입니다. 설정 단계 - 명령을 실행하여 설정 파일을 엽니다: - Alibaba Cloud Linux 3/2, CentOS 7/8, Fedora 시스템에서: sudo vim /etc/sysconfig/atop - Ubuntu, Debian, openSUSE, CentOS Stream 9, Rocky Linux 9 시스템에서: sudo vim /etc/default/atop - i로 들어가 편집 모드로 전환한 다음, 필요에 따라 구성 매개변수를 조정합니다. 예를 들어, 모니터링 주기를 30초로 변경하고, 로그 보존 기간을 7일로 설정하며, 로그 경로를 기본값으로 유지합니다. - Esc 키를 누르고 :wq 를 입력하여 저장하고 편집을 종료합니다 - atop 서비스를 재시작하여 설정이 적용됩니다: sudo systemctl restart atop

LOGOPTS=""
LOGINTERVAL=30
LOGGENERATIONS=7
LOGPATH=/var/log/atop 

네, 알겠습니다. 사, atop 도구 사용

자주 사용되는 명령어 소개: 상호 작용 명령 모드에서 다음의 자주 사용되는 명령어가 있습니다 - 기본 통합 출력 보기로 전환합니다 - 프로세스 열의 전체 명령줄을 표시합니다 - 프로세스 메모리 사용률에 따라 내림차순으로 필터링합니다 - 프로세스 디스크 사용률을 기준으로 내림차순으로 필터링합니다 - 프로세스 자원 종합 활용률에 따라 내림차순으로 필터링합니다 - 프로세스 네트워크 사용률에 따라 내림차순으로 필터링합니다 - 다음 모니터링 수집 지점으로 이동합니다 - 이전 모니터링 수집 지점으로 이동합니다 - 시간 지정, 형식은 YYYYMMDDhhmm입니다

자원 모니터링 필드 의미 설명 - 호스트 이름, 정보 샘플링 날짜 및 시간입니다 - 프로세스 전체 실행 상황, 커널 모드 및 사용자 모드 실행 시간, 프로세스 총 수, 다양한 상태의 프로세스 수 등을 포함합니다 - CPU 전체 사용률은 각 필드의 숫자 합계가 N*100%(N은 CPU 코어 수)로 표시되며, 커널 모드, 사용자 모드, 인터럽트, 유휴 상태, 디스크 I/O 대기 등의 시간 비율을 포함합니다 - CPL은 CPU 부하 상황을 나타내며, 과거 1분, 5분 및 15분 동안 실행 대기열에 있는 평균 프로세스 수, 컨텍스트 스위칭 횟수, 인터럽트 발생 횟수를 포함합니다 - 메모리 사용량 정보로, 총 물리 메모리 용량, 유휴 메모리, 페이지 캐시 메모리, 파일 캐시 메모리, 커널 점유 메모리 등을 포함합니다 - SWP:스왑 공간 사용량 정보, 스왑 영역 총 용량 및 남은 스왑 공간 크기를 포함합니다 - 가상 메모리 페이지 상태, 예를 들어 스왑 인 및 스왑 아웃된 페이지 수 - DSK:디스크 사용률, 각 디스크 장치별로 한 열을 표시하며 장치 식별자, 바쁜 상태 시간 비율, 읽기/쓰기 요청 횟수를 나타냅니다 - 네트워크 상태를 보여주며, 전송 계층 TCP와 UDP, IP 계층 및 각 활성 네트워크 포트의 송수신 패킷 크기를 표시합니다

실시간 시스템 지표 확인 - 매 5초마다 시스템 지표를 확인합니다: atop 5 - 현재 시간 이후 5분 내 (총 30회, 간격 10초)의 시스템 지표를 확인합니다: atop -M 10 30 - 현재 시간 이후 10분(10회, 간격 60초)의 시스템 지표를 확인하고 결과를 파일에 기록합니다: atop -M 60 10 > /log/atop.mem

atop을 시작한 후 수집된 기록은 기본적으로 /var/log/atop 디렉터리에 저장됩니다. 확인할 때는 지정된 날짜의 로그 파일이 반드시 존재해야 하며, 그렇지 않으면 오류가 발생합니다. - 오늘 날짜의 히스토리 지표 로그 보기: atop -r - 어제 기록 지표 로그 확인: atop -r y - 지정된 날짜의 과거 지표 로그를 확인합니다. 예를 들어 2024년 11월 06일: atop -r 20241106 - 지정된 날짜 및 시간 이후의 과거 지표 로그를 확인합니다. 예를 들어 2024년 11월 6일 14:00 이후: atop -r 20241106 -b 14:00 - 지정된 날짜 및 시간 범위 내의 과거 지표 로그를 확인합니다. 예를 들어 2024년 11월 5일 00시 04분부터 00시 08분까지는 atop -r 20241105 -b 00:04 -e 00:08 명령을 사용합니다.

시스템 활동 보고서 확인 - 현재 시스템의 CPU 사용률 보고서를 1분 동안(12회, 간격 5초) 확인합니다: atopsar -c 5 12 - 당일 지정된 시간대의 메모리 지표 보고서를 확인하려면, 예를 들어 18:00부터 18:01까지: atopsar -m -b 18:00 -e 18:01 - 지정된 날짜 및 시간 범위 내의 메모리 지표 보고서를 확인합니다. 예를 들어 2024년 11월 5일 18:00부터 18:01까지: atopsar -m -r 20241105 -b 18:00 -e 18:01

다섯. 기타 조작

천기 수준 로그 로테이션 정책 구성: 매일 atop 지표 로그 파일을 생성하려면 다음 단계를 수행할 수 있습니다 - (선택 사항) 필요에 따라 모니터링 주기, 로그 보존 기간 및 로그 저장 경로를 조정합니다 - 명령을 실행하여 매일 로그 로테이션 관련 서비스의 자동 시작을 설정하고 서비스를 시작합니다: sudo systemctl enable --now atop atopacct atop-rotate.timer - 비즈니스에서 더 복잡한 로깅 처리가 필요하다면 logrotate나 사용자 정의 스크립트를 활용하여 로그 관리를 구현할 수 있습니다

선택적 netatop 커널 모듈 로드: 네트워크 사용률을 모니터링하려면 netatop 모듈(atop에서 기본적으로 설치되지 않음)을 설치할 수 있습니다. Alibaba Cloud Linux 3 시스템의 예를 들어: - 커널 개발 패키지 및 컴파일에 필요한 소프트웨어 환경 설치: sudo yum install -y kernel-devel dkms elfutils-libelf-devel - 최신 버전 netatop 소스 코드를 지정된 디렉터리로 다운로드합니다: cd /usr/src/ && sudo wget https://www.atoptool.nl/download/netatop-3.2.2.tar.gz --no-check-certificate - 소스 코드를 압축 해제하고 소스 코드 디렉토리로 들어갑니다: sudo tar -zxvf netatop-3.2.2.tar.gz && cd netatop-3.2.2 - 소스 코드를 기반으로 모듈과 데몬을 빌드하고 설치합니다: sudo make && sudo make install - netatop 서비스 시작: sudo systemctl start netatop

atop 도구는 기능이 강력하고 사용하기 유연하며, 적절한 설치, 구성 및 사용을 통해 Linux 시스템의 실행 상태를 더 잘 이해하고 잠재적인 문제를 조기에 발견하여 해결할 수 있습니다. 본 문서가 Linux 시스템 모니터링 측면에서 여러분의 역량을 향상시키는 데 도움이 되기를 바랍니다.

6. 참고 자료 링크

  • [atop 공식 웹사이트]
  • [ atop 모니터링 도구 설치, 구성 및 사용 ]
금융 IT 프로그래머의 이것저것 만지작거리기와 일상의 중얼거림
Hugo로 만듦
JimmyStack 테마 사용 중