

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Proveedores de telemetría
<a name="observability-telemetry-providers"></a>

El SDK actualmente admite [OpenTelemetry](https://opentelemetry.io/)(OTel) como proveedor. El SDK podría ofrecer proveedores de telemetría adicionales en el futuro.

**Topics**
+ [Configure el proveedor de OpenTelemetry telemetría basado](observability-telemetry-providers-otel.md)

# Configure el proveedor de OpenTelemetry telemetría basado
<a name="observability-telemetry-providers-otel"></a>

El SDK para Kotlin proporciona una implementación de la `TelemetryProvider` interfaz respaldada por OpenTelemetry.

## Requisitos previos
<a name="observability-telemetry-providers-otel-prereqs"></a>

Actualiza las dependencias de tu proyecto para añadir el OpenTelemetry proveedor, tal y como se muestra en el siguiente fragmento de código de Gradle. Puedes navegar hasta el *X.Y.Z* enlace para ver la última versión disponible.

```
dependencies {
    implementation(platform("aws.smithy.kotlin:bom:[https://github.com/smithy-lang/smithy-kotlin/releases/latest](https://github.com/smithy-lang/smithy-kotlin/releases/latest)"))
    implementation(platform("io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:[https://search.maven.org/#search|gav|1|g:io.opentelemetry.instrumentation%20AND%20a:opentelemetry-instrumentation-bom](https://search.maven.org/#search|gav|1|g:io.opentelemetry.instrumentation%20AND%20a:opentelemetry-instrumentation-bom)"))
    implementation("aws.smithy.kotlin:telemetry-provider-otel")

    // OPTIONAL: If you use log4j, the following entry enables the ability to export logs through OTel.
    runtimeOnly("io.opentelemetry.instrumentation:opentelemetry-log4j-appender-2.17")
}
```

## Configurar el SDK
<a name="observability-telemetry-providers-otel-conf"></a>

El siguiente código configura un cliente de servicio mediante el proveedor de OpenTelemetry telemetría.

```
import aws.sdk.kotlin.services.s3.S3Client
import aws.smithy.kotlin.runtime.telemetry.otel.OpenTelemetryProvider
import io.opentelemetry.api.GlobalOpenTelemetry
import kotlinx.coroutines.runBlocking

fun main() = runBlocking {
    val otelProvider = OpenTelemetryProvider(GlobalOpenTelemetry.get())

    S3Client.fromEnvironment().use { s3 ->
        telemetryProvider = otelProvider
        …
    }
}
```

**nota**  
El análisis de cómo configurar el OpenTelemetry SDK queda fuera del ámbito de esta guía. La [documentación de OpenTelemetry Java](https://opentelemetry.io/docs/instrumentation/java/) contiene información de configuración sobre los distintos enfoques: de [forma manual](https://opentelemetry.io/docs/instrumentation/java/manual/), automática mediante el [agente Java](https://opentelemetry.io/docs/instrumentation/java/automatic/) o mediante el [recopilador](https://opentelemetry.io/docs/collector/) (opcional).

## Recursos
<a name="observability-telemetry-providers-otel-res"></a>

Los siguientes recursos están disponibles para ayudarle a empezar OpenTelemetry.
+ [AWS Distro for OpenTelemetry: página](https://aws-otel.github.io/docs/introduction) principal de AWS OTe L Distro
+ [aws-otel-java-instrumentation](https://github.com/aws-observability/aws-otel-java-instrumentation)- Biblioteca de AWS instrumentación de Distro para Java OpenTelemetry 
+ [aws-otel-lambda](https://github.com/aws-observability/aws-otel-lambda)- capas OpenTelemetry Lambda AWS gestionadas
+ [aws-otel-collector](https://github.com/aws-observability/aws-otel-collector)- AWS Distro para Collector OpenTelemetry
+ AWS Mejores prácticas [de observabilidad: mejores prácticas](https://aws-observability.github.io/observability-best-practices/) generales para la observabilidad específicas de AWS