본문 바로가기
  • 노션에서 삽질한 내용을 정리하는 블로그
자기발전소/# Monitoring

[kafka monitoring] jmx-exporter 설정

by iamlucia 2023. 11. 9.

 

1-1. jmx-exporter 파일 설치

github에서 jmx exporter jar 파일(jmx_prometheus_javaagent.jar) 및 컴포넌트별 설정 파일(${component}.yml)을 다운로드하고, 각 파일들을 컴포넌트 서버에 위치시킵니다.

**$ git clone <https://github.com/confluentinc/jmx-monitoring-stacks.git>

$ cd jmx-monitoring-stacks/shared-assets/jmx-exporter**

**$ ll**
total 1080
-rw-rw-r--. 1 confluent confluent   5921 Jun 29 11:08 confluent_ksql.yml
-rw-rw-r--. 1 confluent confluent   1654 Jun 29 11:08 confluent_rest.yml
-rw-rw-r--. 1 confluent confluent   4582 Jun 29 11:08 confluent_schemaregistry.yml
-rw-rw-r--. 1 confluent confluent    167 Jun 29 11:08 exporter_debug_logging.properties
-rw-rw-r--. 1 confluent confluent 544974 Jun 29 11:08 jmx_prometheus_javaagent-0.18.0.jar
-rw-rw-r--. 1 confluent confluent 488803 Jun 29 11:08 jolokia-jvm-1.7.1.jar
-rw-rw-r--. 1 confluent confluent  10079 Jun 29 11:08 kafka_broker.yml
-rw-rw-r--. 1 confluent confluent   7941 Jun 29 11:08 kafka_broker_p99only.yml
-rw-rw-r--. 1 confluent confluent   1934 Jun 29 11:08 kafka_client.yml
-rw-rw-r--. 1 confluent confluent   6432 Jun 29 11:08 kafka_connect.yml
-rw-rw-r--. 1 confluent confluent   3605 Jun 29 11:08 kafka_streams.yml
-rw-rw-r--. 1 confluent confluent   3717 Jun 29 11:08 zookeeper.yml

 

1-2. java agent 옵션 추가

각 component 의 start script에 jmx exporter jar 파일 과 설정 파일을 자바 옵션으로 설정하여 java agent를 등록합니다. start script를 수정한 다음, 각 옵션이 정상적으로 적용되도록 각 컴포넌트 프로세스를 재기동합니다.

### generic jvm settings
KAFKA_OPTS="${KAFKA_OPTS} -D${SERVER_NAME}"
KAFKA_OPTS="${KAFKA_OPTS} -javaagent:/app/confluent/scripts/jmx_prometheus_javaagent-0.16.1.jar=1234:/app/confluent/scripts/confluent_schemaregistry.yml"
export KAFKA_OPTS
  • jmx exporter를 통해 metric을 노출할 포트: 1234 로 설정, 해당 포트 관련 방화벽을 설정할 때에는 metric을 가져올 source 서버는 prometheus, metric정보를 노출할 각 component 서버(broker,zookeeper등..)가 destination 서버가 됩니다.

'자기발전소 > # Monitoring' 카테고리의 다른 글

[kafka monitoring] Prometheus 서비스 기동  (0) 2023.11.09