

# Creación de un recopilador de OpenTelemetry personalizado
<a name="CloudWatch-OTLPAdvancedsetup"></a>

Puede crear su propio recopilador de OpenTelemetry para obtener la mejor experiencia de observabilidad de aplicaciones en CloudWatch con OpenTelemetry. En esta configuración, debe crear su propio recopilador de OpenTelemetry con componentes de CloudWatch de código abierto.

## Requisito previo
<a name="CloudWatch-OTLPAdvancedsetupPrequisite"></a>

Asegúrese de que *Transaction Search* esté habilitado en CloudWatch. Para obtener más información, consulte [Transaction Search](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/CloudWatch-Transaction-Search.html).

## Creación de un recopilador
<a name="CloudWatch-OTLPAdvancedsetupBuildCollector"></a>

Puede crear su propio recopilador con la siguiente configuración para supervisar la aplicación en CloudWatch con OpenTelemetry. Para obtener más información, consulte [Building a custom collector](https://opentelemetry.io/docs/collector/custom-collector/).

La configuración común de 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
```

Configuración adicional para los seguimientos.

```
# 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**  
Tenga en cuenta lo siguiente:   
Una vez creado el recopilador, implemente y configure el recopilador personalizado en un entorno de host o de kubernetes con el procedimiento que se indica en [Recolector de OpenTelemetry](CloudWatch-OTLPSimplesetup.md).
Para obtener información sobre cómo configurar un recopilador de OpenTelemetry personalizado con el procesador de Application Signals, consulte un ejemplo de [configuración personalizada de Application Signals](https://github.com/aws-observability/application-signals-demo/blob/main/scripts/opentelemetry/appsignals_custom_otel_setup/custom-opentelemetry.yaml). Application Signals Processor solo es compatible con las versiones más recientes de los recopiladores de OpenTelemetry para creaciones personalizadas. Para obtener información sobre las versiones compatibles, consulte el [repositorio opentelemetry-collector-contrib](https://github.com/amazon-contributing/opentelemetry-collector-contrib/tags).