Sysstat 으로 시스템리소스 모니터링하기
설치환경
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일 로그 확인)