- 사내 사용중인 AWS EC2 서버(Server)에서 용량이 부족할 때 마다 애플리케이션(Application)이 정상적으로 작동하지 않는 증상이 발생한다.
- 매번 접속을 통해 확인하고 있지만, 여간 번거로운 일이 아닐 수 없다.
- 파이썬 프로그램(Python Program)을 통해 디스크(Disk)의 용량을 파악하여, 특정 임계치에서 슬랙(Slack)으로 경보를 보낸다면, 더욱 쉬운 모니터링이 가능할 것이다.
1. 디스크(Disk) 사용량 확인 파이썬 프로그램(Python Program) 작성
- 디스크의 사용량을 확인하기 위한 코드는 굉장히 간단하다.
# monitor_disk_usage.py
# 필요 라이브러리
import psutil
# 디스크 사용량 통계
usage = psutil.disk_usage('/')
# 사용량이 90% 이상일 때
if usage.percent > 90:
'''
슬랙 알림
'''
# monitor_disk_usage.py
# 필요 라이브러리
import psutil
from slack_sdk import WebClient
import json
# 디스크 사용량 통계
usage = psutil.disk_usage('/')
# 사용량이 90% 이상일 때
if usage.percent > 90:
# 슬랙 알림
client = WebClient(token='Your_Token')
message = [{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "⚠️ AWS EC2 Airflow Server의 잔여 Disk 용량이 10% 미만입니다. ⚠️"
}
}]
client.chat_postMessage(channel="Your_Channel", blocks=json.dumps(message))
- 필자의 경우, 그렇게 큰 용량 증가는 예상 되지 않으므로 "평일 오전 9시"로 하루 한 번만 모니터링 할 예정이다.
0 0 * * 1-5 python3 monitor_disk_usage.py
- 이를 통해 쉽게 디스크의 사용량을 모니터링하여, 임계치에 도달하였을 때 바로 알 수 있는 기능이 완성되었다.