5.2. 분산 추적 데이터 수집 구성 및 배포
Red Hat OpenShift distributed tracing data collection Operator는 분산 추적 데이터 수집 리소스를 생성하고 배포할 때 사용할 아키텍처 및 구성 설정을 정의하는 CRD(사용자 정의 리소스 정의) 파일을 사용합니다. 기본 구성을 설치하거나 파일을 수정할 수 있습니다.
5.2.1. OpenTelemetry 수집기 구성 옵션 링크 복사링크가 클립보드에 복사되었습니다!
OpenTelemetry Collector는 Telemetry 데이터에 액세스하는 세 가지 구성 요소로 구성됩니다.
- 수신자
- 내보내기 또는 풀 기반이 될 수 있는 수신자는 데이터가 수집기로 들어오는 방법입니다. 일반적으로 수신자는 지정된 형식으로 데이터를 수락하고 내부 형식으로 변환한 다음 해당 파이프라인에 정의된 프로세서 및 내보내기에 전달합니다. 기본적으로 수신자는 구성되지 않습니다. 하나 이상의 수신자를 구성해야 합니다. 수신자는 하나 이상의 데이터 소스를 지원할 수 있습니다.
- 프로세서
- 선택 사항: 프로세서가 수신되고 내보낼 때까지 데이터를 통해 실행됩니다. 기본적으로 프로세서는 사용할 수 없습니다. 모든 데이터 소스에 대해 프로세서를 활성화해야 합니다. 일부 프로세서는 모든 데이터 소스를 지원하는 것은 아닙니다. 데이터 소스에 따라 여러 프로세서가 활성화될 수 있습니다. 프로세서의 순서가 중요합니다.
- 내보내기
- 푸시 또는 풀 기반이 될 수 있는 내보내기는 하나 이상의 백엔드 또는 대상에 데이터를 보내는 방법입니다. 기본적으로 내보내기는 구성되지 않습니다. 하나 이상의 내보내기를 구성해야 합니다. 내보내기는 하나 이상의 데이터 소스를 지원할 수 있습니다. 내보내기는 기본 설정과 함께 사용할 수 있지만 대상 및 보안 설정을 지정하려면 많은 내보내기 구성이 필요합니다.
사용자 정의 리소스 YAML 파일에서 구성 요소의 여러 인스턴스를 정의할 수 있습니다. 구성하는 경우 YAML 파일의 spec.config.service
섹션에 정의된 파이프라인을 통해 이러한 구성 요소를 활성화해야 합니다. 필요한 구성 요소만 활성화하는 것이 좋습니다.
OpenTelemetry Collector 사용자 정의 리소스 파일의 예
- 1
- 구성 요소가 구성되었지만
service
섹션에 정의되지 않은 경우 구성 요소가 활성화되지 않습니다.
매개변수 | 설명 | 값 | 기본값 |
---|---|---|---|
receivers:
| 수신자는 데이터가 수집기로 들어오는 방법입니다. 기본적으로 수신자는 구성되지 않습니다. 구성을 유효한 것으로 간주하려면 하나 이상의 활성화된 수신자가 있어야 합니다. 수신자는 파이프라인에 추가하여 활성화됩니다. |
| 없음 |
processors:
| 프로세서가 수신되고 내보낼 때까지 데이터를 통해 실행됩니다. 기본적으로 프로세서는 사용할 수 없습니다. | 없음 | |
exporters:
| 내보내기는 하나 이상의 백엔드 또는 대상에 데이터를 보냅니다. 기본적으로 내보내기는 구성되지 않습니다. 구성을 유효한 것으로 간주하려면 하나 이상의 내보내기가 활성화되어 있어야 합니다. 내보내기를 파이프라인에 추가하여 사용할 수 있습니다. 내보내기는 기본 설정과 함께 사용할 수 있지만 대상 및 보안 설정을 지정하려면 많은 구성이 필요합니다. |
| 없음 |
service: pipelines:
|
구성 요소는 | ||
service: pipelines: traces: receivers:
|
| 없음 | |
service: pipelines: traces: processors:
|
| 없음 | |
service: pipelines: traces: exporters:
|
| 없음 | |
service: pipelines: metrics: receivers:
|
| 없음 | |
service: pipelines: metrics: processors:
|
| 없음 | |
service: pipelines: metrics: exporters:
|
| 없음 |
5.2.1.1. OpenTelemetry 수집기 구성 요소 링크 복사링크가 클립보드에 복사되었습니다!
5.2.1.1.1. 수신자 링크 복사링크가 클립보드에 복사되었습니다!
5.2.1.1.1.1. OTLP 수신기 링크 복사링크가 클립보드에 복사되었습니다!
OTLP 수신기는 OTLP(OpenTelemetry Protocol)를 사용하여 데이터를 수집합니다.
- 지원 수준: 기술 프리뷰
- 지원되는 신호: 추적, 메트릭
활성화된 OTLP 수신자가 있는 OpenTelemetry 수집기 사용자 정의 리소스
- 1
- OTLP gRPC 끝점입니다. 생략하면 기본값
0.0.0.0:4317
이 사용됩니다. - 2
- 서버 측 TLS 구성입니다. TLS 인증서의 경로를 정의합니다. 생략하면 TLS가 비활성화됩니다.
- 3
- 서버가 클라이언트 인증서를 확인하는 TLS 인증서의 경로입니다. 이렇게 하면
TLSConfig
에서ClientCA
및ClientAuth
의 값이RequireAndVerifyClientCert
로 설정됩니다. 자세한 내용은 Golang TLS 패키지 구성을 참조하십시오. - 4
- 인증서를 다시 로드하는 시간 간격을 지정합니다. 값을 설정하지 않으면 인증서가 다시 로드되지 않습니다.
RELOAD_
INTERVAL은ns
,us
(또는 Cryostats ),ms
,s
,m
,h
와 같은 유효한 시간 단위를 포함하는 문자열을 허용합니다. - 5
- OTLP HTTP 끝점입니다. 기본값은
0.0.0.0:4318
입니다. - 6
- 서버 측 TLS 구성입니다. 자세한 내용은
grpc
프로토콜 구성 섹션을 참조하십시오.
5.2.1.1.1.2. Jaeger 수신자 링크 복사링크가 클립보드에 복사되었습니다!
Jaeger 수신자는 Jaeger 형식으로 데이터를 수집합니다.
- 지원 수준: 기술 프리뷰
- 지원되는 신호: 추적
활성화된 Jaeger 수신자가 있는 OpenTelemetry 수집기 사용자 정의 리소스
5.2.1.1.1.3. Zipkin Receiver 링크 복사링크가 클립보드에 복사되었습니다!
Zipkin 수신기는 Zipkin v1 및 v2 형식으로 데이터를 수집합니다.
- 지원 수준: 기술 프리뷰
- 지원되는 신호: 추적
Zipkin receiver가 활성화된 OpenTelemetry 수집기 사용자 정의 리소스
5.2.1.1.2. 프로세서 링크 복사링크가 클립보드에 복사되었습니다!
5.2.1.1.2.1. 일괄 프로세서 링크 복사링크가 클립보드에 복사되었습니다!
배치 프로세서는 Telemetry 정보를 전송하는 데 필요한 발신 연결 수를 줄이기 위해 데이터를 배치합니다.
- 지원 수준: 기술 프리뷰
- 지원되는 신호: 추적, 메트릭
배치 프로세서를 사용할 때 OpenTelemetry 수집기 사용자 정의 리소스의 예
매개변수 | 설명 | 기본값 |
---|---|---|
| 크기와 관계없이 특정 기간 후에 일괄 처리를 보냅니다. | 200ms |
| 지정된 수의 범위 또는 메트릭 후에 원격 분석 데이터의 배치를 보냅니다. | 8192 |
|
일괄 처리의 최대 허용 크기입니다. | 0 |
|
활성화하면 | [] |
|
| 1000 |
5.2.1.1.2.2. 메모리 제한 프로세서 링크 복사링크가 클립보드에 복사되었습니다!
메모리 제한 프로세서는 주기적으로 수집기의 메모리 사용량을 확인하고 소프트 메모리 제한에 도달할 때 데이터 처리를 일시 중지합니다. 일반적으로 수신자인 이전 구성 요소는 동일한 데이터 전송을 다시 시도해야 하며 들어오는 데이터에 백압을 적용할 수 있습니다. 메모리 사용량이 하드 제한을 초과하면 메모리 제한 프로세서가 가비지 수집을 강제 실행합니다.
- 지원 수준: 정식 출시일 (GA)
- 지원되는 신호: 추적, 메트릭, 로그
메모리 제한 프로세서를 사용할 때 OpenTelemetry 수집기 사용자 정의 리소스의 예
매개변수 | 설명 | 기본값 |
---|---|---|
|
메모리 사용량 측정 사이의 시간입니다. 최적의 값은 1s입니다. spiky 트래픽 패턴의 경우 |
|
| 힙에 할당된 MiB 단위의 최대 메모리 양인 하드 제한입니다. 일반적으로 OpenTelemetry 수집기의 총 메모리 사용량은 이 값보다 약 50MiB입니다. |
|
|
메모리 사용량의 최대 급증(MiB)입니다. 최적의 값은 |
|
|
|
|
|
|
|
5.2.1.1.2.3. 리소스 탐지 프로세서 링크 복사링크가 클립보드에 복사되었습니다!
리소스 탐지 프로세서는 OpenTelemetry의 리소스 의미 체계 표준과 일치하여 호스트 리소스 세부 정보를 식별하도록 설계되었습니다. 감지된 이 정보를 사용하여 원격 분석 데이터에서 리소스 값을 추가하거나 교체할 수 있습니다.
- 지원 수준: 기술 프리뷰
- 지원되는 신호: 추적, 메트릭
리소스 탐지 프로세서에 필요한 OpenShift Container Platform 권한
리소스 탐지 프로세서를 사용한 OpenTelemetry 수집기
5.2.1.1.3. 내보내기 링크 복사링크가 클립보드에 복사되었습니다!
5.2.1.1.3.1. OTLP 내보내기 링크 복사링크가 클립보드에 복사되었습니다!
OTLP gRPC 내보내기는 OTLP(OpenTelemetry 프로토콜)를 사용하여 데이터를 내보냅니다.
- 지원 수준: 기술 프리뷰
- 지원되는 신호: 추적, 메트릭
활성화된 OTLP 내보내기가 활성화된 OpenTelemetry 수집기 사용자 정의 리소스
- 1
- OTLP gRPC 끝점입니다.
https://
스키마를 사용하는 경우 클라이언트 전송 보안이 활성화되고tls
의비보안
설정을 덮어씁니다. - 2
- 클라이언트 측 TLS 구성입니다. TLS 인증서의 경로를 정의합니다.
- 3
true
로 설정된 경우 클라이언트 전송 보안을 비활성화합니다. 기본값은 기본적으로false
입니다.- 4
true
로 설정된 경우 인증서 확인을 건너뜁니다. 기본값은false
입니다.- 5
- 인증서를 다시 로드하는 시간 간격을 지정합니다. 값을 설정하지 않으면 인증서가 다시 로드되지 않습니다.
RELOAD_
INTERVAL은ns
,us
(또는 Cryostats ),ms
,s
,m
,h
와 같은 유효한 시간 단위를 포함하는 문자열을 허용합니다. - 6
- 요청의 권한 헤더 필드와 같은 권한의 가상 호스트 이름을 재정의합니다. 테스트에 이 값을 사용할 수 있습니다.
- 7
- 설정된 연결 중에 수행되는 모든 요청에 대해 헤더가 전송됩니다.
5.2.1.1.3.2. OTLP HTTP 내보내기 링크 복사링크가 클립보드에 복사되었습니다!
OTLP HTTP 내보내기는 OTLP(OpenTelemetry 프로토콜)를 사용하여 데이터를 내보냅니다.
- 지원 수준: 기술 프리뷰
- 지원되는 신호: 추적, 메트릭
활성화된 OTLP 내보내기가 활성화된 OpenTelemetry 수집기 사용자 정의 리소스
5.2.1.1.3.3. Jaeger 내보내기 링크 복사링크가 클립보드에 복사되었습니다!
Jaeger 내보내기는 gRPC를 통해 Jaeger 프로토 형식을 사용하여 데이터를 내보냅니다.
- 지원 수준: 기술 프리뷰
- 지원되는 신호: 추적
활성화된 Jaeger 내보내기가 활성화된 OpenTelemetry 수집기 사용자 정의 리소스
5.2.1.1.3.4. 로깅 내보내기 링크 복사링크가 클립보드에 복사되었습니다!
로깅 내보내기는 데이터를 표준 출력에 출력합니다.
- 지원 수준: 기술 프리뷰
- 지원되는 신호: 추적, 메트릭
활성화된 로깅 내보내기가 있는 OpenTelemetry 수집기 사용자 정의 리소스
- 1
- 로깅 내보내기 세부 정보 표시:
세부
정보 또는일반
또는기본
.세부
정보로 설정하면 파이프라인 데이터가 세부적으로 기록됩니다. 기본값은Normal입니다
.
5.2.1.1.3.5. Prometheus 내보내기 링크 복사링크가 클립보드에 복사되었습니다!
Prometheus 내보내기는 Prometheus 또는 OpenMetrics 형식을 사용하여 데이터를 내보냅니다.
- 지원 수준: 기술 프리뷰
- 지원되는 신호: 메트릭
활성화된 Prometheus 내보내기가 포함된 OpenTelemetry 수집기 사용자 정의 리소스
- 1
- 수집기 Pod 및 서비스에서 Prometheus 포트를 노출합니다.
ServiceMonitor
또는PodMonitor
사용자 정의 리소스의 포트 이름을 사용하여 Prometheus에서 메트릭 스크랩을 활성화할 수 있습니다. - 2
- 지표가 노출되는 네트워크 끝점입니다.
- 3
- 서버 측 TLS 구성입니다. TLS 인증서의 경로를 정의합니다.
- 4
- 설정된 경우 제공된 값 아래에 지표를 내보냅니다. 기본값이 없습니다.
- 5
- 내보낸 모든 메트릭에 적용되는 키-값 쌍 레이블입니다. 기본값이 없습니다.
- 6
true
인 경우 OpenMetrics 형식을 사용하여 메트릭을 내보냅니다. exemp declarations는 OpenMetrics 형식으로만 내보내지며 히스토그램 및 단조적 합계 메트릭 (예:counter
)에만 사용할 수 있습니다. 기본적으로 비활성되어 있습니다.- 7
enabled
가true
이면 모든 리소스 속성이 기본적으로 지표 레이블로 변환됩니다. 기본적으로 비활성되어 있습니다.- 8
- 업데이트 없이 메트릭이 노출되는 기간을 정의합니다. 기본값은
5m
입니다.
5.2.2. 모니터링 스택에 메트릭 전송 링크 복사링크가 클립보드에 복사되었습니다!
OpenTelemetry 수집기 지표 끝점을 스크랩하고 스크랩 중에 모니터링 스택이 추가한 중복 레이블을 제거하도록 모니터링 스택을 구성할 수 있습니다.
수집기 메트릭을 스크랩하도록 모니터링 스택을 구성하는 샘플 PodMonitor
CR(사용자 정의 리소스)