환경: Spring Boot Project 2.7.5 + Spring-Kafka 2.8.10
코드를 사용한 Metrics 확인
@Bean
public ApplicationRunner runner(KafkaTemplate<String, String> kafkaTemplate,
KafkaListenerEndpointRegistry registry) {
return args -> {
Map<MetricName, ? extends Metric> producerMetrics = kafkaTemplate.metrics();
for (MetricName metricName : producerMetrics.keySet()) {
log.info("metricName = {}, value = {}", metricName.description(), producerMetrics.get(metricName).metricValue());
}
MessageListenerContainer listenerContainer = registry.getListenerContainer("test-event-id");
Map<String, Map<MetricName, ? extends Metric>> consumerMetrics = listenerContainer.metrics();
for (String key : consumerMetrics.keySet()) {
for (MetricName metricName : consumerMetrics.get(key).keySet()) {
log.info("key = {}, metricName = {}, value = {}", key, metricName.description(), consumerMetrics.get(key).get(metricName).metricValue());
}
}
};
}
- kafkaTemplate.metrics()로 Producer Metrics를 조회할 수 있다.
- kafkaListenerEndpointRegistry에 등록된 id로 listenerContainer를 가져오고 container에서 Consumer Metrics()를 조회할 수 있다.
- 다음과 같은 실행 결과를 확인할 수 있다.
Actuator를 사용한 Metrics 확인
build.gradle에 다음과 같은 dependency를 추가한다.
implementation 'org.springframework.boot:spring-boot-starter-actuator'
application.yml에 다음과 같은 설정 정보를 추가한다.
management:
endpoints:
web:
exposure:
include: "*"
Application을 실행하고 GET http://localhost:8080/actuator/metrics을 호출하면 Kafka Prdocuer/Consumer metric 목록을 조회할 수 있다.
확인하고 싶은 값을 선택하여 Path에 추가한 뒤 호출하면, 해당 값의 정보를 확인할 수 있다.
GET http://localhost:8082/actuator/metrics/kafka.consumer.successful.authentication.rate
'Kafka' 카테고리의 다른 글
[Spring + Kafka] Spring-Kafka-Streams 간단한 실습 (0) | 2022.12.05 |
---|---|
[Spring + Kafka] 에러 핸들링 (1) | 2022.12.04 |
[Spring + Kafka] AdminKafka 사용하기 (0) | 2022.12.01 |
[Spring + Kafka] Consume Messages (0) | 2022.11.29 |
[Spring + Kafka] Publish Messages (0) | 2022.11.28 |