3장. OpenTelemetry 수집기 구성
Red Hat build of OpenTelemetry Operator는 OpenTelemetry 리소스의 Red Hat 빌드를 생성하고 배포할 때 사용할 아키텍처 및 구성 설정을 정의하는 CRD(사용자 정의 리소스 정의) 파일을 사용합니다. 기본 구성을 설치하거나 파일을 수정할 수 있습니다.
3.1. OpenTelemetry 수집기 구성 옵션
OpenTelemetry 수집기는 Telemetry 데이터에 액세스하는 5가지 유형의 구성 요소로 구성됩니다.
- 수신자
- 내보내기 또는 풀 기반이 될 수 있는 수신자는 데이터가 수집기로 들어오는 방법입니다. 일반적으로 수신자는 지정된 형식으로 데이터를 수락하고 내부 형식으로 변환한 다음 해당 파이프라인에 정의된 프로세서 및 내보내기에 전달합니다. 기본적으로 수신자는 설정되어 있지 않습니다. 하나 이상의 수신자를 구성해야 합니다. 수신자는 하나 이상의 데이터 소스를 지원할 수 있습니다.
- 프로세서
- 선택 사항: 프로세서는 수신 및 내보내기 사이에 데이터를 처리합니다. 기본적으로 프로세서는 사용할 수 없습니다. 모든 데이터 소스에 대해 프로세서가 활성화되어 있어야 합니다. 모든 프로세서가 모든 데이터 소스를 지원하는 것은 아닙니다. 데이터 소스에 따라 여러 프로세서가 활성화될 수 있습니다. 프로세서의 순서가 중요합니다.
- 내보내기
- 푸시 또는 풀 기반이 될 수 있는 내보내기는 하나 이상의 백엔드 또는 대상에 데이터를 보내는 방법입니다. 기본적으로 내보내기는 구성되지 않습니다. 하나 이상의 내보내기를 구성해야 합니다. 내보내기는 하나 이상의 데이터 소스를 지원할 수 있습니다. 내보내기는 기본 설정과 함께 사용할 수 있지만 대상 및 보안 설정을 지정하려면 많은 내보내기 구성이 필요합니다.
- 커넥터
- 커넥터는 두 개의 파이프라인을 연결합니다. 이는 하나의 파이프라인이 끝날 때 내보내기자로 데이터를 사용하고 다른 파이프라인 시작 시 수신자로 데이터를 내보냅니다. 동일하거나 다른 데이터 유형의 데이터를 사용하고 내보낼 수 있습니다. 소비된 데이터를 요약하기 위해 데이터를 생성하고 내보낼 수 있거나, 단순히 데이터를 복제하거나 라우팅할 수 있습니다.
- 확장
- 확장 기능은 수집기에 기능을 추가합니다. 예를 들어 인증을 수신자 및 내보내기에 자동으로 추가할 수 있습니다.
사용자 정의 리소스 YAML 파일에서 구성 요소의 여러 인스턴스를 정의할 수 있습니다. 구성하는 경우 YAML 파일의 spec.config.service
섹션에 정의된 파이프라인을 통해 이러한 구성 요소를 활성화해야 합니다. 필요한 구성 요소만 활성화하는 것이 좋습니다.
OpenTelemetry Collector 사용자 정의 리소스 파일의 예
apiVersion: opentelemetry.io/v1alpha1
kind: OpenTelemetryCollector
metadata:
name: cluster-collector
namespace: tracing-system
spec:
mode: deployment
observability:
metrics:
enableMetrics: true
config: |
receivers:
otlp:
protocols:
grpc:
http:
processors:
exporters:
otlp:
endpoint: jaeger-production-collector-headless.tracing-system.svc:4317
tls:
ca_file: "/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt"
prometheus:
endpoint: 0.0.0.0:8889
resource_to_telemetry_conversion:
enabled: true # by default resource attributes are dropped
service: 1
pipelines:
traces:
receivers: [otlp]
processors: []
exporters: [jaeger]
metrics:
receivers: [otlp]
processors: []
exporters: [prometheus]
- 1
- 구성 요소가 구성되었지만
service
섹션에 정의되지 않은 경우 구성 요소가 활성화되지 않습니다.
매개변수 | 설명 | 값 | Default |
---|---|---|---|
receivers: | 수신자는 데이터가 수집기로 들어오는 방법입니다. 기본적으로 수신자는 설정되어 있지 않습니다. 구성이 유효한 것으로 간주되려면 하나 이상의 사용 가능한 수신자가 있어야 합니다. 파이프라인에 추가되면 수신자가 활성화됩니다. |
| 없음 |
processors: | 프로세서는 내보낸 데이터를 통해 실행됩니다. 기본적으로 프로세서는 사용할 수 없습니다. |
| 없음 |
exporters: | 내보내기는 하나 이상의 백엔드 또는 대상에 데이터를 보냅니다. 기본적으로 내보내기는 구성되지 않습니다. 구성이 유효한 것으로 간주되려면 하나 이상의 활성화된 내보내기가 있어야 합니다. 파이프라인에 내보내기를 추가하여 사용할 수 있습니다. 내보내기는 기본 설정과 함께 사용할 수 있지만 대상 및 보안 설정을 지정하려면 많은 구성이 필요합니다. |
| 없음 |
connectors: | Connectors는 데이터를 end-of-pipeline 내보내기 도구로 사용하고 데이터를 초기-op-pipeline 수신자로 내보내 파이프라인 쌍을 결합합니다. 커넥터를 사용하여 소비된 데이터를 요약, 복제 또는 라우팅할 수 있습니다. |
| 없음 |
extensions: | Telemetry 데이터를 처리하지 않는 작업의 선택적 구성 요소입니다. |
| 없음 |
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: |
| 없음 |