728x90
반응형
"Kafdrop"은 Kafka 클러스터를 모니터링하고 관리하기 위한 오픈 소스 웹 기반 도구입니다. Kafka는 분산 스트리밍 플랫폼으로, 대량의 데이터를 실시간으로 처리하고 전달하기 위해 사용됩니다. Kafdrop은 Kafka 토픽(topic), 파티션(partition), 메시지(message) 등을 시각적으로 모니터링하고 관리하기 위한 간편한 방법을 제공합니다.
주요 기능과 특징:
- 웹 인터페이스: Kafdrop은 웹 브라우저를 통해 사용자 인터페이스에 접근할 수 있습니다. 이를 통해 Kafka 클러스터의 상태, 토픽의 메시지, 파티션 등을 쉽게 확인할 수 있습니다.
- 토픽 및 파티션 모니터링: Kafdrop은 Kafka 클러스터에서 사용되는 토픽과 해당 토픽의 파티션을 시각적으로 표시하여 해당 토픽의 상태를 파악할 수 있도록 도와줍니다.
- 메시지 브라우징: Kafdrop을 사용하여 각 토픽의 메시지를 검색하고 브라우징할 수 있습니다. 이를 통해 실시간으로 발생하는 데이터의 내용을 확인하고 디버깅할 수 있습니다.
- 컨슈머 그룹 관리: Kafka의 컨슈머 그룹을 모니터링하고 관리할 수 있는 기능을 제공합니다. 컨슈머 그룹의 상태 및 오프셋(offset) 정보를 확인할 수 있습니다.
- 오프셋 모니터링: 각 파티션의 오프셋 정보를 확인하여 메시지 처리의 진행 상황을 파악할 수 있습니다.
- Kafka 클러스터 연결 설정: Kafdrop은 Kafka 클러스터에 연결하기 위한 설정을 간편하게 구성할 수 있는 인터페이스를 제공합니다.
- Docker 지원: Kafdrop은 Docker 컨테이너로 실행할 수 있으므로 배포와 관리가 용이합니다.
Kafdrop은 Kafka 클러스터를 운영하고 모니터링하는 데 유용한 도구로서, 시스템 관리자, 데이터 엔지니어, 개발자 등이 Kafka의 상태를 더 효율적으로 관리하고 분석할 수 있도록 도와줍니다.
obsidiandynamics/kafdrop: Kafka Web UI (github.com)
[Docker] 도커의 모든 것, 도커 추천 이미지!!! (tistory.com)
docker-compose.yml 파일
docker-compose.yml
version: '2'
services:
# wurstmeister/zookeeper:latest
zookeeper:
hostname: zookeeper
container_name: zookeeper
image: wurstmeister/zookeeper:latest
ports:
- "2181:2181"
# wurstmeister/kafka:latest - broker 1
kafka1:
hostname: kafka1
container_name: kafka1
image: wurstmeister/kafka:latest
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_HOST_NAME: kafka1
BOOTSTRAP_SERVERS: kafka1:9092, kafka2:9093, kafka3:9094
KAFKA_CREATE_TOPICS: "test1:1:1"
ports:
- "9092:9092"
depends_on:
- zookeeper
# wurstmeister/kafka:latest - broker 2
kafka2:
hostname: kafka2
container_name: kafka2
image: wurstmeister/kafka:latest
environment:
KAFKA_BROKER_ID: 2
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_HOST_NAME: kafka2
BOOTSTRAP_SERVERS: kafka1:9092, kafka2:9093, kafka3:9094
KAFKA_CREATE_TOPICS: "test2:1:1"
ports:
- "9093:9092"
depends_on:
- zookeeper
# wurstmeister/kafka:latest - broker 3
kafka3:
hostname: kafka3
container_name: kafka3
image: wurstmeister/kafka:latest
environment:
KAFKA_BROKER_ID: 3
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_HOST_NAME: kafka3
BOOTSTRAP_SERVERS: kafka1:9092, kafka2:9093, kafka3:9094
KAFKA_CREATE_TOPICS: "test3:1:1"
ports:
- "9094:9092"
depends_on:
- zookeeper
kafdrop:
hostname: kafdrop
container_name: kafdrop
image: obsidiandynamics/kafdrop
restart: "always"
ports:
- "9000:9000"
environment:
KAFKA_BROKERCONNECT: "kafka1:9092, kafka2:9092, kafka3:9092"
JVM_OPTS: "-Xms64M -Xmx128M"
depends_on:
- zookeeper
- kafka1
- kafka2
- kafka3
docker-compose 시작
docker-compose up -d
서비스 URL 접속
http://[서버 IP]:9000
docker-comopse 중지
docker-compose down
728x90
반응형
LIST
'Docker' 카테고리의 다른 글
[Docker] Traefik 으로 reverse proxy 서버 구축하기 (1) | 2023.08.24 |
---|---|
[Docker] authentik 구축하여 SSO 로 이용하자! (1) | 2023.08.23 |
[Docker] Hoppscotch 구축하여, postman 같이 이용하자! (1) | 2023.08.21 |
[Docker] kafka-ui 로 kafka 모니터링 및 topic 관리 (1) | 2023.08.20 |
[Docker] 개발자에게 필요한 기능은 다 있다! IT-Tools 도커로 구축하기 (2) | 2023.08.19 |