반응형
Apache Kafka는 대규모 메시징 시스템에서 실시간 데이터를 처리하기 위해 많이 사용되죠.
하지만 Kafka 클러스터를 운영할 때 가장 골치 아픈 부분 중 하나는 바로…
“컨슈머 그룹이 데이터를 잘 소비하고 있는지?”
“어디서 지연(Lag)이 생기는지?”
이걸 자동으로 모니터링하고 알림까지 줄 수 있게 도와주는 도구가 바로 Kafka Burrow입니다.
✅ Kafka Burrow란?
Kafka Burrow는 LinkedIn에서 개발한 Kafka 컨슈머 그룹 지연(Lag) 모니터링 도구입니다.
단순히 메시지 큐에서 얼마나 소비되지 않고 쌓여 있는지를 보여주는 게 아니라,
컨슈머의 상태 평가(Status Evaluation)까지 자동으로 해줍니다.
🎯 Burrow가 필요한 이유?
Kafka는 기본적으로 Lag(지연)을 확인할 수 있지만,
- "몇 개나 밀렸는지"만 보여줄 뿐
- 정상/비정상 판단은 직접 해야 합니다
Burrow는 이 과정을 자동화합니다:
✅ Lag 분석
✅ 시간 흐름에 따른 추세 판단
✅ 상태 평가 (OK / Warning / Error)
✅ Slack, Email 등으로 알림 전송
⚙️ Kafka Burrow 주요 기능
기능설명
📉 컨슈머 그룹별 Lag 모니터링 | 각 파티션 기준으로 lag 수치 추적 |
🧠 상태 평가 로직 내장 | 정해진 조건에 따라 OK, WARN, FAIL 상태 분류 |
🔄 REST API 제공 | 외부 대시보드(Grafana 등)와 연동 가능 |
🔔 알림 설정 | Slack, SMTP, HTTP Webhook 등으로 상태 변화 알림 |
🔌 다양한 클러스터 지원 | Kafka 클러스터 여러 개 동시에 모니터링 가능 |
🧠 Burrow의 상태 평가 로직은?
컨슈머 그룹의 Lag 패턴을 보고 자동 평가:
- OK: 정상적으로 데이터를 소비하고 있음
- WARN: Lag이 증가 추세, 잠재적 문제
- ERR: 소비가 멈췄거나 Lag이 계속 누적 중
이 기준은 burrow.toml 설정 파일에서 커스터마이징할 수 있어요.
📦 Burrow 구성 아키텍처
+----------------+
| Kafka Cluster |
+----------------+
|
v
+--------------------+
| Burrow |
| - Lag Checker |
| - Evaluator |
| - Notifier |
+--------------------+
|
v
+----------------+
| REST API / Slack |
+----------------+
- Kafka의 offset 정보를 읽고
- 내부 로직으로 상태 분석 후
- 외부 시스템에 상태 전파
🛠️ 간단한 설정 예시 (burrow.toml)
[general]
logdir="/var/log/burrow"
logconfig="/etc/burrow/logging.cfg"
[zookeeper]
hostname="zk1:2181,zk2:2181"
[kafka "local"]
broker="kafka1:9092,kafka2:9092"
zookeeper-path="/burrow"
[consumer "local"]
class-name="kafka"
cluster="local"
servers="kafka1:9092"
[notifier "slack"]
class-name="slack"
channel="#kafka-alerts"
🔗 Burrow vs 다른 모니터링 툴
툴특징
Burrow | 상태 평가 로직 중심, 자동 알림 |
Kafka Manager | UI 기반 Kafka 클러스터 관리 |
Prometheus + Grafana | 시계열 기반의 모니터링 대시보드 |
Confluent Control Center | Confluent 전용 고급 관리 도구 |
👉 Burrow는 특히 컨슈머 지연 감지와 경고 알림에 특화된 도구입니다.
✅ 마무리 요약
Kafka Burrow는 Kafka 컨슈머 그룹의 메시지 소비 상태를 지능적으로 분석하고, Lag 문제를 자동으로 감지하고 알려주는 모니터링 툴입니다.
항목설명
주요 기능 | 지연(Lag) 모니터링 + 상태 평가 + 알림 |
제공 방식 | 오픈소스 (LinkedIn 개발) |
장점 | 자동화된 경고 시스템, REST API 지원 |
활용 분야 | 실시간 데이터 처리 시스템, 모니터링 자동화 |
반응형