Skip to content

[Observability] Alertmanager 알림 라우팅과 채널 예시 및 E2E 검증 추가 #335

Description

@Gimini-3

문제

DocGrid는 Prometheus scrape와 Alert Rule을 제공하지만 Prometheus가 경보를 전달할 Alertmanager 대상이 없습니다. 현재는 Prometheus 화면을 직접 보고 있어야 하며, 조직별 Slack·Discord·Teams·Telegram·이메일·Webhook 연결 방법과 Secret 관리 기준도 없습니다.

목표

  • 선택형 monitoring profile에 고정 버전 Alertmanager 컨테이너를 추가한다.
  • Prometheus가 firing·resolved 경보를 Alertmanager로 전송하게 한다.
  • 기본 설정은 외부 전송이 없는 안전한 receiver로 두되 Alertmanager UI에서는 상태를 확인할 수 있게 한다.
  • severity와 cluster/environment 기준의 grouping·반복 주기를 정의한다.
  • 상위 provider 장애가 같은 원인의 파생 경보를 억제하도록 inhibition을 구성한다.
  • Slack, Discord, Microsoft Teams, Telegram, 이메일, 범용 webhook 설정 예시를 제공한다.
  • URL과 token은 Git에 커밋하지 않고 파일 기반 Secret으로 주입한다.
  • promtool·amtool 정적 검증과 로컬 webhook을 통한 firing/resolved E2E를 자동화한다.
  • CI가 설정과 규칙 회귀를 반복 검증하게 한다.

완료 조건

  • 기본·monitoring Compose 설정이 유효하고 Alertmanager readiness가 정상이다.
  • Prometheus의 Alertmanager discovery가 정상이다.
  • 기본 설정만으로 외부 주소에 알림을 보내지 않는다.
  • 제공한 채널 예시가 고정 Alertmanager 버전의 amtool check-config를 통과한다.
  • 테스트 경보가 Prometheus에서 Alertmanager를 거쳐 로컬 webhook으로 firing과 resolved 모두 전달된다.
  • 같은 label 집합의 경보가 그룹화되고 provider 장애가 파생 경보를 억제하는 시나리오를 검증한다.
  • 추적 파일에 실제 webhook URL, bot token, SMTP password가 포함되지 않는다.

범위

  • Docker Compose의 선택형 Alertmanager
  • Prometheus alerting 설정
  • 기본 routing·grouping·inhibition
  • 채널별 설정 예시와 Secret 디렉터리 규칙
  • 검증 스크립트, CI, 연결·테스트·장애 대응 문서

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions