Alertmanager

지원 버전: Alertmanager 0.27.x 마지막 업데이트: 2026년 2월 20일

목차


Alertmanager 개요

Prometheus Alertmanager는 Prometheus 서버에서 전송된 알림을 처리하는 컴포넌트입니다. 알림의 중복 제거, 그룹화, 라우팅, 억제(inhibition), 무음(silencing) 등의 기능을 제공합니다.

주요 기능

  1. 그룹화 (Grouping): 유사한 알림을 하나로 묶어 전송

  2. 억제 (Inhibition): 특정 알림이 발생하면 관련 알림 억제

  3. 무음 (Silencing): 특정 기간 동안 알림 무시

  4. 라우팅 (Routing): 알림을 적절한 수신자에게 전달

  5. 고가용성: 클러스터링을 통한 이중화

Prometheus 알림 흐름

spinner

아키텍처

Alertmanager 내부 구조

spinner

컴포넌트 설명

컴포넌트
역할

Dispatcher

라우팅 트리를 기반으로 알림을 적절한 수신자로 라우팅

Inhibitor

억제 규칙에 따라 관련 알림 억제

Silencer

무음 규칙에 해당하는 알림 필터링

Aggregation Group

동일 그룹의 알림을 묶어서 처리

Notification Pipeline

실제 알림 전송 처리

nflog

전송된 알림 기록 (중복 방지용)


설치 및 구성

Helm을 통한 설치 (kube-prometheus-stack)

Alertmanager 전용 Helm Chart

values.yaml 예시

ConfigMap으로 직접 구성


알림 규칙 정의

PrometheusRule CRD

Prometheus Operator를 사용하면 PrometheusRule CRD를 통해 알림 규칙을 정의할 수 있습니다.

알림 규칙 구성 요소

알림 상태

spinner

라우팅 구성

라우팅 트리 구조

Alertmanager의 라우팅은 트리 구조로 구성됩니다.

라우팅 흐름

spinner

매처 (Matchers)

고급 라우팅 예시


수신자 구성

Slack 수신자

PagerDuty 수신자

Email 수신자

OpsGenie 수신자

Webhook 수신자

다중 수신자 구성


Inhibition 규칙

Inhibition 개념

Inhibition은 특정 알림이 발생했을 때 관련된 다른 알림을 억제하는 기능입니다.

spinner

Inhibition 규칙 구성

Inhibition 우선순위


Silencing

Silence 생성

Alertmanager UI 또는 API를 통해 Silence를 생성할 수 있습니다.

amtool CLI 사용

API를 통한 Silence 생성

Silence 관리 모범 사례

spinner

권장 사항:

  1. 항상 코멘트 작성: 왜 Silence를 만들었는지 기록

  2. 최소 기간 설정: 필요한 만큼만 Silence

  3. 정기적 검토: 장기 Silence는 정기적으로 검토

  4. 알림 설정: Silence 만료 전 알림


템플릿 커스터마이징

Go 템플릿 기본

Alertmanager는 Go 템플릿을 사용합니다.

Slack 템플릿 예시

템플릿 함수

ConfigMap으로 템플릿 관리


고가용성 구성

클러스터링 아키텍처

spinner

StatefulSet 구성

Prometheus 연동 설정


AlertmanagerConfig CRD

네임스페이스별 설정

Prometheus Operator의 AlertmanagerConfig CRD를 사용하면 네임스페이스별로 알림 설정을 분리할 수 있습니다.

Secret 참조

Alertmanager에서 AlertmanagerConfig 선택


실전 알림 규칙 예시

Node 알림

Pod 및 Container 알림

API Server 알림

etcd 알림


트러블슈팅

일반적인 문제와 해결책

알림이 전송되지 않는 경우

중복 알림이 발생하는 경우

알림이 잘못된 수신자에게 전송되는 경우

amtool 명령어 모음

메트릭 확인

디버깅 팁


퀴즈

이 장에서 배운 내용을 테스트하려면 Alertmanager 퀴즈를 풀어보세요.

마지막 업데이트