Kafka Emitter

Kafka Emitter

kafka-emitter 확장은 Druid 메트릭을 JSON 포맷으로 Apache Kafka에 직접 보내요. 이미 Kafka를 사용 중이라면 다양한 도구나 UI로 Druid 클러스터 상태를 모니터링하기 쉽게 통합할 수 있어요.

출처: 문서

본문

이 Apache Druid 확장을 사용하려면 extensions load list에 kafka-emitter를 포함해 주세요.

kafka-emitter

Introduction

이 확장은 Apache Kafka에 Druid 메트릭을 JSON 포맷으로 직접 보내요. 현재 Kafka는 훌륭한 생태계뿐 아니라 바로 사용 가능한 consumer API도 갖추고 있어요. 그래서 이미 Kafka를 사용하고 있다면, 이 확장으로 Druid 클러스터 상태를 모니터링하는 다양한 도구나 UI를 쉽게 통합할 수 있어요.

Configuration

Kafka emitter의 모든 구성 파라미터는 druid.emitter.kafka 아래에 있어요.

속성 설명 필수 기본값
druid.emitter.kafka.bootstrap.servers 쉼표로 구분된 Kafka broker. ([hostname:port],[hostname:port]...) yes none
druid.emitter.kafka.event.types 쉼표로 구분된 이벤트 타입. 지원되는 타입은 alerts, metrics, requests, segment_metadata. no ["metrics", "alerts"]
druid.emitter.kafka.metric.topic emitter가 서비스 메트릭을 보낼 Kafka topic 이름. event.types에 metrics가 포함되면 이 필드는 비면 안 돼요. no none
druid.emitter.kafka.alert.topic emitter가 알림을 보낼 Kafka topic 이름. event.types에 alerts가 포함되면 이 필드는 비면 안 돼요. no none
druid.emitter.kafka.request.topic emitter가 request log를 보낼 Kafka topic 이름. event.types에 requests가 포함되면 이 필드는 비면 안 돼요. no none
druid.emitter.kafka.segmentMetadata.topic emitter가 segment metadata를 보낼 Kafka topic 이름. event.types에 segment_metadata가 포함되면 이 필드는 비면 안 돼요. no none
druid.emitter.kafka.producer.config Kafka producer에 추가 속성을 설정하는 JSON 구성. no none
druid.emitter.kafka.clusterName Druid 클러스터 이름을 지정하는 선택 값. 모니터링 환경에서 그룹을 만드는 데 도움이 돼요. no none
druid.emitter.kafka.extra.dimensions 내보낸 이벤트에 대한 추가 string dimension map을 지정하는 선택 JSON 구성. 모니터링 환경에서 그룹을 만드는 데 도움이 돼요. no none
druid.emitter.kafka.producer.hiddenProperties username, password 같은 민감한 Kafka producer 속성을 지정하는 JSON 구성. 이 속성은 DynamicConfigProvider 구현을 허용해요. no none
druid.emitter.kafka.producer.shutdownTimeout Kafka producer가 종료 전에 대기 중인 요청이 끝나기를 기다리는 시간(밀리초). no Long.MAX_VALUE

Example

druid.emitter.kafka.bootstrap.servers=hostname1:9092,hostname2:9092
druid.emitter.kafka.event.types=["metrics", "alerts", "requests", "segment_metadata"]
druid.emitter.kafka.metric.topic=druid-metric
druid.emitter.kafka.alert.topic=druid-alert
druid.emitter.kafka.request.topic=druid-request-logs
druid.emitter.kafka.segmentMetadata.topic=druid-segment-metadata
druid.emitter.kafka.producer.config={"max.block.ms":10000}
druid.emitter.kafka.extra.dimensions={"region":"us-east-1","environment":"preProd"}
druid.emitter.kafka.producer.hiddenProperties={"config":{"sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"KV...NI\" password=\"gA3...n6a/\";"}}

더 알아보기 (Learn more)