Kafka 컨슈머 랙을 확인하는 방법 3가지

1 minute read

카프카 명령어 사용

kafka-consumer-groups.sh 명령어를 사용하면 컨슈머 랙을 포함한 특정 컨슈머 그룹의 상태를 확인할 수 있다.

  • 컨슈머 랙을 확인하기 위한 가장 기초적인 방법으로 다음과 같이 명령어를 사용하면 된다.

      bin/kafka-consumer-groups.sh
      	--bootstrap-server my-kafka:9092 \
      	--group my-group \
      	--describe
    
  • 카프카 명령어를 통해 컨슈머랙을 확인하는 방법은 일회성에 그치고 지표를 지속적으로 기록하고 모니터링하기에는 부족하다.
  • 그렇기 때문에 kafka-consumer-groups.sh 를 통해 컨슈머 랙을 확인하는 것은 테스트용 카프카에서 주로 사용한다.

metrics() 함수 사용

컨슈머가 정상 동작할 경우에만 확인할 수 있다.

  • metrics() 함수는 컨슈머가 정상정으로 실행될 경우에만 호출된다. 그렇기 때문에 만약 컨슈머 애플리케이션이 비정상적으로 종료되면 더는 컨슈머 랙을 모니터링 할 수 없다.
  • 모든 컨슈머 애플리케이션에 컨슈머 랙 코드를 중복해서 작성해야한다. 컨슈머 애플리케이션을 여러 종류로 운영할 경우 각기 다른 컨슈머 애플리케이션에 metrics() 함수를 호출하여 컨슈머 랙을 수집하는 로직을 중복해서 넣어야 한다.
  • 왜냐하면 특정 컨슈머 그룹에 해당하는 애플리케이션이 수집하는 컨슈머 랙은 모니터링하는 코드를 추가할 수 없는 카프카 서드 파티 애플리케이션의 컨슈머 랙 모니터링이 불가능하다.

외부 모니터링 툴 사용

컨슈머 랙을 모니터링을 가장 최선의 방법은 외부 모니터링 툴을 사용하는 것이다.

  • 데이터 독(Datadoc), 컨플루언트 컨트롤 센터(Confluent Control Center)와 같은 카프카 클러스터 종합 모니터링 툴을 사용하면 카프카 운영에 필요한 다양한 지표를 모니터링할 수 있다.
  • 모니터링 지표에는 컨슈머 랙도 포함되어 있기 때문에 클러스터 모니터링과 컨슈머 랙을 함께 모니터링하기에 적합하다.
  • 컨슈머 랙 모니터링만을 위한 툴로 오픈소스로 공개되어 있는 버로우(Burrow) 가 있다.
-->

Categories:

Updated:

Comments