신입개발자

카프카 모니터링 툴 본문

개인 개발 공부

카프카 모니터링 툴

dks_a 2023. 8. 31. 13:16

[ 2023 카프카 모니터링 툴 순 ]
https://stackshare.io/index/kafka-tools


[카프카 모니터링 툴 종류]

https://towardsdatascience.com/overview-of-ui-tools-for-monitoring-and-management-of-apache-kafka-clusters-8c383f897e80

[ CMAK ]

[Ui for Apache Kafka / AKHQ / Kafdrop ]

  • 도커 설치 / jar 설치 가능
  • window에 도커 설치 후 실행함
    (windows10, 11에서 docker를 사용하려면 wsl2로 업데이트가 필요하고, ubuntu를 설치)

https://herojoon-dev.tistory.com/120?category=964211
https://axce.tistory.com/121

[ 도커 실행]

[ Ui for Apache Kafka ]

https://docs.kafka-ui.provectus.io/overview/readme

자바 버전 : java 17 package or newer

docker run -p 9090:8080 \
	-e KAFKA_CLUSTERS_0_NAME=dev-10.10.1.22 \
	-e KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=10.10.1.22:9092 \
	-d provectuslabs/kafka-ui:latest

[ jar 파일 실행]

http://10.10.1.23:9999/

nohup ../application/jdk/jdk17/bin/java -Dspring.config.additional-location=/home/nextmi/kafka-ui-tool/application.yml --add-opens java.rmi/javax.rmi.ssl=ALL-UNNAMED -jar /home/nextmi/kafka-ui-tool/kafka-ui-api-v0.7.0.jar & > kafka-ui.log


[ AKHQ ]

https://akhq.io/docs/

자바 버전 : java 11

docker run -p 9095:8080 \
    -e AKHQ_CONFIGURATION="akhq:
      connections:
        dev:
          properties:
            bootstrap.servers: '10.10.1.22:9092'" \
    tchiotludo/akhq

[ Kafdrop ]

https://github.com/obsidiandynamics/kafdrop

자바 버전 : Java 17 or newer

docker run -d --rm -p 9000:9000 \
    -e KAFKA_BROKERCONNECT=10.10.1.22:9092 \
    -e JVM_OPTS="-Xms32M -Xmx64M" \
    -e SERVER_SERVLET_CONTEXTPATH="/" \
    obsidiandynamics/kafdrop

[ jar 파일 실행 ]

http://10.10.1.23:9997/

nohup ../application/jdk/jdk17/bin/java --add-opens=java.base/sun.nio.ch=ALL-UNNAMED -jar -Dserver.port=9997 kafdrop-3.31.0.jar --kafka.brokerConnect="10.10.1.23:9092" & > kafdrop.log 

[ 각 모니터링 툴의 특징과 차이점 ]

[Kafdrop]

  • 한 페이지에 정보를 다 보여줘 가독성이 떨어진다.
  • 새 토픽을 만들기 위해서는 스크롤을 가장 아래까지 내려야한다.
  • 토픽 생성 시, 이름과 partitions, Replication factor만 지정할 수 있다.
  • 토픽 메세지를 파일로 저장하는 기능이 없다.
  • 실시간 기능이 없다.
  • 토픽을 지우는 기능만 있다.

[ Ui for Apache Kafka ]

  • 라이트 / 다크 모드 있다.
  • 사용자가 사용하기 편하다.
  • 토픽 생성시, 다양한 추가 기능을 화면에서 설정할 수 있다.
  • 토픽 상세로 개요, 메세지, 소비자, 설정, 통계를 탭으로 볼 수 있다.
  • 해당 토픽에 메세지를 화면에서 보낼 수 있다.
  • 보낸 메세지의 시간과 key, value를 확인 할 수 있다.
  • 토픽에 실시간 메세지가 들어오는 것을 볼 수 있다.

https://devocean.sk.com/blog/techBoardDetail.do?ID=163980

[ AKHQ ]

  • 다크 모드이다.
  • 토픽 생성시, 다양한 추가 기능을 화면에서 설정할 수 있다.
  • 토픽 상세로 개요, 메세지, 소비자, 설정을 탭으로 볼 수 있다.
  • 해당 토픽에 메세지를 화면에서 보낼 수 있다.
  • 보낸 메세지의 시간과 key, value를 확인 할 수 있다.
  • 토픽에 실시간 메세지가 들어오는 것을 볼 수 있다.

https://always-kimkim.tistory.com/entry/introduce-akhq

[ AKHQ와 Ui for Apache Kafka 차이점 ]

  • AKHQ는 Dashboard에 들어온 시간으로 얼마 전에 데이터가 생겼는지 보여준다.
    Ui for Apache Kafka는 년월일시분초로 보여준다.
  • AKHQ는 설정 창(Settings)으로 원하는 UI 설정한다.
    Ui for Apache Kafka는 해당 위치에 사용자가 원하는 UI 설정한다.
  • AKHQ는 토픽의 메세지가 json으로 저장되고 Ui for Apache Kafka은 파일로 저장된다.
  • AKHQ는 전체 토픽을 선택에 메세지가 실시간으로 들어오는 것을 확인할 수 있다. (실시간 모니터링 탭이 분리되어있다.)
    Ui for Apache Kafka은 토픽 별로 해당 토픽에 들어오는 메세지만 확인이 가능하다.
  • 토픽 생성시 Ui for Apache Kafka가 AKHQ보다 추가 기능이 다양하다.

'개인 개발 공부' 카테고리의 다른 글

gateway docker 실행  (0) 2023.08.31
redis docker 실행  (0) 2023.08.31
Dockerizing Your Spring Boot Application  (0) 2023.08.31
Docker  (0) 2023.08.31
패스트캠퍼스 Kafka 강의 1~2강 정리  (0) 2023.08.31
Comments