관리 메뉴

피터의 개발이야기

[kafka] Kafka 클러스터 모니터링 UI 도구들 본문

DevOps/kafka

[kafka] Kafka 클러스터 모니터링 UI 도구들

기록하는 백앤드개발자 2024. 3. 20. 10:44
반응형

ㅁ 들어가며

  Kafka는 실시간 데이터를 관리하는 만큼 모니터링은 필수 요소이다. kafka를 모니터링할 수 있는 도구들에 대해서 Overview of UI Tools for Monitoring and Management of Apache Kafka Clusters을 참조하여 정리를 하였다.

이 블로그에서는 다양한 Kafka 모니터링 툴들의 기능 및 UI 편의성을 비교해 주었는데, 무료에 관한 내용을 옮겨 적었다. 

 

ㅁ Apache Kafka 클러스터를 위한 상위 8가지 UI 모니터링 도구

ㅇ 블로그에 제시된 모니터링 Tool들의 비교 표이다. 

ㅇ Apache Kafka 클러스터 모니터링 도구를 빠르게 비교할 수 있다.

ㅇ 2021년에 작성된 도표이기 때문에 업그레이드 상황에 따라 달라질 수 있다.

 

ㅁ UI for Apache Kafka

  Apache Kafka용 UI는 편리한 UI, 무료 가용성, 수많은 기능 덕분에 다른 제품들 중에서 단연 돋보인다.

  • Message 검색 — browse messages with Avro, Protobuf, JSON, and plain text encoding
  • Consumer Groups 보기 — view per-partition parked offsets, and combined and per-partition lag
  • 인증 옵션 — Github/Gitlab/Google OAuth 2.0을 사용하여 인증 설정가능
  • Kafka Brokers 보기— view topic and partition assignments, and controller status
  • Kafka Topics 보기 — view partition count, replication status, and custom configuration
  • Multi-Cluster Management — monitor and manage all your clusters in one place
  • Dynamic Topic Configuration — create and configure new topics with dynamic configuration

[kafka] docker compose로  kafka cluster 구성 및 kafka-ui 모니터링에서 사용해 보았다.

 

ㅁ AKHQ

  • GitHub: https://github.com/tchiotludo/akhq
  • 라이센스: 아파치 2
  • 가용성: 무료
  • 장점: 유용한 기능이 많다
  • 단점: 나쁜 UI; KSQL 통합이 부족합니다. Protobuf 스키마 레지스트리 부분 지원

AKHQ (이전 KafkaHQ)는 엔지니어링 팀이 통합 콘솔에서 데이터를 검색하고 탐색할 수 있는 기능을 제공하는 Apache Kafka용 Kafka GUI이다. AKHQ를 통해 개발자와 DevOps는 주제, 주제 데이터, 소비자 그룹, 스키마 레지스트리, 연결 등을 관리할 수 있다.

  AKHQ는 다중 클러스터 관리, 메시지 검색, 라이브 테일링, 인증, 권한 부여, 읽기 전용 모드, 스키마 레지스트리 및 Kafka Connect 관리를 포함한 수많은 유용한 기능을 제공한다. Avro를 지원하며 LDAP 및 RBAC와 호환된다.

  하지만 AKHQ의 UI는 가장 편리하지 않습니다. 학습 곡선을 확장하려면 시간을 투자해야 한다. 게다가 AKHQ에는 KSQL 통합이 없으며 Protobuf 스키마 레지스트리를 부분적으로만 지원한다. 동적 주제 구성, 파티션 증가, 복제본 변경, Kafka Streams 토폴로지 또는 JMX 메트릭 시각화 및 차트에서도 작동하지 않는다.

  AWS에서 데이터 스트리밍 솔루션의 일부로 AKHQ를 사용하려는 경우 Amazon MSK에 대한 AWS Identity and Access Management(IAM) 액세스 제어를 지원하지 않는다는 점을 알아야 한다 .

 

 

ㅁ Kafdrop

Kafdrop은 Apache Kafka 주제를 보고 소비자 그룹을 검색하기 위한 웹 UI입니다. 이 도구를 사용하면 개발자는 브로커, 주제, 파티션 및 소비자와 같은 클러스터 정보를 보다 쉽게 ​​표시하고 처리할 수 있습니다. 또한 메시지를 볼 수도 있습니다.

  대부분의 경우 Kafdrop은 꽤 평범한 도구이다. UI가 훌륭하지도 않고 기능도 많이 부족하다. Kafka 브로커 및 소비자 그룹을 보고, 주제를 생성 및 보고, 메시지를 찾아보고, ACL을 모니터링할 수 있다. 또한 Azure Event Hubs에 대한 지원도 제공한다. 하지만 라이브 테일링, 스키마 레지스트리 또는 읽기 전용 모드와 같은 다른 유용한 기능은 지원하지 않는다.

  좋은 소식은 Kafdrop이 GitHub에서 높은 평가를 받고 있다는 것이다. 도움이 되고 몰입도가 높은 커뮤니티를 찾고 있다면 Kafdrop이 적합한 도구일 수 있다.

 

ㅁ Lenses

  • GitHub: https://github.com/lensesio
  • 라이센스: BSL
  • 가용성: 무료
  • 장점: fast-kafka-dev 및 로컬 개발에 탁월합니다.
  • 단점: 기능이 많이 부족함

Lenses는 Apache Kafka 및 Kubernetes의 실시간 애플리케이션 및 데이터 작업을 위한 DataOps 플랫폼으로 자리매김했다. 이는 엔지니어가 데이터를 더욱 유용하고 안전하게 만들고 데이터 사일로를 제거하는 데 도움이 될 수 있다. 렌즈는 실시간 스트림 분석에 있어 가장 높은 평가를 받은 제품인 것으로 보인다.

그러나 Lenses는 틀림없이 상당히 평범한 도구이다. fast-kafka-dev와 함께 Lenses를 사용하는 것이 완벽하다. 그러나 특정 기능이 부족하다. 다중 클러스터 관리, 메시지 검색 및 avro 지원만으로는 많은 작업을 수행하기에 충분하지 않다. Kafka Connect 관리를 별도의 서비스로 제공하는 것도 도움이 되지 않는다. 그러나 많은 기능 없이 만족하신다면 Lenses의 UI가 딱 맞을 것입니다. 매우 세련되고 직관적인 정말 놀라운 도구이다.

 

ㅁ CMAK

  • GitHub: https://github.com/yahoo/CMAK
  • 라이센스: 아파치 2
  • 가용성: 무료
  • 장점: 파티션 재할당에 적합합니다. 운영 도구
  • 단점: 운영 작업으로 제한됨

  CMAK (이전 Kafka Manager)는 엔지니어가 다양한 Ops 작업을 위해 Apache Kafka 클러스터를 관리할 수 있는 포괄적인 도구이다. CMAK는 훌륭하고 매우 간단한 UI를 자랑한다. 많은 기능을 제공하지는 않지만 다중 클러스터 관리, 동적 주제 구성, 파티션 생성 및 복제본 변경이 대부분의 작업을 처리한다. 대부분의 경우 CMAK는 주로 Ops 도구이며 파티션 재할당에도 정말 좋다.

 

 

ㅁ 마무리

  Apache Kafka 클러스터 모니터링 및 관리를 위한 올바른 UI 도구를 갖추는 것이 클러스터 관리의 핵심이다. 편리한 GUI 환경에서 데이터 흐름을 관찰하고, 지표를 추적하고, 문제를 보다 효율적으로 해결할 수 있다. 결과적으로 병목 현상이 줄어들고 Report 속도가 빨라지며 개발 비용을 줄일 수 있다.

반응형
Comments