[linux] Load 모니터링 스크립트

# script 

현재 load 값과 기준치(MAX) 값을 비교하여 기준치를 초과할 경우 ERROR 문구 출력.

(데몬을 재구동 하던지, 재부팅하던지 변경하여 사용하면 된다.)

#!/bin/bash
MAX=1.0
LOAD=`cat /proc/loadavg | awk '{print $1}'`
CHECK=`echo | awk -v T=$MAX -v L=$LOAD 'BEGIN{if ( L > T){ print "Too High"}}'`
if [[ $CHECK = "Too High" ]]
then
	echo "LOAD : $LOAD : ERROR!!!" >> /root/load.log
	date >> /root/load.log
else
	echo "LOAD : $LOAD" >> /root/load.log
	date >> /root/load.log
fi

 

# CPU 발생 

stress 명령어로 CPU 100% 부하 발생 

[root@test-1 bin]# stress -c 1
stress: info: [1891] dispatching hogs: 1 cpu, 0 io, 0 vm, 0 hdd

 

# Crontab

매분마다 스크립트 실행

[root@test-1 bin]# crontab -l
* * * * * /root/bin/check_load.sh

 

# LOG

LOAD : 0.56
2021. 01. 19. (화) 19:54:01 KST
LOAD : 0.84
2021. 01. 19. (화) 19:55:01 KST
LOAD : 0.94
2021. 01. 19. (화) 19:56:01 KST
LOAD : 0.98
2021. 01. 19. (화) 19:57:01 KST
LOAD : 0.99
2021. 01. 19. (화) 19:58:01 KST
LOAD : 1.00
2021. 01. 19. (화) 19:59:01 KST
LOAD : 1.00
2021. 01. 19. (화) 20:00:01 KST
LOAD : 1.10 : ERROR!!!
2021. 01. 19. (화) 20:01:01 KST

 

'IT > script' 카테고리의 다른 글

[script] ping 체크 스크립트  (0) 2020.11.14

댓글

Designed by JB FACTORY

loading