카프카 커넥트(분산모드)는 기본 JMX포트를 통해 커넥트 애플리케이션의 상태를 모니터링 수집 애플리케이션에 데이터를 전송할 수 있습니다. 오늘은 카프카 커넥트의 JMX포트를 열고 로그스태시로 JMX로 지표를 수집하는 방법에 대해 알아보겠습니다.
1. 카프카 커넥트 JMX포트 열기
$ export JMX_PORT=10000
우선 JMX포트를 열기위해 환경변수로 선언합니다.
2. 카프카 커넥트 실행 및 JMX 포트 확인
$ bin/connect-distributed.sh ../config/connect-distributed.properties
실행이 완료되면 설정한 10000번 포트로 listen 여부를 확인합니다.
$ netstat -anv | grep 10000
tcp46 0 0 *.10000 *.* LISTEN 131072 131072 10171 0 0x0100 0x00000006
3. JMX를 수집하는 로그스태시 설정
로그스태시 설치는 homebrew로 수행합니다.
$ brew install logstash
로그스태시에 추가로 jmx 플러그인을 설치합니다. logstash-plugin은 logstash설치 경로에 있습니다.
$ bin/logstash-plugin install logstash-input-jmx
JMX 호스트, 포트를 정의할 파일을 생성합니다.
$ vi jmx/jmx-connect
{
"host":"localhost",
"port":10000,
"queries":[
{
"object_name":"kafka.connect:type=*"
}
]
}
로그스태시 설정파일을 생성합니다.
input {
jmx {
path => "/usr/local/Cellar/logstash/7.9.1/jmx"
polling_frequency => 5
type => "jmx"
}
}
filter {
mutate {
update => { "host" => "${HOSTNAME}" }
}
}
output {
elasticsearch {
hosts => ["엘라스틱서치 호스트:포트"]
index => "connect-log-%{+YYYY.MM}"
}
}
실행
$ bin/logstash -f router-log.conf
참고URL
www.elastic.co/guide/en/logstash/current/plugins-inputs-jmx.html
반응형
'빅데이터 > Kafka' 카테고리의 다른 글
토픽의 메시지 값을 직렬화/역직렬화가 정상적으로 이루어지지 않는 경우 테스트 (0) | 2020.10.15 |
---|---|
정말정말 간단한 스프링 카프카 컨슈머 애플리케이션 예제 (0) | 2020.10.13 |
Reactive를 품은 스프링 카프카 시청 정리 자료 (1) | 2020.09.26 |
kafka connect 로그를 logstash로 수집하기 + grok 설정(multiline) (0) | 2020.09.23 |
스프링 카프카 메시지 리스너 2가지 구현 방법 (0) | 2020.07.23 |
카프카 컨슈머 파티셔너 종류 및 정리(2.5.0 기준) (1) | 2020.07.23 |