

# Criar seu próprio OpenTelemetry Collector
<a name="CloudWatch-OTLPAdvancedsetup"></a>

Você pode criar seu próprio OpenTelemetry Collector personalizado para obter a melhor experiência de observabilidade de aplicações no CloudWatch com o OpenTelemetry. Nessa configuração, você precisa criar seu próprio OpenTelemetry Collector com componentes de código aberto do CloudWatch.

## Pré-requisito
<a name="CloudWatch-OTLPAdvancedsetupPrequisite"></a>

Certifique-se de que *Transaction Search* esteja habilitado no CloudWatch. Para obter mais informações, consulte [Transaction Search](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/CloudWatch-Transaction-Search.html).

## Criar seu próprio coletor
<a name="CloudWatch-OTLPAdvancedsetupBuildCollector"></a>

Você pode criar seu próprio coletor com a configuração a seguir para monitorar a aplicação no CloudWatch com o OpenTelemetry. Para obter mais informações, consulte [Building a custom collector](https://opentelemetry.io/docs/collector/custom-collector/).

A configuração comum do 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
```

Configuração adicional para rastreamentos.

```
# 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
```

**nota**  
Observe o seguinte:   
Depois que o coletor for criado, implante e configure o coletor personalizado em um ambiente de host ou do Kubernetes seguindo o procedimento em [Coletor do OpenTelemetry](CloudWatch-OTLPSimplesetup.md).
Para obter informações sobre como configurar o OpenTelemetry Collector personalizado com o Application Signals Processor, consulte um exemplo de [configuração personalizada do Application Signals](https://github.com/aws-observability/application-signals-demo/blob/main/scripts/opentelemetry/appsignals_custom_otel_setup/custom-opentelemetry.yaml). O Application Signals Processor é compatível apenas com as versões mais recentes dos OpenTelemetry Collectors para compilações personalizadas. Para obter informações sobre as versões compatíveis, consulte o [repositório opentelemetry-collector-contrib.](https://github.com/amazon-contributing/opentelemetry-collector-contrib/tags)