[python] 웹 서버에 모니터링 기능 추가하기

이번 포스트에서는 Python을 사용하여 웹 서버에 모니터링 기능을 추가하는 방법을 알아보겠습니다.

필요한 패키지 설치하기

먼저, psutil 패키지를 설치해야 합니다. 이 패키지는 CPU, 메모리, 디스크 등의 시스템 리소스에 대한 정보를 얻을 수 있도록 도와줍니다. 아래의 명령어로 패키지를 설치할 수 있습니다.

pip install psutil

모니터링 기능 추가하기

import psutil

def get_cpu_usage():
    return psutil.cpu_percent()

def get_memory_usage():
    return psutil.virtual_memory().percent

def get_disk_usage():
    return psutil.disk_usage('/').percent

# 이하 웹 서버 구축 코드

위의 코드는 psutil을 사용하여 CPU, 메모리, 디스크의 사용량을 얻는 간단한 함수들을 정의한 것입니다. 이 함수들을 웹 서버로 구축하는 코드와 함께 사용하면, 웹 서버 실행 중에 사용량 정보를 모니터링할 수 있습니다.

모니터링 정보 출력하기

웹 페이지의 적절한 위치에 모니터링 정보를 출력해야 합니다. 예를 들어, 다음과 같은 HTML 템플릿을 사용할 수 있습니다.


<!DOCTYPE html>
<html>
<head>
    <title>웹 서버 모니터링</title>
</head>
<body>
    <h1>웹 서버 모니터링 정보</h1>
    <p>CPU 사용량: {{ cpu_usage }} %</p>
    <p>메모리 사용량: {{ memory_usage }} %</p>
    <p>디스크 사용량: {{ disk_usage }} %</p>
</body>
</html>

이 템플릿을 사용하여, 모니터링 정보를 웹 페이지에 동적으로 출력할 수 있습니다. 예를 들어, Flask 웹 프레임워크를 사용하는 경우, 다음과 같은 코드로 모니터링 정보를 구성할 수 있습니다.

from flask import Flask, render_template
import psutil

app = Flask(__name__)

@app.route('/')
def monitor():
    cpu_usage = get_cpu_usage()
    memory_usage = get_memory_usage()
    disk_usage = get_disk_usage()
    
    return render_template('monitor.html', cpu_usage=cpu_usage, memory_usage=memory_usage, disk_usage=disk_usage)

if __name__ == '__main__':
    app.run()

위의 코드는 / 경로에 접속하면 monitor.html 템플릿을 렌더링하고, 모니터링 정보를 동적으로 전달합니다. 웹 브라우저에서 웹 서버에 접속하면, 모니터링 정보가 출력될 것입니다.

마무리

이렇게 Python을 사용하여 웹 서버에 모니터링 기능을 추가하는 방법을 알아보았습니다. psutil 패키지를 사용하여 시스템 리소스의 사용량을 쉽게 얻을 수 있으며, 웹 프레임워크를 통해 동적으로 모니터링 정보를 출력할 수 있습니다.

관련 문서와 자세한 내용은 다음을 참조하세요: