[리눅스] 리눅스 모니터링 스크립트

리눅스 시스템에서는 시스템 리소스 모니터링이 매우 중요합니다. 시스템의 상태를 실시간으로 모니터링하여 성능 이슈를 식별하고 예방할 수 있습니다. 이를 위해 Shell 스크립트를 사용하여 리눅스 시스템의 CPU, 메모리, 디스크 사용량을 모니터링하는 스크립트를 만들어보겠습니다.

CPU 사용량 모니터링 스크립트

#!/bin/bash

# CPU 사용량 출력
top -b -n1 | grep "Cpu(s)" | awk '{print $2 + $4}' | awk -F. '{print $1}'

이 스크립트는 top 명령어를 사용하여 CPU 사용량을 출력합니다. top 명령어는 시스템의 상태를 실시간으로 모니터링하는 유틸리티이며, -b 옵션은 바로 출력 모드로, -n1 옵션은 한 번만 실행하고 종료하는 모드로 동작하도록 합니다. grep 명령어를 사용하여 “Cpu(s)” 라인만을 찾고, awk 명령어로 CPU 사용량을 계산하여 출력합니다.

메모리 사용량 모니터링 스크립트

#!/bin/bash

# 메모리 사용량 출력
free -m | awk 'NR==2{print $3}'

이 스크립트는 free 명령어를 사용하여 메모리 사용량을 출력합니다. free 명령어는 시스템의 메모리 정보를 출력하는 유틸리티이며, -m 옵션은 메모리 사용량을 MB 단위로 출력하도록 합니다. awk 명령어를 사용하여 두 번째 라인의 세 번째 컬럼을 출력합니다.

디스크 사용량 모니터링 스크립트

#!/bin/bash

# 디스크 사용량 출력
df -h | awk '$6 == "/" {print $5}'

이 스크립트는 df 명령어를 사용하여 디스크 사용량을 출력합니다. df 명령어는 파일 시스템의 디스크 사용 정보를 출력하는 유틸리티이며, -h 옵션은 용량을 보기 좋은 형식으로 출력하도록 합니다. awk 명령어를 사용하여 “/” 마운트 포인트의 사용량을 출력합니다.

이렇게 작성한 스크립트를 crontab을 이용하여 주기적으로 실행하면 시스템 리소스의 상태를 주기적으로 모니터링할 수 있습니다.

참고 자료