CentOS 웹 애플리케이션 모니터링

애플리케이션 모니터링은 중요한 작업입니다. 우리는 사용자가 웹 애플리케이션의 성능과 안정성을 파악할 수 있도록 도와주는 도구를 사용하여 모니터링 과정을 자동화할 수 있습니다. 이번 글에서는 CentOS 리눅스에서 bash 스크립트를 사용하여 웹 애플리케이션 모니터링을 설정하는 방법에 대해 알아보겠습니다.

1. 웹 서버 응답 상태 확인

웹 서버의 응답 상태를 확인하기 위해 curl 명령어를 사용할 수 있습니다. 아래의 예시 코드는 특정 URL에 대한 응답 상태를 확인하는 스크립트입니다.

#!/bin/bash

URL="https://example.com"

response=$(curl -s -o /dev/null -w "%{http_code}" $URL)

if [ $response -eq 200 ]; then
    echo "Web server is up and running"
else
    echo "Web server is down"
fi

이 스크립트는 curl을 사용하여 지정된 URL에 요청을 보내고 응답 코드를 출력합니다. 응답 코드가 200일 경우 웹 서버가 정상적으로 작동 중이라고 출력되고, 그렇지 않은 경우 서버가 다운된 상태로 간주됩니다.

2. 로그 파일 모니터링

서버의 로그 파일을 모니터링하여 애플리케이션의 동작과 성능에 대한 정보를 얻을 수 있습니다. 예를 들어, tail 명령어를 사용하여 로그 파일의 최근 내용을 확인할 수 있습니다.

#!/bin/bash

LOG_FILE="/var/log/myapp.log"

tail -n 10 $LOG_FILE

이 스크립트는 /var/log/myapp.log 파일의 마지막 10줄을 출력합니다. 로그 파일을 정기적으로 모니터링하면 애플리케이션에서 발생하는 문제를 신속하게 파악할 수 있습니다.

3. 리소스 사용량 모니터링

리눅스 시스템에서 웹 애플리케이션은 CPU, 메모리, 디스크 사용량 등의 리소스를 사용합니다. 이러한 리소스의 사용량을 모니터링하여 서버의 성능을 평가할 수 있습니다. top 명령어를 사용하여 시스템 리소스에 대한 정보를 얻을 수 있습니다.

#!/bin/bash

top -b -n 1 | grep '^%Cpu' | awk '{print "CPU Usage: " $2 "%"}'
top -b -n 1 | grep '^KiB Mem' | awk '{print "Memory Usage: " $3 " / " $5}'
df -h | grep '/dev/sda1' | awk '{print "Disk Usage: " $5}'

이 스크립트는 top 명령어와 df 명령어를 사용하여 CPU, 메모리, 디스크 사용량에 대한 정보를 출력합니다. 이 정보를 바탕으로 서버의 성능에 대한 평가를 수행할 수 있습니다.

마무리

CentOS 리눅스에서 bash 스크립트를 사용하여 웹 애플리케이션 모니터링을 설정하는 방법에 대해 알아보았습니다. 이러한 모니터링을 통해 웹 애플리케이션의 성능과 안정성을 실시간으로 파악하고 문제를 조기에 대응할 수 있습니다. 애플리케이션 모니터링은 서버 운영에서 필수적인 요소이므로 세심한 관리가 필요합니다.