

# 独自のカスタム OpenTelemetry Collector を構築する
<a name="CloudWatch-OTLPAdvancedsetup"></a>

独自のカスタム OpenTelemetry Collector を構築して、OpenTelemetry を使用した CloudWatch で最高のアプリケーションオブザーバビリティエクスペリエンスを実現できます。この設定では、オープンソースの CloudWatch コンポーネントを使用して独自の OpenTelemetry Collector を構築する必要があります。

## 前提条件
<a name="CloudWatch-OTLPAdvancedsetupPrequisite"></a>

CloudWatch で*トランザクション検索*が有効になっていることを確認します。詳細については、「[Transaction Search](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 Processor を使用したカスタム 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 Processor は、カスタムビルド用の OpenTelemetry Collectors の最新バージョンのみをサポートします。サポートされているバージョンの詳細については、「[opentelemetry-collector-contrib](https://github.com/amazon-contributing/opentelemetry-collector-contrib/tags)」リポジトリを参照してください。