Linux

Linux, vmstat과 crontab을 이용한 사용량 로그 저장하기

나참새 2020. 5. 27. 14:06

[목표]

Linux 환경에서 현재 사용중인 cpu, ram의 사용량을 vmstat 명령어를 통해 모니터링하고, 그 로그 기록을 crontab을 이용해 주기적으로 저장합니다.

 

[방법 1.] 

crontab에 vmstat 명령어를 바로 등록

 

$ crontab -e

 

#1분마다 , vmstat을 1초 간격으로 10번, /home/ec2-user/logs/vmstat.log에 저장

* * * * * vmstat 1 10 >> /home/ec2-user/logs/vmstat.log

 

crontab에 작업을 등록

[결과물 1.]

 

#기록된 로그 확인

$cat vmstat.log

 

설정된 주기(1분마다, 1초 간격으로 10번)마다 vmstat 로그가 쌓이고 있다.

 

[방법 2.]

sh 스크립트를 작성하고 crontab에 등록(date 명령어 추가)

 

$ vi vmstat_script.sh

 

# date로 현재 날짜와 시간조회, vmstat을 1초 간격으로 10번 반복

#!/bin/bash

date

vmstat 1 10

 

 

$ chmod 755 vmstat_script.sh

$ crontab -e

 

* * * * * (1분마다 반복)

 

[결과물 2.]

 

#기록된 로그 확인

$cat vmstat.log

 

date 명령어가 추가되어 로그가 기록된 시간을 확인할 수 있다.

 

!기본적으로 제공되는 EC2의 AMI는 미국기준으로 시간이 설정되어 있기 때문에 시간대 변경이 필요하다!

 

끝.

 

[참고]

 

https://chloro.tistory.com/108

 

[메모리 상태 확인 - vmstat]

vmstat 설명 현재 메모리의 상태를 출력함. 프로세스 정보 , 메모리 사용량 , 스왑 , IO 상태 및 CPU 활동 상황에 대한 정보를 보여준다. 명령어 vmstat [옵션] vmstat [시간] [반복] vmstat 5 5 (5초 간격으로 1

chloro.tistory.com