[shell] Shell 스크립트 모니터링을 위한 이벤트 로그 저장 방법

서버나 시스템의 안정성과 성능을 유지하기 위해서는 이벤트 로그를 기록하고 모니터링하는 것이 중요합니다. Shell 스크립트를 사용하여 서버나 시스템의 다양한 이벤트를 모니터링하고 로그를 저장하는 방법을 알아보겠습니다.

1. 로깅을 위한 Shell 스크립트 작성

Shell 스크립트를 사용하여 모니터링하고 저장하려는 이벤트의 로깅을 수행하는 것으로 시작합니다. 다음은 간단한 예제로, CPU 사용량을 80% 이상으로 감지할 때 이를 로깅하는 스크립트입니다.

#!/bin/bash
threshold=80
current_usage=$(top -n 1 -b | awk '/^%Cpu/ {print $2}')
if [ $(echo "$current_usage > $threshold" | bc -l) -eq 1 ]; then
    echo "$(date) - CPU usage is above $threshold%" >> cpu_usage.log
fi

위의 스크립트에서, CPU 사용량을 모니터링하고, 80% 이상인 경우에는 cpu_usage.log 파일에 시간과 함께 로그를 기록합니다.

2. Cron 작업 설정

이제, 이 스크립트를 주기적으로 실행하여 모니터링하고자 하는 이벤트를 로깅하도록 Cron 작업을 설정합니다.

*/5 * * * * /path/to/monitoring/script.sh

위의 예제에서는 5분마다 스크립트를 실행하여 CPU 사용량을 모니터링하고 로깅합니다.

3. 로그 파일 관리

로그 파일은 시간이 지남에 따라 매우 커질 수 있습니다. 이에 따라, 로그 파일을 관리하는 것이 중요합니다. logrotate와 같은 도구를 사용하여 로그 파일의 크기를 관리하고, 오래된 로그를 정기적으로 삭제하도록 설정할 수 있습니다.

이제, 이러한 방법을 활용하여 Shell 스크립트를 사용하여 시스템 이벤트를 모니터링하고 로깅하는 방법을 알아보았습니다. 이를 통해 시스템의 안정성과 성능을 지속적으로 모니터링할 수 있게 되었습니다.