2.7. Loki의 OTLP 데이터 수집
Logging과 함께OTLP(OpenTelemetry Protocol)를 사용하여 API 끝점을 사용할 수 있습니다. OTLP는 Loki를 위해 특별히 설계되지 않은 표준화된 형식이므로 OTLP는 OpenTelemetry의 데이터 형식을 Loki의 데이터 모델에 매핑하기 위해 추가 Loki 구성이 필요합니다. OTLP에는 스트림 레이블 또는 구조화된 메타데이터 와 같은 개념이 없습니다. 대신 OTLP는 다음 세 가지 범주로 그룹화된 속성으로 로그 항목에 대한 메타데이터를 제공합니다.
- 리소스
- 범위
- log
필요에 따라 여러 항목에 대해 동시에 또는 개별적으로 메타데이터를 설정할 수 있습니다.
2.7.1. OTLP 데이터 수집용 LokiStack 구성 링크 복사링크가 클립보드에 복사되었습니다!
OTLP(OpenTelemetry Protocol) 출력 로그 전달자는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
OTLP 수집에 대한 LokiStack
CR(사용자 정의 리소스)을 구성하려면 다음 단계를 따르십시오.
사전 요구 사항
- Loki 설정이 스키마 버전 13에 도입된 구조화된 메타데이터를 지원하는지 확인하여 OTLP 로그 수집을 활성화합니다.
프로세스
스키마 버전을 설정합니다.
새
LokiStack
CR을 생성할 때 스토리지 스키마 구성에서version: v13
을 설정합니다.참고기존 구성의 경우
version: v13
과effectiveDate
를 사용하여 새 스키마 항목을 추가합니다. 스키마 버전 업데이트에 대한 자세한 내용은 업그레이드 스키마 (Grafana 문서)를 참조하십시오.
다음과 같이 스토리지 스키마를 구성합니다.
스토리지 스키마 구성 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow effectiveDate
가 전달되면 v13 스키마가 적용되어LokiStack
에서 구조화된 메타데이터를 저장할 수 있습니다.
2.7.2. 속성 매핑 링크 복사링크가 클립보드에 복사되었습니다!
Loki Operator를 openshift-logging
모드로 설정하면 Loki Operator가 기본 속성 매핑 세트를 자동으로 적용합니다. 이러한 매핑은 특정 OTLP 속성을 스트림 레이블 및 Loki의 구조화된 메타데이터와 정렬합니다.
일반적인 설정의 경우 이러한 기본 매핑만으로도 충분합니다. 그러나 다음과 같은 경우 속성 매핑을 사용자 지정해야 할 수 있습니다.
- 사용자 지정 수집기 사용: 설정에 저장하지 않으려는 추가 속성을 생성하는 사용자 지정 수집기가 포함된 경우 매핑을 사용자 지정하여 Loki에서 해당 속성을 삭제하도록 하는 것이 좋습니다.
- 특성 세부 정보 수준 조정: 기본 특성 세트가 필요 이상으로 자세히 설명하는 경우 필수 속성으로만 줄일 수 있습니다. 이로 인해 과도한 데이터 스토리지를 방지하고 로깅 프로세스를 간소화할 수 있습니다.
2.7.2.1. OpenShift의 사용자 정의 속성 매핑 링크 복사링크가 클립보드에 복사되었습니다!
openshift-logging
모드에서 Loki Operator를 사용하는 경우 속성 매핑은 OpenShift 기본값을 따르지만 기본값을 조정하도록 사용자 정의 매핑을 구성할 수 있습니다. openshift-logging
모드에서는 모든 테넌트 또는 필요에 따라 개별 테넌트에 대해 사용자 정의 속성 매핑을 전역적으로 구성할 수 있습니다. 사용자 지정 매핑을 정의할 때 OpenShift 기본값에 추가됩니다. 기본 레이블이 필요하지 않은 경우 테넌트 구성에서 해당 레이블을 비활성화할 수 있습니다.
Loki Operator와 Loki의 주요 차이점은 상속 처리입니다. Loki는 default_resource_attributes_as_index_labels
만 기본적으로 테넌트에 복사하는 반면 Loki Operator는 openshift-logging
모드의 각 테넌트에 전체 글로벌 구성을 적용합니다.
LokiStack
내에서 속성 매핑 구성은 limits
설정을 통해 관리됩니다. 다음 예제 LokiStack
구성을 참조하십시오.
특성을 스트림 레이블에 매핑하는 데 글로벌 및 테넌트별 OTLP 구성을 모두 사용할 수 있습니다.
스트림 레이블은 LokiStack
리소스 구조가 반영하는 리소스 수준 속성에서만 파생됩니다. 다음 LokiStack
예제 구성을 참조하십시오.
로그 항목에서 리소스, 범위 또는 로그 유형의 특성을 삭제할 수 있습니다.
regex: true
를 설정하여 정규식을 사용하여 유사한 이름으로 속성에 대한 구성을 적용할 수 있습니다.
데이터 볼륨이 증가할 수 있으므로 스트림 레이블에는 정규식을 사용하지 마십시오.
스트림 레이블로 명시적으로 설정되지 않거나 항목에서 삭제된 속성은 기본적으로 구조화된 메타데이터로 저장됩니다.
2.7.2.2. OpenShift 기본값 사용자 정의 링크 복사링크가 클립보드에 복사되었습니다!
openshift-logging
모드에서는 특정 속성이 필요하며 OpenShift 함수에서 역할로 인해 구성에서 제거할 수 없습니다. 성능에 영향을 미치는 경우 권장되는 기타 속성은 삭제될 수 있습니다. 특성에 대한 자세한 내용은 OpenTelemetry 데이터 모델 특성을 참조하십시오.
사용자 정의 속성 없이 openshift-logging
모드를 사용하는 경우 OpenShift 툴과 즉시 호환성을 얻을 수 있습니다. 스트림 레이블 또는 일부 속성을 삭제해야 하는 경우 사용자 지정 구성을 사용합니다. 사용자 지정 구성은 기본 구성과 병합할 수 있습니다.
2.7.2.3. 권장 속성 제거 링크 복사링크가 클립보드에 복사되었습니다!
openshift-logging
모드에서 기본 속성을 줄이려면 권장 속성을 비활성화합니다.
- 1
- 기본 속성을 필수 속성 또는 스트림 레이블로 제한하는 권장 속성을 제거하려면
disableRecommendedAttributes: true
를 설정합니다.참고이 설정은 기본 스트림 레이블을 제거하므로 쿼리 성능에 부정적인 영향을 미칠 수 있습니다. 쿼리에 필수 속성을 유지하려면 이 옵션을 사용자 지정 특성 구성과 페어링해야 합니다.