메트릭과 모니터링

메트릭과 모니터링 (Metrics and Monitoring)

Apache Pinot이 내보내는 메트릭 시스템과 이를 모니터링하는 방법을 상세히 안내해요.

출처: 문서

본문

개요 (Overview)

Pinot의 각 컴포넌트(controller, broker, server, minion)는 운영 상태와 성능을 파악할 수 있는 풍부한 메트릭을 내보내요. 메트릭 레지스트리와 내보내기(export) 설정을 통해 JMX, Prometheus, CloudWatch 등 다양한 모니터링 시스템으로 지표를 전달할 수 있어요.

메트릭 레지스트리와 내보내기 (Metrics registry and exporters)

Pinot은 Micrometer 및 Yammer 기반 메트릭 레지스트리를 사용해요. 구성에 따라 다음 내보내기 방식을 활성화할 수 있어요.

  • JMX — JVM MBean을 통한 메트릭 노출.
  • Prometheus — Prometheus 형식의 메트릭 엔드포인트 노출.
  • CloudWatch — AWS CloudWatch로 메트릭 전송.
  • Graphite / InfluxDB 등 기타 내보내기.

컴포넌트별 주요 메트릭 (Key metrics by component)

컨트롤러 (Controller)

  • 테이블 수, 세그먼트 수
  • 테이블/스키마 생성·삭제 등 관리 작업 지표
  • 리밸런스 및 작업(minion task) 관련 지표

브로커 (Broker)

  • 초당 쿼리 수(QPS)
  • 쿼리 지연(P99, 평균)
  • 쿼리 처리 시간
  • 클라이언트 요청 수와 실패 수

서버 (Server)

  • 쿼리 실행 시간과 지연
  • 세그먼트 수와 상태(ONLINE, CONSUMING 등)
  • 다큐먼트/행 수
  • 소비(consumption) 래그 — pinot.server.realtimeConsumptionCatchupRatio
  • 저장 용량과 메모리 사용량

미니언 (Minion)

  • 실행 중인 작업 수와 작업 완료/실패 지표
  • 작업 대기열 크기

JVM 메트릭 (JVM metrics)

각 컴포넌트는 GC 빈도와 일시정지 시간, 힙 사용량, 스레드, 직접 메모리(off-heap) 등 JVM 메트릭도 내보내요. MMAP 모드를 쓰는 서버는 쓰기(off-heap/direct) 메모리 사용량을 특히 주시해야 해요.

모니터링 모범 사례 (Monitoring best practices)

  • 쿼리 지연 P99를 SLA와 함께 추적하세요.
  • 실시간 테이블의 소비 래그를 모니터링해 적재 지연을 조기 감지하세요.
  • 세그먼트 수와 세그먼트 크기를 관찰해 병합·롤업(merge/rollup) 필요성을 판단하세요.
  • Prometheus + Grafana 통합에 대한 자세한 내용은 Monitor Pinot using Prometheus and Grafana를 참고하세요.

더 알아보기 (Learn more)