MSK 모니터링 아키텍처
코드너리 | 2022. 09. 26
데이터 인프라
사용된 기술:
MSK
- zookeeper: 카프카의 메타 데이터 정보를 주키퍼에 저장하고, 카프카의 상태를 관리합니다.
- broker: 카프카가 설치되어 있는 서버 또는 노드입니다.
- JMX Exporter: JMX Exporter를 사용하여 Apache Kafka JMX 메트릭 노출이 가능합니다.
- Node Exporter: Node Exporter를 사용하여 CPU 및 디스크 메트릭 노출이 가능합니다.
모니터링 도구
- burrow: 링크드인에서 Go언어로 개발한 카프카 모니터링 툴로 Consumer의 LAG을 모니터링, 슬랙 연동 지원
- cmak: Yahoo에서 개발한 Apache Kafka 클러스터를 관리하기 위한 오픈 소스 도구 (이전에는 Kafka Manager로 알려짐)
- kafdrop: Kafka 토픽 및 컨슈머 그룹을 확인할 수 있는 웹 UI
- akhq: Apache Kafka 클러스터를 모니터링하고 관리하기 위한 무료 오픈 소스 웹 UI
- UI for Apache Kafka: Apache Kafka 클러스터를 모니터링하고 관리하기 위한 무료 오픈 소스 웹 UI
- kowl: Apache Kafka 클러스터를 모니터링하고 관리하기 위한 웹 UI
- prometheus: JMX Exporter, NodeExporter에 pull해서 데이터를 가져와 메트릭 정보 저장
- grafana: datasource(prometheus, cloudwatch)를 통해 kafka 모니터링 시각화 및 alert 설정
- slack: grafana에서 alert rule을 설정하여 이상 징후 발생 시 알림 수신