

# 사용자 지정 OpenTelemetry Collector 구축
<a name="CloudWatch-OTLPAdvancedsetup"></a>

사용자 지정 OpenTelemetry Collector를 빌드하여 OpenTelemetry와 함께 CloudWatch에서 최상의 애플리케이션 관찰성 경험을 얻을 수 있습니다. 이 설정에서는 오픈 소스 CloudWatch 구성 요소를 사용하여 자체 OpenTelemetry Collector를 구축해야 합니다.

## 사전 조건
<a name="CloudWatch-OTLPAdvancedsetupPrequisite"></a>

CloudWatch에서 *트랜잭션 검색*이 활성화되어 있는지 확인합니다. 자세한 내용은 [트랜잭션 검색](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/CloudWatch-Transaction-Search.html) 섹션을 참조하세요.

## 자체 수집기 구축
<a name="CloudWatch-OTLPAdvancedsetupBuildCollector"></a>

OpenTelemetry를 통해 다음 구성으로 자체 수집기를 구축하여 CloudWatch에서 애플리케이션을 모니터링할 수 있습니다. 자세한 내용은 [Building a custom collector](https://opentelemetry.io/docs/collector/custom-collector/)를 참조하세요.

CloudWatch의 공통 구성입니다.

```
dist:
  name: otelcol-dev
  description: OTel Collector for sending telemetry to CloudWatch.
  output_path: ./otelcol-dev
extensions:
  - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/sigv4authextension v0.111.0
  - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/awsproxy v0.113.0
exporters:
  - gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.111.0
  - gomod: go.opentelemetry.io/collector/exporter/otlphttpexporter v0.111.0
receivers:
  - gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.111.0
```

트레이스에 대한 추가 구성입니다.

```
# Enable Tracing 
dist:
  name: otelcol-dev
  description: OTel Collector for sending telemetry to CloudWatch.
  output_path: ./otelcol-dev
extensions:
    #Include common configurations and your custom extensions

exporters:
    #Include common configurations and your custom extensions
 
receivers:
  - gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.111.0
processors:
  - gomod: github.com/amazon-contributing/opentelemetry-collector-contrib/processor/awsapplicationsignalsprocessor v0.113.0
  - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.113.0
  - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/metricstransformprocessor v0.113.0
replaces:
  - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/awsutil v0.113.0 => github.com/amazon-contributing/opentelemetry-collector-contrib/internal/aws/awsutil v0.113.0
  - github.com/open-telemetry/opentelemetry-collector-contrib/internal/aws/cwlogs v0.113.0 => github.com/amazon-contributing/opentelemetry-collector-contrib/internal/aws/cwlogs v0.113.0
  - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/awsemfexporter v0.113.0 => github.com/amazon-contributing/opentelemetry-collector-contrib/exporter/awsemfexporter v0.113.0
  - github.com/openshift/api v3.9.0+incompatible => github.com/openshift/api v0.0.0-20180801171038-322a19404e37
```

**참고**  
다음 사항에 유의하세요.  
수집기를 빌드한 후, [OpenTelemetry Collector](CloudWatch-OTLPSimplesetup.md)의 절차에 따라 호스트 또는 kubernetes 환경에서 사용자 지정 수집기를 배포하고 구성합니다.
Application Signals 프로세서를 사용하여 사용자 지정 OpenTelemetry 수집기를 설정하는 방법에 대한 자세한 내용은 [Application Signals custom configuration](https://github.com/aws-observability/application-signals-demo/blob/main/scripts/opentelemetry/appsignals_custom_otel_setup/custom-opentelemetry.yaml) 예제를 참조하세요. Application Signals 프로세서는 사용자 지정 빌드를 위한 OpenTelemetry Collector의 최신 버전만 지원합니다. 지원되는 버전에 대한 자세한 내용은 [opentelemetry-collector-contrib repository](https://github.com/amazon-contributing/opentelemetry-collector-contrib/tags)를 참조하세요.