Kafka UI로 Apache Kafka 모니터링 및 관리 방법
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

Kafka UI 활용: Apache Kafka 모니터링 및 관리 방법

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

DevOps

대상자

  • *개발자 및 DevOps 엔지니어**

- 난이도: 중간 (Kafka와 컨테이너 기반 인프라 경험 필요)

- 도움: Kafka 클러스터의 실시간 모니터링, 디버깅, 구성 관리 방법 제공

핵심 요약

  • Kafka UIMulti-Cluster ManagementPerformance Monitoring Dashboard를 통해 Kafka 모니터링을 간소화
  • DockerKubernetes 기반 설치 예시 제공 (``docker-compose.yml``kafkaUI.depl.yaml`` 파일 활용)
  • 보안 기능 포함: RBAC, OAuth 2.0 인증, 데이터 마스킹

섹션별 세부 요약

1. Kafka UI 주요 기능

  • Multi-Cluster Management: 여러 Kafka 클러스터 통합 관리
  • 메트릭스 대시보드: 토픽, 파티션, 컨슈머 그룹의 실시간 성능 추적
  • 메시지 브라우징: JSON/Avro/평문 형식의 메시지 확인 및 데이터 마스킹 지원

2. Docker 기반 Kafka 설치

  • Zookeeper/Kafka 컨테이너 설정:

```yaml

services:

zookeeper:

image: confluentinc/cp-zookeeper:latest

ports: "2181:2181"

kafka:

image: confluentinc/cp-kafka:latest

ports: "9092:9092"

depends_on: zookeeper

```

  • 명령어 실행: docker-compose up -d

3. Kubernetes 기반 Kafka 설치

  • Deployment/Service YAML 파일 생성:

```yaml

apiVersion: apps/v1

kind: Deployment

metadata:

name: kafka-broker-depl

spec:

replicas: 1

template:

spec:

containers:

- name: kafka-broker

image: confluentinc/cp-kafka:latest

env:

- name: KAFKA_ZOOKEEPER_CONNECT

value: "zookeeper-srv:2181"

```

  • 적용 명령: kubectl apply -f kafka.depl.yaml

4. Kafka UI 배포

  • Docker Compose 설정:

```yaml

kafka-ui:

image: provectuslabs/kafka-ui:latest

ports: "8080:8080"

environment:

KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: "kafka:9092"

```

  • Kubernetes 서비스 포워딩: kubectl port-forward service/kafka-ui-srv 8080:8080

결론

  • Kafka UIDocker/Kubernetes 환경에서 Kafka 클러스터의 실시간 모니터링, 디버깅, 구성 관리에 최적화된 도구.
  • 설치 시 주의사항: KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false" 설정으로 토픽 자동 생성 방지, OAuth 2.0 인증을 통한 보안 강화.
  • URL 접속: http://localhost:8080에서 Kafka 상태 확인 가능.