Kafka Lag 모니터링을 위해 윈도우 머쉰에 burrow 설치한 절차, 간략하게 팀 내 공유했던거 옮겨봅니다.
설치용 바이너리 파일 제공되지 않고 소스를 다운 받아 빌드를 해야 함.
빌드를 위해서는 go 언어 설치 및 기본 환경 설정되어 있어야 하는데 이에 대한 설명은 온라인에서 참고 바람.
이하는 go 언어 설치가 되어 있다는 전제 하에 Windows 용 실행 파일 생성하는 절차임.
burrow 빌드 및 인스톨.
- https://github.com/linkedin/Burrow에서 소스 다운로드
- 다운로드한 디렉토리로 이동 후 다음 명령 실행.
$ go mod tidy
$ go install
에러 발생하지 않는다면 %GOPATH%\bin 디렉토리에 Burrow.exe 생성 됨.
burrow 설정
- burrow config 파일 작성 : 참고 - https://gunju-ko.github.io/kafka/2018/06/06/Burrow.html
위 문서 참고해서 기본 설정만 한 상태이며 상세 설정 내용은 학습 후 추가 공유토록 하겠습니다.
- 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 파일 삭제 후 실행하게끔 함.
- 주1. config 파일이 다른 경로에 있는 경우에는 실행 시 config 파일 디렉토리를 옵션으로 지정해줘야 함.
- 실행 상태 확인.
health check : http://localhost:9903/burrow/admin (정상 동작 시 'GOOD' 메시지 표시 됨)
- 기타 burrow 에서 제공하는 http api 는 https://github.com/linkedin/Burrow/wiki/HTTP-Endpoint 참고.
'OpenSource' 카테고리의 다른 글
Helm chart repository deprecation 관련 메모 (0) | 2021.02.26 |
---|---|
[Bash]kafka 일괄 shutdown 스크립트 (0) | 2020.12.09 |
kafkacat 이용해서 메시지 수신 시각 확인해보기 (0) | 2020.12.08 |
Kafka mqtt connector 사용법 - RabbitMQ (0) | 2020.10.28 |
Kafka mqtt connector 사용법 - mqtt broker (1) | 2020.10.27 |