카프카 커넥트(분산모드)는 기본 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 0x000000063. JMX를 수집하는 로그스태시 설정
로그스태시 설치는 homebrew로 수행합니다.
$ brew install logstash로그스태시에 추가로 jmx 플러그인을 설치합니다. logstash-plugin은 logstash설치 경로에 있습니다.
$ bin/logstash-plugin install logstash-input-jmxJMX 호스트, 포트를 정의할 파일을 생성합니다.
$ 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
Jmx input plugin | Logstash Reference [7.9] | Elastic
Variable substitution in the id field only supports environment variables and does not support the use of values from the secret store.
www.elastic.co
반응형
    
    
    
  '빅데이터 > 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 | 
 
										
									 
										
									 
										
									