kafka 모니터링 도구

2021. 10. 28. 18:49 Spring Cloud/Apache Kafka

kafka 모니터링 도구

  1. Kafka Offset Monitor (오픈소스 기반의 Web UI)
    • 홈페이지
    • 실행: $ java -cp KafkaOffsetMonitor-assembly-0.2.1.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb --zk zk-server1,zk-server2 --port 8080 --refresh 10.seconds --retain 2.days
    • 모니터링: http://설치호스트IP:설치포트
    • 모니터링 주요항목
      • Consumer 위주의 모니터링
      • topic 에 대한 모니터링
      • zookeeper 의 클러스터링
    • 한계(사견)
      • 시스템 항목에 대한 모니터링 항목의 부재
      • Producer 대응의 부재
      • active consumer list 호출 방식을 찾지 못했다..
  2. Linkedin Kafka-monitor (오픈소스 기반의 Web UI)
    • 홈페이지
    • 실행: $ ./bin/single-cluster-monitor.sh --topic test --broker-list localhost:9092 --zookeeper localhost:2181
    • 모니터링: http://설치호스트IP:8000/index.html (default port 8000)
    • 모니터링 주요항목
      • Producer 위주의 모니터링
      • 저장된 record 에 대한 replica, partitioning, 지연 등 에 대한 모니터링
    • 한계(사견)
      • 시스템 항목에 대한 모니터링 항목의 부재
      • Consumer 대응의 부재
  3. Datadog (상용서비스 Web UI)
    • 홈페이지
    • 동작:
      • 카프카 인스턴스에 개별 agent 설치
      • agent 가 datadog 으로 정보를 전달해주는 방식으로 위 두개의 open source 와 다르다
    • 모니터링: 
    • 모니터링 주요항목
      • kafka.yaml 항목을 통한 대부분의 kafka 정보 처리 가능
      • metric 항목들 metric
    • 한계(사견)
      • 무료로 사용시, 카프카 모니터링 항목이 datadog 에 저장 된다
      • 제한적 환경에서는 많은 방화벽 이슈가 있을 수 있다
  4. JMX 를 이용한 직접 모니터링

※ jmx 를 이용한 직접 모니터링이 가장 좋은 방식으로 생각되었지만 jar 호출과 명령어 호출에 사용되는 시스템 리소스가 있으므로 잘 판단하여 사용해야 할 것 같다



출처: https://mrsence.tistory.com/69 [감각적신사 의 멱살잡고 IT]