[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
패키지를 사용하여 시스템 리소스의 사용량을 쉽게 얻을 수 있으며, 웹 프레임워크를 통해 동적으로 모니터링 정보를 출력할 수 있습니다.
관련 문서와 자세한 내용은 다음을 참조하세요:
psutil
공식 문서: https://psutil.readthedocs.io- Flask 공식 문서: https://flask.palletsprojects.com