본문 바로가기
기타

서버가 아프면 슬랙으로 알려줘! Grafana Alerting과 Slack 실시간 알림 연동

by 공부 안하고 싶은 사람 2026. 3. 24.
반응형
Observability Series 02

대시보드 그만 보세요,
Slack 알림으로 장애 선제 대응하기

 

안녕하세요, code-resting입니다. 어제는 Prometheus와 Grafana로 대시보드를 구축해 보았습니다. 하지만 개발자가 밥 먹을 때나 잠잘 때도 화면을 보고 있을 수는 없죠. 오늘은 서버에 이상 징후가 포착되면 슬랙(Slack)으로 즉시 알림을 보내주는 Grafana Alerting 시스템을 완성해 보겠습니다.

1. 장애 알림의 흐름 (Alerting Flow)

단순히 알림을 보내는 것을 넘어, '언제', '어떻게' 보낼지를 정의하는 것이 중요합니다.

  • 📊 Threshold (임계치): "CPU 사용량이 90%를 넘으면 알려줘"와 같은 기준값.
  • 🕒 For (지속 시간): "1분 동안 계속 90%를 넘을 때만 알려줘" (일시적 스파이크 방지).
  • 🔔 Contact Point (접점): 슬랙, 이메일, 페이저듀티 등 알림을 받을 채널.

2. 슬랙 수신 설정 (Incoming Webhook)

가장 먼저 슬랙 워크스페이스에서 Incoming Webhooks 앱을 추가하고 고유의 Webhook URL을 발급받아야 합니다. 이 URL은 Grafana가 슬랙으로 메시지를 쏘기 위한 '주소' 역할을 합니다.

3. 실전 알림 규칙 설정 예시

가장 기본적이면서 중요한 JVM Memory 알림 규칙을 만들어 봅시다.

💡 설정 스텝:

  1. Query: jvm_memory_used_bytes / jvm_memory_max_bytes > 0.85 (메모리 85% 사용 시)
  2. Evaluation: 5m (5분 동안 조건 유지 시)
  3. Alert State: Firing 상태로 전환 및 슬랙 메시지 발송

4. 효율적인 알림 정책 (Muting & Silencing)

너무 잦은 알림은 오히려 개발자를 무뎌지게 만듭니다(Alert Fatigue). 이를 방지하기 위한 팁입니다.

  • 그룹화(Grouping): 비슷한 서버의 에러는 하나의 메시지로 묶어서 보냅니다.
  • 무음 설정(Silencing): 정기 점검 시간이나 이미 인지한 장애에 대해서는 잠시 알림을 끕니다.

💡 마치며

이로써 모니터링 시스템의 핵심인 [수집-시각화-알림]의 사이클이 완성되었습니다. 2026년 백엔드 개발은 코드를 잘 짜는 것만큼이나, 배포된 코드가 운영 환경에서 어떻게 살아남는지 관리하는 역량이 중요합니다. 이제 슬랙 알림을 믿고 조금 더 편안한 밤을 보내시길 바랍니다!

© 2026 code-resting. All rights reserved.

반응형

댓글