

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Beobachtbarkeit
<a name="observability"></a>

Beobachtbarkeit ist das Ausmaß, in dem der aktuelle Zustand eines Systems aus den von ihm ausgegebenen Daten abgeleitet werden kann. Die ausgegebenen Daten werden allgemein als Telemetrie bezeichnet.

 AWS SDK für Kotlin Sie können alle drei gängigen Telemetriesignale bereitstellen: Metriken, Traces und Logs. Sie können eine Verbindung herstellen [https://docs.aws.amazon.com/smithy-kotlin/api/latest/telemetry-api/aws.smithy.kotlin.runtime.telemetry/-telemetry-provider/index.html](https://docs.aws.amazon.com/smithy-kotlin/api/latest/telemetry-api/aws.smithy.kotlin.runtime.telemetry/-telemetry-provider/index.html), um Telemetriedaten an ein Observability-Backend (z. B. [AWS X-Ray](https://docs.aws.amazon.com/xray/?icmpid=docs_homepage_devtools)oder [Amazon CloudWatch](https://docs.aws.amazon.com/cloudwatch/?icmpid=docs_homepage_mgmtgov)) zu senden und dann darauf zu reagieren.

Standardmäßig ist nur die Protokollierung aktiviert und andere Telemetriesignale sind im SDK deaktiviert. In diesem Thema wird erklärt, wie die Telemetrieausgabe aktiviert und konfiguriert wird.

**Wichtig**  
`TelemetryProvider`ist derzeit eine experimentelle API, deren Verwendung aktiviert werden muss.

## Konfigurieren Sie ein `TelemetryProvider`
<a name="observability-conf-telemetry-provider"></a>

Sie können a `TelemetryProvider` in Ihrer Anwendung global für alle Service-Clients oder für einzelne Clients konfigurieren. In den folgenden Beispielen wird eine hypothetische `getConfiguredProvider()` Funktion verwendet, um die `TelemetryProvider` API-Operationen zu demonstrieren. In [Anbieter von Telemetriedaten](observability-telemetry-providers.md) diesem Abschnitt werden Informationen zu Implementierungen beschrieben, die vom SDK bereitgestellt werden. Wenn ein Anbieter nicht unterstützt wird, können Sie Ihren eigenen Support implementieren oder [eine Funktionsanfrage stellen](https://github.com/awslabs/aws-sdk-kotlin/issues/new/choose). GitHub

### Konfigurieren Sie den globalen Standardtelemetrie-Anbieter
<a name="observability-conf-telemetry-provider-global"></a>

Standardmäßig versucht jeder Dienstclient, den weltweit verfügbaren Telemetrieanbieter zu verwenden. Auf diese Weise können Sie den Anbieter einmal festlegen, und alle Clients verwenden ihn. Dies sollte nur einmal durchgeführt werden, bevor Sie Service-Clients instanziieren.

Um den globalen Telemetrieanbieter zu verwenden, aktualisieren Sie zunächst Ihre Projektabhängigkeiten, um das Telemetriestandardmodul hinzuzufügen, wie im folgenden Gradle-Snippet gezeigt.

(Sie können zum *X.Y.Z* Link navigieren, um die neueste verfügbare Version zu sehen.)

```
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("aws.smithy.kotlin:telemetry-defaults")
    ...
}
```

Stellen Sie dann den globalen Telemetrieanbieter ein, bevor Sie einen Service-Client erstellen, wie im folgenden Code gezeigt.

```
import aws.sdk.kotlin.services.s3.S3Client
import aws.smithy.kotlin.runtime.telemetry.GlobalTelemetryProvider
import kotlinx.coroutines.runBlocking

fun main() = runBlocking {
    val myTelemetryProvider = getConfiguredProvider()
    GlobalTelemetryProvider.set(myTelemetryProvider)

    S3Client.fromEnvironment().use { s3 ->
        …
    }     
}

fun getConfiguredProvider(): TelemetryProvider {
    TODO("TODO - configure a provider")
}
```

### Konfigurieren Sie einen Telemetrieanbieter für einen bestimmten Dienstclient
<a name="observability-conf-telemetry-provider-client"></a>

Sie können einen einzelnen Dienstclient mit einem bestimmten Telemetrieanbieter (mit Ausnahme des globalen) konfigurieren. Dies wird im folgenden Beispiel veranschaulicht.

```
import aws.sdk.kotlin.services.s3.S3Client
import kotlinx.coroutines.runBlocking

fun main() = runBlocking {
    S3Client.fromEnvironment{
        telemetryProvider = getConfiguredProvider()
    }.use { s3 ->
        ...
    }
}

fun getConfiguredProvider(): TelemetryProvider {
    TODO("TODO - configure a provider")
}
```