[리눅스] 리눅스 모니터링 스크립트
리눅스 시스템에서는 시스템 리소스 모니터링이 매우 중요합니다. 시스템의 상태를 실시간으로 모니터링하여 성능 이슈를 식별하고 예방할 수 있습니다. 이를 위해 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을 이용하여 주기적으로 실행하면 시스템 리소스의 상태를 주기적으로 모니터링할 수 있습니다.
참고 자료
- Linux Shell Scripting Tutorial - 리눅스 쉘 스크립트 튜토리얼
- Linux Command - 리눅스 명령어에 대한 상세한 설명과 예제