ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Kafka] 카프카 매니저를 대체할 수 있을까?! AKHQ (Apache Kafka HQ)
    개발자 라이프/카프카 2020. 7. 16. 00:30
    반응형

     

     

    들어가며

     카프카는 저장하는 데이터 리소스에 대한 blindness가 높아, 사용하다 보면 "괜찮은 운영 모니터링 툴이 없을까?" 하는 생각이 들곤 합니다. 그리고 그나마 가장 알려진 모니터링 툴이 카프카 매니저(현 CMAK)였습니다. 이번 글은 이 카프카 매니저를 대체할 수 있을만한(?) 카프카 운영 모니터링 툴인 AKHQ에 대해서 소개합니다.

    AKHQ 란?

     AKHQ(Apache Kafka HQ)는 오픈소스로써, micronaut 프레임워크를 기반으로 구성된 자바 웹 애플리케이션입니다. 현재(20.07.16) 1.4k 개의 star 수를 기록하고 있으며 다양한 기여를 통해 활발한 개발이 이뤄지고 있습니다.

     

    최근 한 달 간 akhq와 cmak 활동 비교. akhq가 월등히 높은 활동을 보입니다.

     

    AKHQ의 주요 기능

     

    개발자는 다크 모드 아니겠습니까..?!

     

     AKHQ의 주요 기능들에 대해서 살펴보겠습니다. AKHQ는 카프카 1.0 버전 이상을 지원하며 멀티 클러스터에 대한 모니터링이 가능합니다. 그리고 기본적인 브로커 데이터 리소스에 대한 모니터링 외에도 다양한 기능들이 있습니다. 

    브로커 데이터 리소스 모니터링 및 운영

    • 브로커 노드 별 토픽 파티션 현황 조회
    • 토픽 리스트 조회
    • 토픽 생성 및 삭제
    • 토픽 파티션 리더 및 현황 및 디스크 사이즈 조회
    • 토픽 설정 조회 및 변경
    • 실시간 토픽 메시지 조회 및 검색
    • 웹 UI를 통한 토픽 메시지 발행
    • 토픽 별 ACL 조회
    • 컨슈머 그룹 목록 조회
    • 컨슈머 그룹 별 LAG 조회

    카프카 플랫폼 연동

    • 스키마 레지스트리 연동
      • 스키마 조회 및 생성, 삭제, 수정
    • 하나 이상의 커넥트 클러스터 연동
      • 커넥터 목록 조회 
      • 커넥터 생성, 수정, 삭제
      • 커넥터 일시 중지 및 재시작

    웹 UI 보안

    • Read Only mode
    • 사용자 그룹 정의
    • 정규식을 이용한 사용자 그룹 별 토픽 필터링
    • LDAP과 연동한 인증

    CMAK와 차이점

     그렇다면 기존 CMAK와 어떤 차이점을 가질까요? 가장 두드러지는 부분만 비교해보도록 하겠습니다.

      AKHQ CMAK

    실시간 모니터링이 가능한가?
    O X
    토픽 메시지를 검색할 수 있는가? O X
    토픽 파티션을 조정(re-assign)할 수 있는가? X O
    토픽에 메시지를 발행할 수 있는가? O X

    모니터링이 가능한가?
    O
    (JMX_PORT를 통한 연동이 필요)
    토픽 별 ACL 조회가 가능한가? O X

    연동 가능한가?
    O X
    웹 UI에 관한 보안을 제공하는가? O O

     위 표와 같이 AKHQ는 토픽에 대한 강력한 모니터링 기능들을 제공하고 있습니다. 특히 토픽 메시지에 대한 실시간 모니터링 기능, 검색 기능, 메시지 발행 기능은 카프카를 이용한 개발/테스트에서 중요한 역할을 할 수 있습니다. 그리고 AKHQ는 별도의 JMX 포트에 대한 설정 없이도 컨슈머 그룹에 대한 모니터링이 가능하며, 나아가 토픽 별 ACL 조회도 가능합니다. 마지막으로 AKHQ는 단순히 카프카 브로커만이 아닌 스키마 레지스트리와 커넥트를 연동할 수 있기 때문에, 카프카 플랫폼 환경에서 더욱 안성맞춤입니다.

     

    파티션, 타임스탬프, 메시지 내용, 오프셋에 대한 메시지 검색이 가능합니다.

     

     하지만 AKHQ의 한 가지 아쉬운 점은 파티션 재조정에 대한 기능이 없다는 점입니다. 이 부분은 CMAK 에만 있는 기능으로써, 실제 운영 환경에서도 한 번쯤 고려될 수 있는 운영 포인트입니다. 하지만 해당 작업은 매우 무거운 작업이므로 운영 환경에서는 충분한 고려가 되어야 하는 작업입니다. 따라서 꼭 웹 UI를 통해서 할 필요도, 또 그 정도로 자주 발생하는 작업이 아닙니다(적어도 제가 판단하기엔!).

    마무리

     앞서 살펴본 것과 같이 AKHQ는 카프카 운영 모니터링, 특히 데이터 리소스 모니터링 부분에서 강력한 기능들을 제공합니다. 그리고 이 기능들은 카프카를 이용한 개발에서 필수적인 기능들입니다. 게다가 현재 아직 0.14 버전이지만 활발한 개발을 통해 파티션 관련 등 다양한 기능 확장을 진행하고 있습니다. 또한 docker, helm chart 등 다양한 방법으로 손쉽게 배포할 수 있도록 문서도 제공되고 있어, 언제든지 쉽게 체험해볼 수 있습니다. 

     

    Live Tail 기능을 이용한 실시간 조회 화면입니다.

     

     마지막으로 제가 직접 사용해봤을 땐 앞으로 AKHQ가 CMAK의 기존 아성(?)을 넘을 수 있을 것이라고 판단합니다. 이 글로 AKHQ를 살펴보신 여러분의 생각은 어떠신가요? 아래 댓글로 남겨주세요! ㅎㅎ

    참고

    Github - AKHQ 

    반응형

    댓글

Designed by Tistory.