

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# OpenTelemetry 기반 원격 측정 공급자 구성
<a name="observability-telemetry-providers-otel"></a>

SDK for Kotlin은 OpenTelemetry에서 지원하는 `TelemetryProvider` 인터페이스의 구현을 제공합니다.

## 사전 조건
<a name="observability-telemetry-providers-otel-prereqs"></a>

다음 Gradle 코드 조각과 같이 프로젝트 종속성을 업데이트하여 OpenTelemetry 공급자를 추가합니다. {{X.Y.Z}} 링크로 이동하여 사용 가능한 최신 버전을 볼 수 있습니다.

```
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")
}
```

## SDK 구성
<a name="observability-telemetry-providers-otel-conf"></a>

다음 코드는 OpenTelemetry 원격 측정 공급자를 사용하여 서비스 클라이언트를 구성합니다.

```
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
        …
    }
}
```

**참고**  
OpenTelemetry SDK를 구성하는 방법에 대한 설명은이 가이드의 범위를 벗어납니다. [OpenTelemetry Java 설명서에](https://opentelemetry.io/docs/instrumentation/java/)는 [수동](https://opentelemetry.io/docs/instrumentation/java/manual/), [ Java 에이전트](https://opentelemetry.io/docs/instrumentation/java/automatic/)를 통한 자동 또는 (선택 사항) [수집기](https://opentelemetry.io/docs/collector/) 등 다양한 접근 방식에 대한 구성 정보가 포함되어 있습니다.

## 리소스
<a name="observability-telemetry-providers-otel-res"></a>

OpenTelemetry를 시작하는 데 도움이 되는 다음 리소스를 사용할 수 있습니다.
+ [AWS Distro for OpenTelemetry](https://aws-otel.github.io/docs/introduction) - AWS OTeL Distro 홈페이지
+ [aws-otel-java-instrumentation](https://github.com/aws-observability/aws-otel-java-instrumentation) - AWS Distro for OpenTelemetry Java Instrumentation Library
+ [aws-otel-lambda](https://github.com/aws-observability/aws-otel-lambda) AWS 관리형 OpenTelemetry Lambda 계층
+ [aws-otel-collector](https://github.com/aws-observability/aws-otel-collector) - AWS Distro for OpenTelemetry Collector
+ [AWS 관찰성 모범 사례](https://aws-observability.github.io/observability-best-practices/) - 관련 관찰성에 대한 일반 모범 사례 AWS