본문 바로가기

OpenSource

Kafka 모니터링 - burrow 설치

Kafka Lag 모니터링을 위해 윈도우 머쉰에 burrow 설치한 절차, 간략하게 팀 내 공유했던거 옮겨봅니다.

설치용 바이너리 파일 제공되지 않고 소스를 다운 받아 빌드를 해야 함.

빌드를 위해서는 go 언어 설치 및 기본 환경 설정되어 있어야 하는데 이에 대한 설명은 온라인에서 참고 바람.

이하는 go 언어 설치가 되어 있다는 전제 하에 Windows 용 실행 파일 생성하는 절차임.

burrow 빌드 및 인스톨.

  1. https://github.com/linkedin/Burrow에서 소스 다운로드
  2. 다운로드한 디렉토리로 이동 후 다음 명령 실행.

$ go mod tidy
$ go install

에러 발생하지 않는다면 %GOPATH%\bin 디렉토리에 Burrow.exe 생성 됨.

burrow 설정

위 문서 참고해서 기본 설정만 한 상태이며 상세 설정 내용은 학습 후 추가 공유토록 하겠습니다.

  • burrow.toml

[general]
pidfile="burrow.pid"
stdout-logfile="burrow.out"
access-control-allow-origin="..."

[logging]
filename="logs/burrow.log"
level="info"
maxsize=100
maxbackups=30
maxage=10
use-localtime=false
use-compression=true

[zookeeper]
servers=[ "...:2181" ]
timeout=6
root-path="/burrow"

[client-profile.test]
client-id="burrow-test"
kafka-version="0.10.0"

[cluster.local]
class-name="kafka"
servers=[ "...:9092" ]
client-profile="test"
topic-refresh=120
offset-refresh=30

[consumer.local]
class-name="kafka"
cluster="local"
servers=[ "...:9092" ]
client-profile="test"
group-denylist="^(console-consumer-|python-kafka-consumer-|quick-).*$"
group-allowlist=""

[consumer.local_zk]
class-name="kafka_zk"
cluster="local"
servers=[ "...:2181" ]
zookeeper-path="/kafka-cluster"
zookeeper-timeout=30
group-denylist="^(console-consumer-|python-kafka-consumer-|quick-).*$"
group-allowlist=""

[httpserver.default]
address=":9903"

[storage.default]
class-name="inmemory"
workers=20
intervals=15
expire-group=604800
min-distance=1

burrow 실행

  • Burrow.exe 파일과 burrow.toml 을 같은 디렉토리에 배치.
  • 이 디렉토리에 burrow.toml 에 설정한 것에 맞추어 logs 디렉토리 생성.
  • Burrow.exe 실행.
    • 주1. config 파일이 다른 경로에 있는 경우에는 실행 시 config 파일 디렉토리를 옵션으로 지정해줘야 함.
      예 : Burrow --config-dir /path/config
    • 주2. 실행하면 stdout-logfile 로 설정한 burrow.out 이란 파일이 생성되는데 재실행 시에는 이 파일 때문에 실행 안되는 문제가 있어서 임시로 배치 파일 만들어 burrow.out 파일 삭제 후 실행하게끔 함.

       

  • 실행 상태 확인.

health check : http://localhost:9903/burrow/admin (정상 동작 시 'GOOD' 메시지 표시 됨)