8.3. 타사 시스템에 Telemetry 데이터 전달
OpenTelemetry 수집기는 gRPC 또는 HTTP 전송을 통해 구현된 OTLP(OpenTelemetry Protocol)를 통해 OTLP 내보내기를 사용하여 Telemetry 데이터를 내보냅니다. 타사 시스템에 Telemetry 데이터를 전달해야 하고 OpenTelemetry Red Hat 빌드에서 OTLP 또는 기타 지원되는 프로토콜을 지원하지 않는 경우 OTLP를 통해 Telemetry 데이터를 수신하고 사용자 정의 내보내기를 사용하여 Telemetry 데이터를 수신할 수 있는 지원되지 않는 사용자 지정 OpenTelemetry 수집기를 배포할 수 있습니다.
Red Hat은 사용자 정의 배포를 지원하지 않습니다.
사전 요구 사항
- OTLP를 통해 Telemetry 데이터를 타사 시스템으로 내보낼 수 있는 지원되지 않는 자체 사용자 정의 내보내기를 개발했습니다.
프로세스
OperatorHub 또는 수동으로 사용자 정의 수집기를 배포합니다.
- 타사 시스템에서 지원하는 경우 OperatorHub를 사용하여 사용자 지정 수집기를 배포합니다.
구성 맵, 배포 및 서비스를 사용하여 사용자 정의 수집기를 수동으로 배포합니다.
사용자 정의 수집기 배포 예
apiVersion: v1 kind: ConfigMap metadata: name: custom-otel-collector-config data: otel-collector-config.yaml: | receivers: otlp: protocols: grpc: exporters: debug: {} prometheus: service: pipelines: traces: receivers: [otlp] exporters: [debug]1 --- apiVersion: apps/v1 kind: Deployment metadata: name: custom-otel-collector-deployment spec: replicas: 1 selector: matchLabels: component: otel-collector template: metadata: labels: component: otel-collector spec: containers: - name: opentelemetry-collector image: ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib:latest2 command: - "/otelcol-contrib" - "--config=/conf/otel-collector-config.yaml" ports: - name: otlp containerPort: 4317 protocol: TCP volumeMounts: - name: otel-collector-config-vol mountPath: /conf readOnly: true volumes: - name: otel-collector-config-vol configMap: name: custom-otel-collector-config --- apiVersion: v1 kind: Service metadata: name: custom-otel-collector-service3 labels: component: otel-collector spec: type: ClusterIP ports: - name: otlp-grpc port: 4317 targetPort: 4317 selector: component: otel-collector