Sysstat 으로 시스템리소스 모니터링하기

Sysstat 으로 시스템리소스 모니터링하기

2019-03-07 00:00:00 +0000

설치환경

OS : Ubuntu 14.04

Sysstat

시스템 리소스 자원 감시도구로써 CPU, Memory, Process 갯수, Network 등의 일련의 시스템 자원 사용 현황들을 모니터링 할 수 있다.

설치

$ sudo apt-get install sysstat

apt-get 으로 간편하게 설치 가능

설정

시스템 모니터링을 하기위해서는 설정이 중요하다.
기본적으로 sysstat 을 설치하게 되면 자동으로 cron 스케쥴이 등록되어 정해진 시간마다 시스템 자원 사용량 로그를 기록하게된다.
cat /etc/cron.d/sysstat 을 확인하면 default로 10분에 한번씩 로그를 남기도록 설정 되어 있을것이다.

# Activity reports every 10 minutes everyday
*/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1

# Additional run at 23:59 to rotate the statistics file
59 23 * * * root command -v debian-sa1 > /dev/null && debian-sa1 60 2

위 시간을 변경하려면 crontab 시간 설정을 변경해주면 된다.(참고 : crontab 설정)

모니터링

설치후 설정을 통해 10분 혹은 설정한 시간단위로 로그가 기록되었을 것이다. 이제 기록된 로그 확인으로 모니터링을 할 수 있다. 먼저, Sysstat으로 확인 가능한자원 목록은 다음과 같다.

  • I/O 전송량
  • 페이징
  • 프로세스 통계
  • 블락 디바이스 활동
  • 인터럽트 갯수
  • 네트워크
  • Run Queue
  • 메모리 스왑
  • 메모리
  • CPU Usage
  • Context switching
  • Swarping

기본 모니터링 명령어는 sar 이다. sar + option 으로 보고자하는 자원을 모니터링 할 수 있다.
주로사용하는 옵션들을 정리하면

sar -A : 모든 관련정보 출력
sar -u : CPU 통계

11:20:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
11:25:01 AM     all      1.74      0.00      0.03      0.02      0.02     98.19
11:30:01 AM     all      1.62      0.00      0.03      0.02      0.02     98.32
11:35:01 AM     all      1.74      0.00      0.04      0.02      0.02     98.19
11:40:01 AM     all      1.66      0.00      0.03      0.02      0.02     98.28
11:45:01 AM     all      1.81      0.00      0.03      0.01      0.02     98.13
11:50:01 AM     all      2.05      0.00      0.04      0.03      0.02     97.86
11:55:01 AM     all      1.90      0.00      0.04      0.04      0.02     98.00
12:00:01 PM     all      1.78      0.00      0.04      0.02      0.02     98.14
12:05:01 PM     all      1.78      0.00      0.03      0.02      0.02     98.16
12:10:01 PM     all      1.68      0.00      0.03      0.02      0.02     98.26
12:15:01 PM     all      2.08      0.00      0.03      0.02      0.02     97.85
12:20:01 PM     all      4.20      0.00      0.10      0.02      0.02     95.66
12:25:01 PM     all      1.68      0.00      0.04      0.03      0.02     98.23
12:30:01 PM     all      1.85      0.00      0.04      0.02      0.02     98.08
12:35:01 PM     all      1.82      0.20      0.05      0.02      0.02     97.88
12:40:01 PM     all      1.71      0.00      0.04      0.02      0.02     98.21
12:45:01 PM     all      1.88      0.00      0.04      0.01      0.02     98.05
Average:        all      1.99      0.01      0.03      0.02      0.02     97.93

sar -r : 메모리 통계

11:20:01 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
11:25:01 AM    405288   3632424     89.96    250464   2614156    535520      8.96   1974756   1293804        92
11:30:01 AM    405384   3632328     89.96    250464   2614248    535520      8.96   1974796   1293804        28
11:35:01 AM    403744   3633968     90.00    250464   2614368    534684      8.95   1976256   1293812        80
11:40:01 AM    404796   3632916     89.97    250464   2614444    534684      8.95   1975160   1293808        72
11:45:01 AM    404768   3632944     89.98    250464   2614524    534620      8.94   1975244   1293804        68
11:50:01 AM    404696   3633016     89.98    250464   2614664    534620      8.94   1975380   1293808        36
11:55:01 AM    404552   3633160     89.98    250464   2615096    534540      8.94   1975616   1293904        52
12:00:01 PM    404056   3633656     89.99    250464   2615416    542892      9.08   1975892   1294068       248
12:05:01 PM    403776   3633936     90.00    250464   2615872    534616      8.94   1975920   1294396        84
12:10:01 PM    403528   3634184     90.01    250464   2615948    534616      8.94   1975988   1294400        60
12:15:01 PM    403712   3634000     90.00    250464   2616068    534616      8.94   1976032   1294404        48
12:20:01 PM    402968   3634744     90.02    250464   2616312    534616      8.94   1976712   1294400       136
12:25:01 PM    403388   3634324     90.01    250464   2616424    542500      9.08   1976444   1294404        88
12:30:01 PM    402924   3634788     90.02    250464   2616580    534620      8.94   1976576   1294412        44
12:35:01 PM    399216   3638496     90.11    250548   2616684    547176      9.15   2025060   1249116       156
12:40:01 PM    399328   3638384     90.11    250548   2616784    539240      9.02   2025348   1249112        56
12:45:01 PM    399000   3638712     90.12    250548   2616880    548216      9.17   2025316   1249116        44
Average:       402815   3634897     90.02    250466   2611318    538249      9.01   2003298   1267679        55

다음과 같이 설정해둔 시간단위로 시스템 자원 활용 상태를 모니터링 가능하다.
기본적으로 모니터링을 진행하면 24시간 단위로만 확인이 가능하기때문에 더 이전의 날짜를 조회하려면 -f 옵션을 이용하여 조회하려는 해당 날짜 파일을 직접 조회하여 확인 가능하다.

sar -u -f /var/log/sysstat/sa07 (07일 로그 확인)