[Linux] sysstat - sadc, sar 사용법
tl;dr
-
sar
는 linux에서 제공하는 모니터링 tool로 (System Activity Report), 다음과 같이 사용하여 CPU나 메모리 등 장비의 리소스 상태를 모니터링하는 데 사용할 수 있다.sar ${interval in seconds} ${number of intervals} # real time monitoring sar -f /var/log/sa/sa${dd} -s ${start time in hh:mm:ss} -e ${end time in hh:mm:ss} -i ${interval in seconds} # past records
sar
소개
sysstat
패키지에 포함된sadc
(System Activity Data Collector)가cron
을 통해 주기적으로 모니터링을 실시하고 결과를/var/log/sa/
에 저장이 된다. 수집된 결과를 sar로 조회할 수 있다.- 쉽게 말해
sar
는 수집 값을 조회하는 클라이언트 역할이고,sadc
는sar
의 백엔드다.
- 쉽게 말해
사용법
1. 간단한 사용법
-
sar
이라고 입력하면 아래와 같이 지금으로부터 1-2시간 이전의 CPU 모니터링 정보를 보여준다.
2. Real time 모니터링
-
과거가 아닌 현재부터 real-time으로 모니터링하고 싶다면 아래와 같은 형식으로 간단히 사용할 수 있다.
sar ${interval in seconds} ${number of intervals} # real time monitoring
3. 이전 날짜의 기록 조회
-
이전 날짜에 대한
sar
를 보고 싶다면, 우선sadc
로그가 어디에 남는지 알아야 하는데, RHEL의 경우/var/log/sa
에sa${dd}
형식으로 저장된다.ls /var/log/sa
-
이 데이터 파일을
-f
옵션으로 조회할 수 있다.sar -f /var/log/sa/sa${dd}
-
특정 시간대에 특정 interval 기준으로만 데이터를 보고 싶다면 start time과 end time, interval을 나타내는 옵션을 사용할 수 있다.
sar -f /var/log/sa/sa${dd} -s ${start time in hh:mm:ss} -e ${end time in hh:mm:ss} -i ${interval in seconds} # past records
-
(e.g.) 12월 3일 날짜의
sar
로그 중 21시-23시 데이터를 5분 간격으로 보고싶다면 다음과 같이 입력하면 된다.sar -f /var/log/sa/sa03 -s 21:00:00 -e 23:00:00 -i 300
-f
:sar
데이터 파일을 읽기 위한 argument-s
: start time (hh:mm:ss
)-e
: end time (hh:mm:ss
)-i
: interval (in seconds)
데이터 보관 기간 설정
-
sar
는sysstat
이라는 리눅스 패키지에 포함되어 있기 때문에sysstat
config file을 변경하면 된다.vi /etc/sysconfig/sysstat
# sysstat-10.1.5 configuration file. # How long to keep log files (in days). # If value is greater than 28, then log files are kept in # multiple directories, one for each month. HISTORY=28 # Compress (using gzip or bzip2) sa and sar files older than (in days): COMPRESSAFTER=31 # Parameters for the system activity data collector (see sadc manual page) # which are used for the generation of log files. # Compression program to use. ZIP="bzip2" SADC_OPTIONS="-S DISK -S SNMP"
-
HISTORY 부분을 바꾸면 된다.