6장. Loki 쿼리 성능 문제 해결
이 설명서에서는 로깅 스택을 최적화하여 쿼리 성능을 개선하고 문제 해결 단계를 제공합니다.
6.1. Loki 쿼리 성능 모범 사례 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
다음 단계를 수행하여 Loki 쿼리 성능을 개선할 수 있습니다.
- Loki Operator의 최신 버전을 실행 중인지 확인합니다.
-
LokiStack 스키마를
v13버전으로 마이그레이션했는지 확인합니다. 안정적이고 빠른 오브젝트 스토리지를 사용해야 합니다. Loki는 오브젝트 스토리지에 대한 중요한 요구 사항을 제공합니다. 클라우드 공급자의 오브젝트 저장소 솔루션을 사용하지 않는 경우 오브젝트 스토리지에 SSD(Solid-State drive)를 사용합니다. SSD를 사용하면 Loki의 높은 병렬화 기능을 활용할 수 있습니다.
Loki의 오브젝트 스토리지 사용률을 더 잘 이해하려면 OpenShift Container Platform 웹 콘솔의 메트릭 대시보드에서 다음 쿼리를 사용할 수 있습니다.
sum by(status, container, operation) (label_replace(rate(loki_s3_request_duration_seconds_count{namespace="openshift-logging"}[5m]), "status", "${1}xx", "status_code", "([0-9]).."))sum by(status, container, operation) (label_replace(rate(loki_s3_request_duration_seconds_count{namespace="openshift-logging"}[5m]), "status", "${1}xx", "status_code", "([0-9]).."))Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Loki Operator는 기본적으로 자동 스트림 분할을 활성화합니다. 기본 자동 스트림 분할 메커니즘은 대부분의 경우 적합해야 하며 사용자는
perStream*특성을 구성할 필요가 없습니다. - OTLP(OpenTelemetry Protocol) 데이터 모델을 사용하는 경우 LokiStack에서 추가 스트림 레이블을 구성할 수 있습니다. 자세한 내용은 Loki 라벨에 대한 모범 사례를 참조하십시오.
- 쿼리 유형에 따라 성능 특성이 다릅니다. 더 나은 성능을 위해 정규식 대신 간단한 필터 쿼리를 사용합니다.