OpenTSDB Emitter
OpenTSDB Emitter
opentsdb-emitter 확장은 HTTP를 통해 Druid 메트릭을 OpenTSDB로 보내요. 이 emitter는 서비스 메트릭 이벤트만 OpenTSDB로 보내고, JSON 파일로 원하는 메트릭과 dimension을 정의할 수 있어요.
출처: 문서
본문
이 Apache Druid 확장을 사용하려면 extensions load list에 opentsdb-emitter를 포함해 주세요.
opentsdb-emitter
Introduction
이 확장은 HTTP를 통해 druid 메트릭을 OpenTSDB로 보내요 (Jersey client 사용). 그리고 이 emitter는 서비스 메트릭 이벤트만 OpenTSDB로 보내요 (메트릭 목록은 Druid metrics 참고).
Configuration
OpenTSDB emitter의 모든 구성 파라미터는 druid.emitter.opentsdb 아래에 있어요.
| 속성 | 설명 | 필수 | 기본값 |
|---|---|---|---|
druid.emitter.opentsdb.host |
OpenTSDB 서버의 host. | yes | none |
druid.emitter.opentsdb.port |
OpenTSDB 서버의 port. | yes | none |
druid.emitter.opentsdb.connectionTimeout |
Jersey client 연결 타임아웃(밀리초). |
no | 2000 |
druid.emitter.opentsdb.readTimeout |
Jersey client 읽기 타임아웃(밀리초). |
no | 2000 |
druid.emitter.opentsdb.flushThreshold |
큐 플러싱 임계값. (이벤트는 한 배치로 보내져요.) | no | 100 |
druid.emitter.opentsdb.maxQueueSize |
이벤트를 버퍼링하는 데 쓰는 큐의 최대 크기. | no | 1000 |
druid.emitter.opentsdb.consumeDelay |
큐 소비 지연(밀리초). 실제로는 ScheduledExecutorService로 이벤트 소비를 스케줄링하므로, 이 consumeDelay는 한 실행의 종료와 다음 실행의 시작 사이의 지연을 의미해요. druid 프로세스가 메트릭 이벤트를 빠르게 생성한다면, 이 consumeDelay를 줄이거나 maxQueueSize를 늘려야 해요. |
no | 10000 |
druid.emitter.opentsdb.metricMapPath |
모든 Druid 메트릭에 대해 원하는 메트릭과 dimension을 정의하는 JSON 파일. | no | ./src/main/resources/defaultMetrics.json |
druid.emitter.opentsdb.namespacePrefix |
메트릭 이름에 대한 선택적(String) 접두사. 예를 들어 기본 메트릭 이름 query.count에 namespacePrefix를 druid로 설정하면 druid.query.count로 내보내져요. |
no | null |
Druid to OpenTSDB Event Converter
OpenTSDB emitter는 JSON 파일에 정의된 원하는 메트릭과 dimension만 보내요. 사용자가 자신의 JSON 파일을 지정하지 않으면 기본 파일이 사용돼요. 모든 메트릭이 JSON 파일에 구성되어야 해요. 구성되지 않은 메트릭은 로그로 기록돼요.
원하는 메트릭과 dimension은 다음 스키마로 구성돼요.
<druid metric name> : [ <dimension list> ]
예:
"query/time": [
"dataSource",
"type"
]
대부분의 사용 사례에서는 기본 구성으로 충분해요.
더 알아보기 (Learn more)
- 다른 메트릭 emitter로 Prometheus Emitter, StatsD Emitter, Graphite Emitter도 살펴보세요.
- Druid Metrics 문서에서 Druid가 내보내는 메트릭 목록을 확인해 보세요.