Query metrics
출처: 문서
본문
쿼리 메트릭
2.16에 도입됨 {: .label .label-purple }
집계 타입, 쿼리 타입, 지연 시간, 쿼리 타입별 리소스 사용량 같은 주요 쿼리 메트릭은 OpenTelemetry(OTel) 계측 프레임워크를 사용해서 검색 경로를 따라 수집돼요. 텔레메트리 데이터는 OTel 메트릭 exporters를 사용해서 소비할 수 있어요.
쿼리 메트릭 생성 구성하기
쿼리 메트릭 생성을 구성하려면 다음 단계를 따르세요.
1단계: OpenTelemetry 플러그인 설치
OpenTelemetry 플러그인 설치 방법은 분산 트레이싱을 참고하세요.
2단계: 쿼리 메트릭 활성화
다음 opensearch.yml 설정을 구성해서 쿼리 메트릭을 활성화하세요:
telemetry.feature.metrics.enabled: true
search.query.metrics.enabled: true
{% include copy.html %}
다음은 텔레메트리 구성이 포함된 전체 샘플 구성이에요:
# Enable query metrics feature
search.query.metrics.enabled: true
telemetry.feature.metrics.enabled: true
# OTel-related configuration
opensearch.experimental.feature.telemetry.enabled: true
telemetry.tracer.sampler.probability: 1.0
telemetry.feature.tracer.enabled: true
{% include copy.html %}
또는 API를 사용해서 쿼리 메트릭 생성을 구성할 수도 있어요:
PUT _cluster/settings
{
"persistent" : {
"search.query.metrics.enabled" : true
}
}
{% include copy-curl.html %}
gRPC exporter를 사용해서 메트릭과 트레이스의 내보내기를 구성하세요. 자세한 내용은 Exporters를 참고하세요. 기본 로깅 exporter를 사용한다면 이 단계는 건너뛰어도 돼요:
telemetry.otel.tracer.span.exporter.class: io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporter
telemetry.otel.metrics.exporter.class: io.opentelemetry.exporter.otlp.metrics.OtlpGrpcMetricExporter
{% include copy.html %}
메트릭
쿼리 메트릭은 다음과 같은 측정값을 제공해요:
- 쿼리 타입별 쿼리 수 (예:
match또는regex쿼리의 수) - 집계 타입별 쿼리 수 (예:
terms집계 쿼리의 수) - 정렬 순서별 쿼리 수 (예: 오름차순 및 내림차순
sort쿼리의 수) - 쿼리 타입, 집계 타입, 정렬 순서별
latency히스토그램 - 쿼리 타입, 집계 타입, 정렬 순서별
cpu히스토그램 - 쿼리 타입, 집계 타입, 정렬 순서별
memory히스토그램
기본 로깅 exporter
기본적으로 gRPC exporter를 구성하지 않으면 메트릭과 트레이스는 로그 파일로 내보내져요. 데이터는 opensearch/logs 디렉터리의 다음 파일에 저장돼요:
opensearch_otel_metrics.logopensearch_otel_traces.log