멀티 브로커로 구성된 Kafka 를 모니터링하기 위해 Exporter 를 사용하여 수집된 metric 은 Promethues 와 Grafana 로 시각화 하고자 하였다. Kafka 모니터링을 할때 주로 쓰이는 exporter 는 주로 두가지가 있습니다.
jmx-exporter
를 사용하여 JVM의 메모리 누수, GC 시간 증가, 쓰레드 개수 등의 지표를 모니터링하고 이에 대한 경고 알림을 설정할 수 있습니다.kafka-exporter
를 사용하여 특정 소비자 그룹 지연(Lag), 파티션 복제 상태, 메시지 처리 실패 등을 감지하여 알림을 설정할 수 있습니다.JMX_PORT: 9876
는 Kafka 브로커가 자체적으로 JMX 관리 기능을 활성화할 때 사용하는 포트입니다. 그러나, JMX 데이터를 Prometheus와 같은 모니터링 도구에 전달하기 위해서는 JMX Exporter가 필요합니다.javaagent
옵션을 통해 Kafka 브로커와 연결되어 JMX 데이터를 수집하고, 이를 7073번 포트에서 Prometheus 형식으로 제공하는 역할을 합니다.JMX Exporter를 사용하여 Kafka의 JMX(Java Management Extensions) 데이터를 수집하고, 이를 Prometheus와 같은 모니터링 시스템으로 노출하는 설정입니다. 이 설정을 통해 Kafka의 다양한 메트릭(consumer, producer, broker, topic 등)을 수집하고 GAUGE 또는 COUNTER 형식으로 Prometheus에 전달할 수 있습니다.