본문 바로가기
Q&A해결2025년 10월 5일1분 읽기

서버 메모리 모니터링 자동화 어떻게 하시나요

서
서버지기영호
조회 573댓글 5
EC2 인스턴스 5대를 운영 중인데 가끔 메모리 부족으로 OOM Killer가 프로세스를 죽입니다. 사후에 dmesg 로그로 확인하는데, 사전에 알림을 받고 싶습니다. 현재는 CloudWatch 기본 메트릭만 보고 있는데, 메모리 사용량은 기본으로 제공 안 되더라고요. 서버 모니터링과 알림 자동화를 어떻게 구성하시나요? 오픈소스로 직접 구축하는 게 좋을지, CloudWatch에 커스텀 메트릭을 보내는 게 좋을지 고민입니다.

댓글 5

김김영삼1년 전
서버 5대 규모면 Prometheus + Grafana 스택을 추천합니다. 오픈소스이고 설정도 간단합니다.

구성:
1. 각 서버에 node_exporter 설치 (메모리, CPU, 디스크 메트릭 수집)
2. Prometheus 서버에서 scrape
3. Grafana 대시보드 + AlertManager로 알림

# docker-compose.yml (모니터링 서버)
services:
prometheus:
image: prom/prometheus
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
ports: ["9090:9090"]
grafana:
image: grafana/grafana
ports: ["3000:3000"]
alertmanager:
image: prom/alertmanager
ports: ["9093:9093"]


알림 규칙 예시:
- alert: HighMemoryUsage
expr: (1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) > 0.85
for: 5m
annotations:
summary: "메모리 사용률 85% 초과"


Slack이나 Discord 웹훅으로 알림 보내면 즉시 대응 가능합니다.
코코딩하는민수1년 전
저는 CloudWatch Agent로 커스텀 메트릭 보내는 방식을 쓰고 있습니다. 이미 AWS 환경이면 추가 인프라 없이 가능해서 관리 포인트가 적어요. 다만 Grafana 대시보드가 더 이쁘긴 합니다.
보보안전문가태호1년 전
소규모면 Netdata도 추천합니다. 설치 한 줄이면 끝나고 웹 대시보드가 기본 제공됩니다. 알림도 Slack, Email 등 다양하게 지원하고요.
서서버지기영호1년 전
Prometheus + Grafana로 가보겠습니다. Docker Compose 예시까지 감사합니다. Netdata도 테스트 서버에서 먼저 써봐야겠네요.
김김영삼1년 전
OOM 방지로 메모리 알림 외에 swap 모니터링도 같이 하시면 좋습니다. swap 사용량이 늘기 시작하면 OOM 전조이므로 더 빠르게 대응할 수 있습니다.
Ctrl+Enter로 등록