

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mengekspor telemetri tanpa kolektor menggunakan AWS Distro for (ADOT) SDK OpenTelemetry
<a name="CloudWatch-OTLP-UsingADOT"></a>

Anda dapat menggunakan ADOT SDKs untuk mengurangi kolektor dan mengirim metrik, jejak, dan log langsung ke titik akhir OTLP.

**catatan**  
Sinyal Aplikasi mencakup kemampuan Pencarian Transaksi. Untuk menghindari biaya duplikat, nonaktifkan Sinyal Aplikasi di SDK ADOT dan `OTEL_AWS_APPLICATION_SIGNALS_ENABLED` tetapkan ke false (pengaturan default). 

**Topics**
+ [Prasyarat](#CloudWatch-OTLP-UsingADOT-Prerequisite)
+ [Menyiapkan izin IAM untuk peran Anda](#setup-iam-permissions-role)
+ [Konfigurasikan penyedia kredensional Anda](#configure-credentials-providers)
+ [Mengaktifkan ADOT SDKs](#Enabling-ADOT)

## Prasyarat
<a name="CloudWatch-OTLP-UsingADOT-Prerequisite"></a>

Jika Anda menggunakan jejak, pastikan Pencarian Transaksi diaktifkan untuk mengirim rentang ke titik akhir X-Ray OTLP. Untuk informasi selengkapnya, lihat [Memulai Penelusuran Transaksi](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Transaction-Search-getting-started.html).

## Menyiapkan izin IAM untuk peran Anda
<a name="setup-iam-permissions-role"></a>

Ikuti langkah-langkah berikut untuk melampirkan kebijakan IAM yang diperlukan untuk peran Anda:

**Jejak:**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Pilih **Peran** dan temukan dan pilih peran yang dikonfigurasi.

1. Di bawah tab **Izin**, pilih **Tambahkan izin**, lalu **Lampirkan** kebijakan.

1. Menggunakan kotak pencarian, cari file`AWSXrayWriteOnlyPolicy`.

1. Pilih `AWSXrayWriteOnlyPolicy` kebijakan dan pilih **Tambahkan izin**.

**Log:**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Pilih **Peran** dan temukan dan pilih peran yang dikonfigurasi.

1. Di bawah tab **Izin**, pilih **Tambahkan izin**, lalu **Buat kebijakan sebaris**.

1. Pilih **CloudWatch Log** untuk layanan dan di bawah **Tindakan yang diizinkan**, filter dan pilih:

   ```
   logs:PutLogEvents
   logs:DescribeLogGroups
   logs:DescribeLogStreams
   ```

1. Berikut ini adalah contoh kebijakan IAM yang memberikan izin yang diperlukan:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "CloudWatchLogsAccess",
               "Effect": "Allow",
               "Action": [
                   "logs:PutLogEvents",
                   "logs:DescribeLogGroups",
                   "logs:DescribeLogStreams"
                  
               ],
               "Resource": [
                   "arn:aws:logs:*:*:log-group:*"
               ]
           }
       ]
   }
   ```

------

## Konfigurasikan penyedia kredensional Anda
<a name="configure-credentials-providers"></a>

ADOT menggunakan AWS SDKs untuk secara otomatis menemukan kredensil valid yang diperlukan untuk mengekspor data telemetri Anda. AWS Untuk panduan tentang mengonfigurasi kredensil untuk lingkungan spesifik Anda, [lihat dokumentasi tentang cara AWS SDKS mengambil kredensil](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html).

**Menyiapkan kredensil IAM untuk host di lokasi:**

Konfigurasikan AWS kredensional Anda di host lokal Anda dengan memasukkan perintah berikut. Ganti **ACCESS\$1KEY\$1ID** dan **SECRET\$1ACCESS\$1KEY** dengan kredensil untuk peran IAM atau pengguna Anda yang dikonfigurasi.

```
$ aws configure
AWS Access Key ID [None]: ACCESS_KEY_ID
AWS Secret Access Key [None]: SECRET_ACCESS_ID
Default region name [None]: MY_REGION
Default output format [None]: json
```

## Mengaktifkan ADOT SDKs
<a name="Enabling-ADOT"></a>

Anda dapat mengaktifkan log dan jejak agar aplikasi Anda dikirim langsung ke titik akhir OTLP dari AWS Distro for OpenTelemetry (ADOT) SDK di Java, Node.js, Python, dan .Net.

------
#### [ Java ]

**catatan**  
Anda harus menggunakan **ADOT Java Agent versi 2.11.2 atau yang lebih baru** agar fitur-fitur ini tersedia.

1. Unduh versi terbaru dari agen instrumentasi otomatis AWS Distro untuk OpenTelemetry Java. Anda dapat mengunduh versi terbaru dengan menggunakan perintah ini:

   ```
   curl -L -O https://github.com/aws-observability/aws-otel-java-instrumentation/releases/latest/download/aws-opentelemetry-agent.jar
   ```

   Anda dapat melihat informasi tentang semua versi yang dirilis di [aws-otel-java-instrumentation Rilis](https://github.com/aws-observability/aws-otel-java-instrumentation/releases).

1. Untuk mengaktifkan eksportir berbeda yang secara langsung mengirimkan telemetri ke titik akhir OTLP dan untuk mengoptimalkan manfaat, gunakan variabel lingkungan berikut sebelum Anda memulai aplikasi:

   **Jejak:**
   + Setel `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` untuk menentukan titik akhir jejak X-Ray OTLP: `https://xray.[AWSRegion].amazonaws.com/v1/traces`

     Contoh:

     ```
     export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
     ```
   + Setel `OTEL_TRACES_EXPORTER` ke `otlp` (ini opsional dan merupakan nilai default jika variabel lingkungan ini tidak disetel).
   + `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL`Atur variabel ke `http/protobuf` (ini opsional dan merupakan nilai default jika variabel lingkungan ini tidak disetel).
   + Tetapkan `OTEL_RESOURCE_ATTRIBUTES` variabel untuk menentukan informasi berikut sebagai pasangan kunci-nilai. Variabel lingkungan ini digunakan oleh Sinyal Aplikasi, dan diubah menjadi anotasi jejak X-Ray dan dimensi CloudWatch metrik. :
     + (Opsional) `service.name` menetapkan nama layanan. Ini akan ditampilkan sebagai nama layanan untuk aplikasi Anda di dasbor Sinyal Aplikasi. Jika Anda tidak memberikan nilai untuk kunci ini, maka `UnknownService` digunakan sebagai nilai default.
     + (Opsional) `deployment.environment` menetapkan lingkungan tempat aplikasi berjalan. Ini akan ditampilkan sebagai lingkungan **Hosted In** aplikasi Anda.
     + (Opsional) Untuk mengaktifkan korelasi log, di`OTEL_RESOURCE_ATTRIBUTES`, tetapkan variabel lingkungan tambahan `aws.log.group.names` untuk grup log aplikasi Anda. Dengan demikian, jejak dan metrik dari aplikasi Anda dapat dikorelasikan dengan entri log yang relevan dari grup log ini. Untuk variabel ini, ganti `$YOUR_APPLICATION_LOG_GROUP` dengan nama grup log untuk aplikasi Anda. Jika Anda memiliki beberapa grup log, Anda dapat menggunakan ampersand (`&`) untuk memisahkannya seperti dalam contoh ini:. `aws.log.group.names=log-group-1&log-group-2` Untuk mengaktifkan metrik untuk mencatat korelasi, pengaturan variabel lingkungan saat ini sudah cukup. Untuk informasi selengkapnya, lihat [Mengaktifkan metrik untuk mencatat korelasi](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-MetricLogCorrelation.html). Untuk mengaktifkan korelasi trace to log, Anda juga perlu mengubah konfigurasi logging di aplikasi Anda. Untuk informasi selengkapnya, lihat [Mengaktifkan korelasi jejak ke log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-TraceLogCorrelation.html).

   **Log:**
   + Setel `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` untuk menentukan titik akhir log CloudWatch OTLP: `https://logs.[AWSRegion].amazonaws.com/v1/logs`

     Contoh:

     ```
     export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs"
     ```
   + Setel `OTEL_EXPORTER_OTLP_LOGS_HEADERS` untuk menentukan grup log dan aliran log (catatan: ini harus dibuat **sebelum** menjalankan ADOT) Anda ingin mengekspor log Anda ke: `x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]`

     Contoh:

     ```
     export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
     ```
   + Setel `OTEL_LOGS_EXPORTER` ke `otlp` (ini opsional dan merupakan nilai default jika variabel lingkungan ini tidak disetel).
   + `OTEL_EXPORTER_OTLP_LOGS_PROTOCOL`Atur variabel ke `http/protobuf` (ini opsional dan merupakan nilai default jika variabel lingkungan ini tidak disetel).

1. Setel `JAVA_TOOL_OPTIONS` untuk menentukan jalur tempat agen instrumentasi otomatis AWS Distro untuk OpenTelemetry Java disimpan. Contoh:

   ```
   export JAVA_TOOL_OPTIONS=" -javaagent:$AWS_ADOT_JAVA_INSTRUMENTATION_PATH"
   export AWS_ADOT_JAVA_INSTRUMENTATION_PATH="./aws-opentelemetry-agent.jar"
   ```

1. Aplikasi Anda sekarang harus berjalan dengan instrumentasi ADOT Java dan akan menghasilkan rentang dan log. Rentang akan disimpan dalam grup `aws/spans` CloudWatch log, sedangkan log akan disimpan dalam grup log yang ditentukan di `OTEL_EXPORTER_OTLP_LOGS_HEADERS` header. Anda juga dapat melihat log dan metrik yang berkorelasi dengan rentang Anda di Konsol CloudWatch Jejak dan Metrik.

1. Mulai aplikasi Anda dengan variabel lingkungan yang tercantum pada langkah sebelumnya. Berikut ini adalah sebuah contoh skrip awal.

   ```
   JAVA_TOOL_OPTIONS=" -javaagent:$AWS_ADOT_JAVA_INSTRUMENTATION_PATH" \
   OTEL_METRICS_EXPORTER=none \
   OTEL_TRACES_EXPORTER=otlp \
   OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf \
   OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces \
   OTEL_LOGS_EXPORTER=otlp \
   OTEL_EXPORTER_OTLP_LOGS_PROTOCOL=http/protobuf \
   OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=https://logs.us-east-1.amazonaws.com/v1/logs \
   OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default 
   OTEL_RESOURCE_ATTRIBUTES="service.name=$YOUR_SVC_NAME" \
   java -jar $MY_JAVA_APP.jar
   ```

------
#### [ Node.js ]

**catatan**  
Anda harus menggunakan **ADOT JavaScript versi 0.7.0 atau yang lebih baru** agar fitur-fitur ini tersedia.

1. Unduh versi terbaru AWS Distro untuk instrumentasi OpenTelemetry JavaScript otomatis. Instal dengan menjalankan perintah berikut.

   ```
   npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation
   ```

   Anda dapat melihat informasi tentang semua versi yang dirilis di [aws-otel-js-instrumentation Rilis](https://github.com/aws-observability/aws-otel-js-instrumentation/releases).

1. Untuk mengaktifkan eksportir berbeda yang secara langsung mengirimkan telemetri ke titik akhir OTLP dan untuk mengoptimalkan manfaat, gunakan variabel lingkungan berikut sebelum Anda memulai aplikasi:

   **Jejak:**
   + Setel `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` untuk menentukan titik akhir jejak X-Ray OTLP: `https://xray.[AWSRegion].amazonaws.com/v1/traces`

     Contoh:

     ```
     export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
     ```
   + Setel `OTEL_TRACES_EXPORTER` ke `otlp` (ini opsional dan merupakan nilai default jika variabel lingkungan ini tidak disetel).
   + `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL`Atur variabel ke `http/protobuf` (ini opsional dan merupakan nilai default jika variabel lingkungan ini tidak disetel).
   + Tetapkan `OTEL_RESOURCE_ATTRIBUTES` variabel untuk menentukan informasi berikut sebagai pasangan kunci-nilai. Variabel lingkungan ini digunakan oleh Sinyal Aplikasi, dan diubah menjadi anotasi jejak X-Ray dan dimensi CloudWatch metrik. :
     + (Opsional) `service.name` menetapkan nama layanan. Ini akan ditampilkan sebagai nama layanan untuk aplikasi Anda di dasbor Sinyal Aplikasi. Jika Anda tidak memberikan nilai untuk kunci ini, maka `UnknownService` digunakan sebagai nilai default.
     + (Opsional) `deployment.environment` menetapkan lingkungan tempat aplikasi berjalan. Ini akan diputar sebagai lingkungan **Hosted In** aplikasi Anda.
     + (Opsional) Untuk mengaktifkan korelasi log, di`OTEL_RESOURCE_ATTRIBUTES`, tetapkan variabel lingkungan tambahan `aws.log.group.names` untuk grup log aplikasi Anda. Dengan demikian, jejak dan metrik dari aplikasi Anda dapat dikorelasikan dengan entri log yang relevan dari grup log ini. Untuk variabel ini, ganti `$YOUR_APPLICATION_LOG_GROUP` dengan nama grup log untuk aplikasi Anda. Jika Anda memiliki beberapa grup log, Anda dapat menggunakan ampersand (`&`) untuk memisahkannya seperti dalam contoh ini:. `aws.log.group.names=log-group-1&log-group-2` Untuk mengaktifkan metrik untuk mencatat korelasi, pengaturan variabel lingkungan saat ini sudah cukup. Untuk informasi selengkapnya, lihat [Mengaktifkan metrik untuk mencatat korelasi](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-MetricLogCorrelation.html). Untuk mengaktifkan korelasi trace to log, Anda juga perlu mengubah konfigurasi logging di aplikasi Anda. Untuk informasi selengkapnya, lihat [Mengaktifkan korelasi jejak ke log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-TraceLogCorrelation.html).

   **Log:**
   + Setel `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` untuk menentukan titik akhir log CloudWatch OTLP: `https://logs.[AWSRegion].amazonaws.com/v1/logs`

     Contoh:

     ```
     export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs"
     ```
   + Setel `OTEL_EXPORTER_OTLP_LOGS_HEADERS` untuk menentukan grup log dan aliran log (catatan: ini harus dibuat **sebelum** menjalankan ADOT) Anda ingin mengekspor log Anda ke: `x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]`

     Contoh:

     ```
     export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
     ```
   + Setel `OTEL_LOGS_EXPORTER` ke `otlp` (ini opsional dan merupakan nilai default jika variabel lingkungan ini tidak disetel).
   + `OTEL_EXPORTER_OTLP_LOGS_PROTOCOL`Atur variabel ke `http/protobuf` (ini opsional dan merupakan nilai default jika variabel lingkungan ini tidak disetel).

1. Aplikasi Anda sekarang harus berjalan dengan JavaScript instrumentasi ADOT dan akan menghasilkan rentang dan log. Rentang akan disimpan dalam grup `aws/spans` CloudWatch log, sedangkan log akan disimpan dalam grup log yang ditentukan di `OTEL_EXPORTER_OTLP_LOGS_HEADERS` header. Anda juga dapat melihat log dan metrik yang berkorelasi dengan rentang Anda di Konsol CloudWatch Jejak dan Metrik.

1. Mulai aplikasi Anda dengan variabel lingkungan yang tercantum pada langkah sebelumnya. Berikut ini adalah sebuah contoh skrip awal.

   Ganti `$SVC_NAME` dengan nama aplikasi Anda. Ini akan ditampilkan sebagai nama aplikasi.

   ```
   OTEL_METRICS_EXPORTER=none \
   OTEL_TRACES_EXPORTER=otlp \
   OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf \
   OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces \
   OTEL_LOGS_EXPORTER=otlp \
   OTEL_EXPORTER_OTLP_LOGS_PROTOCOL=http/protobuf \
   OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=https://logs.us-east-1.amazonaws.com/v1/logs \
   OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default 
   OTEL_RESOURCE_ATTRIBUTES="service.name=$YOUR_SVC_NAME" \
   node --require '@aws/aws-distro-opentelemetry-node-autoinstrumentation/register' your-application.js
   ```

------
#### [ Python ]

**catatan**  
Anda harus menggunakan **ADOT Python versi 0.10.0 atau** yang lebih baru dan **`botocore`**telah menginstal agar fitur-fitur ini tersedia.

1. Unduh versi terbaru AWS Distro untuk instrumentasi otomatis OpenTelemetry Python. Instal dengan menjalankan perintah berikut.

   ```
   pip install aws-opentelemetry-distro
   ```

   Anda dapat melihat informasi tentang semua versi yang dirilis di [aws-otel-python-instrumentation Rilis](https://github.com/aws-observability/aws-otel-python-instrumentation/releases).

1. Untuk mengaktifkan eksportir berbeda yang secara langsung mengirimkan telemetri ke titik akhir OTLP dan untuk mengoptimalkan manfaat, gunakan variabel lingkungan berikut sebelum Anda memulai aplikasi:

   **Untuk konfigurasi jejak dan log, Anda harus mengatur variabel lingkungan berikut:**
   + `OTEL_PYTHON_DISTRO` untuk `aws_distro`
   + `OTEL_PYTHON_CONFIGURATOR` untuk `aws_configurator`

   **Jejak:**
   + Setel `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` untuk menentukan titik akhir jejak X-Ray OTLP: `https://xray.[AWSRegion].amazonaws.com/v1/traces`

     Contoh:

     ```
     export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="https://xray.us-west-2.amazonaws.com/v1/traces"
     ```
   + Setel `OTEL_TRACES_EXPORTER` ke `otlp` (ini opsional dan merupakan nilai default jika variabel lingkungan ini tidak disetel).
   + `OTEL_EXPORTER_OTLP_TRACES_PROTOCOL`Atur variabel ke `http/protobuf` (ini opsional dan merupakan nilai default jika variabel lingkungan ini tidak disetel).
   + Tetapkan `OTEL_RESOURCE_ATTRIBUTES` variabel untuk menentukan informasi berikut sebagai pasangan kunci-nilai. Variabel lingkungan ini digunakan oleh Sinyal Aplikasi, dan diubah menjadi anotasi jejak X-Ray dan dimensi CloudWatch metrik. :
     + (Opsional) `service.name` menetapkan nama layanan. Ini akan ditampilkan sebagai nama layanan untuk aplikasi Anda di dasbor Sinyal Aplikasi. Jika Anda tidak memberikan nilai untuk kunci ini, maka `UnknownService` digunakan sebagai nilai default.
     + (Opsional) `deployment.environment` menetapkan lingkungan tempat aplikasi berjalan. Ini akan diputar sebagai lingkungan **Hosted In** aplikasi Anda.
     + (Opsional) Untuk mengaktifkan korelasi log, di`OTEL_RESOURCE_ATTRIBUTES`, tetapkan variabel lingkungan tambahan `aws.log.group.names` untuk grup log aplikasi Anda. Dengan demikian, jejak dan metrik dari aplikasi Anda dapat dikorelasikan dengan entri log yang relevan dari grup log ini. Untuk variabel ini, ganti `$YOUR_APPLICATION_LOG_GROUP` dengan nama grup log untuk aplikasi Anda. Jika Anda memiliki beberapa grup log, Anda dapat menggunakan ampersand (`&`) untuk memisahkannya seperti dalam contoh ini:. `aws.log.group.names=log-group-1&log-group-2` Untuk mengaktifkan metrik untuk mencatat korelasi, pengaturan variabel lingkungan saat ini sudah cukup. Untuk informasi selengkapnya, lihat [Mengaktifkan metrik untuk mencatat korelasi](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-MetricLogCorrelation.html). Untuk mengaktifkan korelasi trace to log, Anda juga perlu mengubah konfigurasi logging di aplikasi Anda. Untuk informasi selengkapnya, lihat [Mengaktifkan korelasi jejak ke log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Application-Signals-TraceLogCorrelation.html).

   **Log:**
   + Setel `OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED` ke `true`
   + Setel `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` untuk menentukan titik akhir log CloudWatch OTLP: `https://logs.[AWSRegion].amazonaws.com/v1/logs`

     Contoh:

     ```
     export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT="https://logs.us-west-2.amazonaws.com/v1/logs"
     ```
   + Setel `OTEL_EXPORTER_OTLP_LOGS_HEADERS` untuk menentukan grup log dan aliran log (catatan: ini harus dibuat **sebelum** menjalankan ADOT) Anda ingin mengekspor log Anda ke: `x-aws-log-group=[CW-LOG-GROUP-NAME],x-aws-log-stream=[CW-LOG-STREAM-NAME]`

     Contoh:

     ```
     export OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
     ```
   + Setel `OTEL_LOGS_EXPORTER` ke `otlp` (ini opsional dan merupakan nilai default jika variabel lingkungan ini tidak disetel).
   + `OTEL_EXPORTER_OTLP_LOGS_PROTOCOL`Atur variabel ke `http/protobuf` (ini opsional dan merupakan nilai default jika variabel lingkungan ini tidak disetel).

1. Aplikasi Anda sekarang harus berjalan dengan instrumentasi ADOT Python dan akan menghasilkan rentang dan log. Rentang akan disimpan dalam grup `aws/spans` CloudWatch log, sedangkan log akan disimpan dalam grup log yang ditentukan di `OTEL_EXPORTER_OTLP_LOGS_HEADERS` header. Anda juga dapat melihat log dan metrik yang berkorelasi dengan rentang Anda di Konsol CloudWatch Jejak dan Metrik.

1. Mulai aplikasi Anda dengan variabel lingkungan yang tercantum pada langkah sebelumnya. Berikut ini adalah sebuah contoh skrip awal.

   Ganti `$SVC_NAME` dengan nama aplikasi Anda. Ini akan ditampilkan sebagai nama aplikasi.

   Ganti `$PYTHON_APP` dengan lokasi dan nama aplikasi Anda.

   ```
   OTEL_METRICS_EXPORTER=none \
   OTEL_TRACES_EXPORTER=otlp \
   OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf \
   OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces \
   OTEL_LOGS_EXPORTER=otlp \
   OTEL_EXPORTER_OTLP_LOGS_PROTOCOL=http/protobuf \
   OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=https://logs.us-east-1.amazonaws.com/v1/logs \
   OTEL_EXPORTER_OTLP_LOGS_HEADERS=x-aws-log-group=MyLogGroup,x-aws-log-stream=default
   OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED=true
   OTEL_RESOURCE_ATTRIBUTES="service.name=$YOUR_SVC_NAME" \
   opentelemetry-instrument python $MY_PYTHON_APP.py
   ```

------
#### [ .Net ]

**catatan**  
**ADOT.NET versi 1.8.0 atau yang lebih baru** diperlukan agar fitur-fitur ini tersedia.
Kompresi saat ini tidak didukung.
Log saat ini tidak didukung.

Unduh versi terbaru paket instrumentasi otomatis AWS Distro for OpenTelemetry .NET. Anda dapat melihat informasi tentang semua versi yang dirilis di [aws-otel-dotnet-instrumentation Rilis](https://github.com/aws-observability/aws-otel-dotnet-instrumentation/releases).

Untuk mengaktifkan eksportir berbeda yang secara langsung mengirimkan telemetri ke titik akhir OTLP dan untuk mengoptimalkan manfaat, gunakan variabel lingkungan berikut sebelum Anda memulai aplikasi (ganti `dotnet-service-name` dalam variabel `OTEL_RESOURCE_ATTRIBUTES` lingkungan dengan nama layanan pilihan Anda):

**Jejak:**
+ Anda **harus** menyetel `OTEL_TRACES_EXPORTER` ke `none`
+ Anda **harus** menyetel `OTEL_AWS_SIG_V4_ENABLED` ke `true`

  Fitur ini **tidak diaktifkan secara otomatis di .NET**. Variabel lingkungan diperlukan secara khusus untuk mengidentifikasi kasus penggunaan ini dalam instrumentasi .NET. Persyaratan ini unik untuk.NET dan **tidak berlaku untuk bahasa lain yang didukung**.

Berikut ini adalah contoh setup untuk Linux.

```
export INSTALL_DIR=OpenTelemetryDistribution
export CORECLR_ENABLE_PROFILING=1
export CORECLR_PROFILER={918728DD-259F-4A6A-AC2B-B85E1B658318}
export CORECLR_PROFILER_PATH=${INSTALL_DIR}/linux-x64/OpenTelemetry.AutoInstrumentation.Native.so
export DOTNET_ADDITIONAL_DEPS=${INSTALL_DIR}/AdditionalDeps
export DOTNET_SHARED_STORE=${INSTALL_DIR}/store
export DOTNET_STARTUP_HOOKS=${INSTALL_DIR}/net/OpenTelemetry.AutoInstrumentation.StartupHook.dll
export OTEL_DOTNET_AUTO_HOME=${INSTALL_DIR}

export OTEL_DOTNET_AUTO_PLUGINS="AWS.Distro.OpenTelemetry.AutoInstrumentation.Plugin, AWS.Distro.OpenTelemetry.AutoInstrumentation"
export OTEL_TRACES_EXPORTER=none
export OTEL_AWS_SIG_V4_ENABLED=true

export OTEL_RESOURCE_ATTRIBUTES=service.name=dotnet-service-name
export OTEL_METRICS_EXPORTER=none
export OTEL_LOGS_EXPORTER=none
export OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces
```

Berikut ini adalah contoh pengaturan untuk Windows Server:

```
$env:INSTALL_DIR = "OpenTelemetryDistribution" 
$env:CORECLR_ENABLE_PROFILING = 1 
$env:CORECLR_PROFILER = "{918728DD-259F-4A6A-AC2B-B85E1B658318}" 
$env:CORECLR_PROFILER_PATH = Join-Path $env:INSTALL_DIR "win-x64/OpenTelemetry.AutoInstrumentation.Native.dll" 
$env:DOTNET_ADDITIONAL_DEPS = Join-Path $env:INSTALL_DIR "AdditionalDeps" 
$env:DOTNET_SHARED_STORE = Join-Path $env:INSTALL_DIR "store" 
$env:DOTNET_STARTUP_HOOKS = Join-Path $env:INSTALL_DIR "net/OpenTelemetry.AutoInstrumentation.StartupHook.dll" 
$env:OTEL_DOTNET_AUTO_HOME = $env:INSTALL_DIR 
$env:OTEL_DOTNET_AUTO_PLUGINS = "AWS.Distro.OpenTelemetry.AutoInstrumentation.Plugin, AWS.Distro.OpenTelemetry.AutoInstrumentation"

$env:OTEL_TRACES_EXPORTER=none
$env:OTEL_AWS_SIG_V4_ENABLED=true

$env:OTEL_RESOURCE_ATTRIBUTES=service.name=dotnet-service-name
$env:OTEL_METRICS_EXPORTER=none
$env:OTEL_LOGS_EXPORTER=none
$env:OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=http/protobuf
$env:OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://xray.us-east-1.amazonaws.com/v1/traces
```

1. Mulai aplikasi Anda dengan variabel lingkungan yang tercantum pada langkah sebelumnya.

1. (Opsional) Atau, Anda dapat menggunakan skrip instalasi yang disediakan untuk membantu instalasi dan penyiapan AWS Distro untuk paket instrumentasi OpenTelemetry otomatis.NET.

   Untuk Linux, unduh dan instal skrip instalasi Bash dari halaman GitHub rilis:

   ```
   # Download and Install
   curl -L -O https://github.com/aws-observability/aws-otel-dotnet-instrumentation/releases/latest/download/aws-otel-dotnet-install.sh
   chmod +x ./aws-otel-dotnet-install.sh
   ./aws-otel-dotnet-install.sh
   # Instrument
   . $HOME/.otel-dotnet-auto/instrument.shexport OTEL_RESOURCE_ATTRIBUTES=service.name=dotnet-service-name
   ```

   Untuk Windows Server, unduh dan instal skrip PowerShell instalasi dari halaman GitHub rilis:

   ```
   # Download and Install
   $module_url = "https://github.com/aws-observability/aws-otel-dotnet-instrumentation/releases/latest/download/AWS.Otel.DotNet.Auto.psm1"
   $download_path = Join-Path $env:temp "AWS.Otel.DotNet.Auto.psm1"
   Invoke-WebRequest -Uri $module_url -OutFile $download_path
   Import-Module $download_path
   Install-OpenTelemetryCore
   # Instrument
   Import-Module $download_path
   Register-OpenTelemetryForCurrentSession -OTelServiceName "dotnet-service-name"
   Register-OpenTelemetryForIIS
   ```

   [Anda dapat menemukan NuGet paket paket instrumentasi otomatis AWS Distro untuk OpenTelemetry .NET di repositori resmi. NuGet ](https://www.nuget.org/packages/AWS.Distro.OpenTelemetry.AutoInstrumentation) Pastikan untuk memeriksa [file README](https://github.com/aws-observability/aws-otel-dotnet-instrumentation/blob/main/src/AWS.Distro.OpenTelemetry.AutoInstrumentation/nuget-readme.md) untuk instruksi.

------