간단한 Bash 스크립트와 Slack 알림으로 EC2 디스크 공간 모니터링하기
클라우드 인프라 환경에서 EC2 인스턴스의 상태와 리소스를 모니터링하는 것은 필수적이다. 시스템 관리자의 일반적인 과제 중 하나는 디스크 공간이 부족해지지 않도록 하는 것이다.

소개
클라우드 인프라 환경에서 EC2 인스턴스의 상태와 리소스를 모니터링하는 것은 필수적이다. 시스템 관리자의 일반적인 과제 중 하나는 디스크 공간이 부족해지지 않도록 하는 것으로, 이는 성능 저하나 서비스 중단으로 이어질 수 있다. AWS는 CloudWatch와 같은 강력한 모니터링 도구를 제공하지만, 특히 소규모 또는 덜 복잡한 설정에서는 추가 비용과 복잡성이 발생할 수 있다.
이 글에서는 EC2 인스턴스에서 cron job으로 실행되는 Bash 스크립트를 사용한 간단하고 비용 효율적인 솔루션을 탐구한다.
Bash 스크립트 솔루션
#!/bin/bash
THRESHOLD=85 # 디스크 사용량 임계값 정의 (%)
SLACK_WEBHOOK_URL=“https://hooks.slack.com/services/your/webhook/url"
hostname=$(curl -s http://169.254.169.254/latest/meta-data/local-hostname)
public_ip=$(curl -s http://169.254.169.254/latest/meta-data/public-ipv4)
private_ip=$(curl -s http://169.254.169.254/latest/meta-data/local-ipv4)
disk_usage=$(df -h / | grep -v Filesystem | awk ‘{print $5}’ | sed ’s/%//’)
if [ “$disk_usage” -ge “$THRESHOLD” ]; then
message=“Disk usage on EC2 instance ‘${hostname}’ is at ${disk_usage}%.
\nPrivate IP: ${private_ip}
\nPublic IP: ${public_ip}.
\nPlease extend disk space!”
payload=”{’text’: ‘$message’}"
curl -X POST -H ‘Content-type: application/json’ –data “$payload” $SLACK_WEBHOOK_URL
fi
결론
이 Bash 스크립트는 EC2 디스크 공간을 모니터링하고 디스크 사용량이 임계 임계값을 초과할 때 Slack으로 알림을 보내는 간단하고 저비용 솔루션을 제공한다. AWS CloudWatch나 다른 포괄적인 모니터링 도구와 관련된 복잡성과 비용이 필요하지 않은 조직이나 프로젝트에 탁월한 적합성을 가진다.
Ercan의 다른 글
같은 저자, 다른 영역의 사이트 두 개.