

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

# Memulai
<a name="CloudWatch-OTLPGettingStarted"></a>

Untuk memulai CloudWatch, Anda dapat menggunakan OpenTelemetry pengaturan pra-paket yang tersedia dengan CloudWatch agen bersama dengan AWS Distro untuk. OpenTelemetry OpenTelemetry SDKs Ini memberi Anda pengalaman pemantauan paling terintegrasi di CloudWatch.

**catatan**  
Pastikan Penelusuran Transaksi diaktifkan sebelum Anda menggunakan Titik Akhir OTLP untuk jejak.

Atau, Anda memiliki fleksibilitas untuk menggunakan OpenTelemetry Kolektor atau OpenTelemetry Kolektor kustom Anda sendiri untuk langsung mengirim telemetri ke titik akhir OTLP. Anda dapat menggunakan AWS Distro OpenTelemetry untuk pergi tanpa kolektor dan mengirim telemetri langsung ke titik akhir OTLP. Buat pilihan berdasarkan dukungan fitur:


| Fitur | OpenTelemetry Kolektor |  OpenTelemetry Kolektor Kustom | AWS Distro untuk OpenTelemetry | 
| --- | --- | --- | --- | 
|  CloudWatch sinyal aplikasi (Metrik kinerja aplikasi, penemuan layanan, dan peta aplikasi)  |  Ya  |  Ya  |  Ya  | 
|  Cari dan analisis rentang dan lacak ringkasan  |  Ya  |  Ya  |  Ya  | 
|  Cari dan analisis ringkasan log  |  Ya  |  Ya  |  Ya  | 
|  Pemantauan kinerja aplikasi pengayaan telemetri dengan atribut AWS infrastruktur tempat aplikasi Anda di-host.  |  Tidak  |  Ya  |  Ya  | 
|  Metrik runtime berkorelasi dengan aplikasi Anda. Misalnya, metrik JVM  |  Tidak  |  Ya  |  Tidak  | 
|  AWS Support  |  Data yang diterima oleh AWS  |  Data yang diterima oleh AWS  |  Data yang diterima oleh AWS  | 
|  Telemetri didukung  |  Log, Metrik, Jejak  |  Log, Jejak, Metrik  |  Metrik, Jejak  | 

**Topics**
+ [OpenTelemetry Kolektor](CloudWatch-OTLPSimplesetup.md)
+ [Bangun OpenTelemetry Kolektor kustom Anda sendiri](CloudWatch-OTLPAdvancedsetup.md)
+ [Mengekspor telemetri tanpa kolektor menggunakan AWS Distro for (ADOT) SDK OpenTelemetry](CloudWatch-OTLP-UsingADOT.md)
+ [Mengaktifkan metrik vended di PromQL](CloudWatch-OTelEnrichment.md)

# OpenTelemetry Kolektor
<a name="CloudWatch-OTLPSimplesetup"></a>

 OpenTelemetry Kolektor adalah agen agnostik vendor-agnostik open source yang menerima, memproses, dan mengekspor data telemetri. Ini bertindak sebagai saluran pusat antara aplikasi Anda dan Amazon CloudWatch, mengumpulkan metrik, log, dan jejak dari berbagai sumber dan mengirimkannya ke CloudWatch menggunakan OpenTelemetry Protokol (OTLP).

Menggunakan OpenTelemetry Kolektor dengan CloudWatch memberikan manfaat sebagai berikut:
+ Kumpulkan telemetri dari beberapa aplikasi dan host melalui satu agen, mengurangi jumlah koneksi ke. CloudWatch
+ Memproses dan memfilter telemetri sebelum mengirimnya ke CloudWatch, termasuk menambahkan atau menghapus atribut, mengelompokkan data, dan jejak pengambilan sampel.
+ Gunakan konfigurasi kolektor yang sama di seluruh AWS, lokal, dan lingkungan cloud lainnya, menyediakan pipeline telemetri yang konsisten di mana pun aplikasi Anda berjalan.
+ Kirim metrik ke label kaya CloudWatch yang tersedia untuk kueri menggunakan Prometheus Query Language (PromQL) di Query Studio. CloudWatch 

## Penerima yang didukung
<a name="CloudWatch-OTLPSupportedReceivers"></a>

 OpenTelemetry Kolektor mendukung berbagai penerima untuk menelan data telemetri. Anda dapat menggunakan OpenTelemetry penerima seperti penerima OTLP untuk aplikasi yang diinstrumentasi dengan, OpenTelemetry SDKs atau penerima Prometheus untuk mengikis metrik dari eksportir Prometheus yang ada. Penerima Prometheus umum yang digunakan meliputi: CloudWatch 
+ Penerima Prometheus, untuk mengikis titik akhir yang kompatibel dengan Prometheus
+ Penerima Metrik Host, untuk mengumpulkan metrik tingkat sistem dari host
+ Penerima Kubernetes Cluster, untuk mengumpulkan metrik tingkat cluster dari server API Kubernetes

Anda dapat mengonfigurasi beberapa penerima dalam satu kolektor, memungkinkan Anda mengumpulkan metrik keduanya OpenTelemetry dan Prometheus dan mengirimkannya melalui pipa yang sama. CloudWatch Untuk daftar lengkap penerima yang tersedia, lihat [repositori OpenTelemetry ](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver) Kolektor.

## Memulai
<a name="CloudWatch-OTLPSimplesetupGettingStarted"></a>

Prasyarat — Jika menggunakan titik akhir OTLP untuk melacak, pastikan bahwa Pencarian Transaksi diaktifkan.

Langkah:

1. Unduh rilis terbaru dari distribusi OpenTelemetry Kolektor. Untuk informasi selengkapnya, lihat [rilis OpenTelemetry ](https://github.com/open-telemetry/opentelemetry-collector-releases/releases) Kolektor.

1. Instal OpenTelemetry Kolektor di host Anda. Kolektor berjalan pada sistem operasi dan platform apa pun. Untuk informasi selengkapnya, lihat [Menginstal Kolektor](https://opentelemetry.io/docs/collector/installation/).

1. Konfigurasikan AWS kredensional di Amazon EC2 atau host lokal. Kolektor menggunakan kredensil ini untuk mengautentikasi CloudWatch saat mengirim data telemetri. Lihat di bawah untuk detailnya.

------
#### [ Setup IAM permissions for Amazon EC2 ]

**Ikuti prosedur di bawah ini untuk melampirkan kebijakan `CloudWatchAgentServerPolicy` IAM ke peran IAM instans Amazon EC2 Anda.**

   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 digunakan oleh instans Amazon EC2 Anda.

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

   1. Menggunakan kotak pencarian, cari `CloudWatchAgentServerPolicy` kebijakan.

   1. Pilih **CloudWatchAgentServerPolicy**kebijakan dan pilih **Tambahkan izin**.

------
#### [ Setup IAM permissions for on-premise hosts ]

**Anda dapat membuat pengguna IAM yang dapat digunakan untuk memberikan izin ke host lokal Anda.**

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

   1. Pilih **Pengguna**, **Buat Pengguna**.

   1. Di bawah **Rincian pengguna****, untuk nama Pengguna**, masukkan nama untuk pengguna IAM baru. Ini adalah nama masuk untuk AWS yang akan digunakan untuk mengautentikasi host Anda.

   1. Pilih **Berikutnya**.

   1. Pada halaman **Setel izin**, di bawah **opsi Izin**, pilih **Lampirkan kebijakan** secara langsung.

   1. Dari daftar **Kebijakan izin**, pilih **CloudWatchAgentServerPolicy**kebijakan yang akan ditambahkan ke pengguna Anda.

   1. Pilih **Berikutnya**.

   1. Pada halaman **Tinjau dan buat**, pastikan bahwa Anda puas dengan nama pengguna dan **CloudWatchAgentServerPolicy**kebijakan tersebut berada di bawah **ringkasan Izin**.

   1. Pilih **Create user** (Buat pengguna).

   1. **Buat dan ambil kunci AWS akses dan kunci rahasia Anda** — Di panel navigasi di konsol IAM, pilih **Pengguna** lalu pilih nama pengguna pengguna yang Anda buat di langkah sebelumnya.

   1. Pada halaman pengguna, pilih tab **Security credentials.**

   1. Di bawah bagian **tombol Akses**, pilih **Buat kunci akses**.

   1. Untuk **Buat tombol akses Langkah 1**, pilih **Antarmuka Baris Perintah (CLI)**.

   1. Untuk **Buat kunci akses Langkah 2**, secara opsional masukkan tag dan kemudian pilih **Berikutnya**.

   1. Untuk **Buat kunci akses Langkah 3,** pilih **Unduh file.csv untuk menyimpan file.csv** dengan kunci akses pengguna IAM dan kunci akses rahasia Anda. Anda memerlukan informasi ini untuk langkah selanjutnya.

   1. Pilih **Selesai**.

   1. Konfigurasikan AWS kredensional Anda di host lokal Anda dengan memasukkan perintah berikut. Ganti *ACCESS\$1KEY\$1ID* dan *SECRET\$1ACCESS\$1ID* dengan kunci akses yang baru dibuat dan kunci akses rahasia dari file.csv yang Anda unduh pada langkah sebelumnya.

      ```
      $ 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
      ```

------

1. Siapkan AWS kredensil untuk kluster Amazon EKS atau Kubernetes Anda. Cara termudah untuk memulai dengan Amazon EKS adalah dengan menggunakan add-on EKS OTel Container Insights. Jika Anda lebih suka menggunakan OpenTelemetry Collector secara langsung, ikuti prosedur di bawah ini untuk menyiapkan AWS kredensil untuk kluster Amazon EKS atau Kubernetes Anda untuk mengirim telemetri. CloudWatch

------
#### [ Setup IAM permissions for Amazon EKS ]

   1. Buat penyedia identitas IAM OIDC untuk klaster Anda menggunakan perintah berikut. 

      ```
      eksctl utils associate-iam-oidc-provider --cluster ${CLUSTER_NAME} --region ${REGION} --approve
      ```

   1. Tetapkan peran IAM ke akun layanan Kubernetes untuk OTel Collector menggunakan perintah berikut.

      ```
      eksctl create iamserviceaccount \
      --name ${COLLECTOR_SERVICE_ACCOUNT}\
      --namespace ${NAMESPACE} \
      --cluster ${CLUSTER_NAME} \
      --region ${REGION} \
      --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy \
      --approve \
      --override-existing-serviceaccounts
      ```

------
#### [ Setup IAM permissions for Kubernetes ]

   1. Konfigurasikan AWS kredensional Anda di host lokal Anda dengan memasukkan perintah berikut. Ganti *ACCESS\$1KEY\$1ID* dan *SECRET\$1ACCESS\$1ID* dengan kunci akses yang baru dibuat dan kunci akses rahasia dari file.csv yang Anda unduh di langkah sebelumnya. Secara default, file kredensi disimpan di bawah*/home/user/.aws/credentials*. .

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

   1. Edit sumber daya OpenTelemetry Kolektor untuk menambahkan rahasia kredensi AWS yang baru dibuat dengan menggunakan perintah: `kubectl edit OpenTelemetryCollector otel_collector` 

   1. Menggunakan editor file, tambahkan AWS kredensil ke dalam OpenTelemetryCollector wadah dengan menambahkan konfigurasi berikut ke bagian atas penerapan. Ganti jalur */home/user/.aws/credentials* dengan lokasi file AWS kredensial lokal Anda. 

      ```
                           spec:
                          volumeMounts:
                          - mountPath: /rootfs
                          volumeMounts:
                          - name: aws-credentials
                          mountPath: /root/.aws
                          readOnly: true
                          volumes:
                          - hostPath:
                          path: /home/user/.aws/credentials
                          name: aws-credentials
      ```

------

1. Konfigurasikan eksportir OTLP dalam konfigurasi kolektor Anda untuk mengirim telemetri ke titik akhir. CloudWatch Lihat contoh di bawah ini.

## Contoh konfigurasi kolektor
<a name="CloudWatch-OTLPSimplesetupConfigureCollector"></a>

Salin dan tempel konten di bawah ini untuk mengonfigurasi kolektor Anda untuk mengirim log dan jejak ke titik akhir OTLP.

```
receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318

exporters:
  otlphttp/logs:
    compression: gzip
    logs_endpoint: logs_otlp_endpoint
    headers: 
      x-aws-log-group: ency_log_group
      x-aws-log-stream: default
    auth:
      authenticator: sigv4auth/logs
      
  otlphttp/traces:
    compression: gzip
    traces_endpoint: traces_otlp_endpoint
    auth:
      authenticator: sigv4auth/traces

extensions:
  sigv4auth/logs:
    region: "region"
    service: "logs"
  sigv4auth/traces:
    region: "region"
    service: "xray"

service:
  telemetry:
  extensions: [sigv4auth/logs, sigv4auth/traces]
  pipelines:
    logs:
      receivers: [otlp]
      exporters: [otlphttp/logs]
    traces:
      receivers: [otlp]
      exporters: [otlphttp/traces]
```

Berikut ini adalah contoh untuk mengirim log dan jejak menggunakan sigv4 ke us-east-1.

```
receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318

exporters:
  otlphttp/logs:
    compression: gzip
    logs_endpoint: https://logs.us-east-1.amazonaws.com/v1/logs
    headers: 
      x-aws-log-group: MyApplicationLogs
      x-aws-log-stream: default
    auth:
      authenticator: sigv4auth/logs
      
  otlphttp/traces:
    compression: gzip
    traces_endpoint: https://xray.us-east-1.amazonaws.com/v1/traces
    auth:
      authenticator: sigv4auth/traces

extensions:
  sigv4auth/logs:
    region: "us-east-1"
    service: "logs"
  sigv4auth/traces:
    region: "us-east-1"
    service: "xray"

service:
  telemetry:
  extensions: [sigv4auth/logs, sigv4auth/traces]
  pipelines:
    logs:
     receivers: [otlp]
      exporters: [otlphttp/logs]
    traces:
      receivers: [otlp]
      exporters: [otlphttp/traces]
```

**catatan**  
Konfigurasikan konfigurasi sampling Anda OpenTelemetry SDKs ke *always\$1on* untuk merekam rentang 100% dengan andal dan mendapatkan visibilitas penuh ke aplikasi penting Anda dengan Sinyal Aplikasi. CloudWatch Untuk informasi selengkapnya, lihat contoh [konfigurasi sampler SDK OpenTelemetry Java](https://opentelemetry.io/docs/languages/java/sdk/#sampler). Untuk contoh pengaturan OpenTelemetry Kolektor dengan titik akhir X-Ray OTLP, lihat repositori demo [sinyal aplikasi](https://github.com/aws-observability/application-signals-demo/blob/main/scripts/opentelemetry/otel_simple_setup/opentelemetry.yaml).

Salin dan tempel konten di bawah ini untuk mengonfigurasi kolektor Anda untuk mengirim metrik ke titik akhir OTLP.

```
receivers:
  otlp:
    protocols:
      http:
        endpoint: "0.0.0.0:4318"

processors:
  batch:
    send_batch_size: 200
    timeout: 10s

exporters:
  otlphttp:
    tls:
      insecure: false
    endpoint: metrics_otlp_endpoint
    auth:
      authenticator: sigv4auth

extensions:
  sigv4auth:
    service: "monitoring"
    region: "region"

service:
  extensions: [sigv4auth]
  pipelines:
    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp]
```

Berikut ini adalah contoh untuk mengirim metrik menggunakan sigv4 ke us-east-1.

```
receivers:
  otlp:
    protocols:
      http:
        endpoint: "0.0.0.0:4318"

processors:
  batch:
    send_batch_size: 200
    timeout: 10s

exporters:
  otlphttp:
    tls:
      insecure: false
    endpoint: "https://monitoring.us-east-1.amazonaws.com/v1/metrics:443"
    auth:
      authenticator: sigv4auth

extensions:
  sigv4auth:
    service: "monitoring"
    region: "us-east-1"

service:
  extensions: [sigv4auth]
  pipelines:
    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp]
```

# Bangun OpenTelemetry Kolektor kustom Anda sendiri
<a name="CloudWatch-OTLPAdvancedsetup"></a>

Anda dapat membangun OpenTelemetry Kolektor kustom Anda sendiri untuk mendapatkan pengalaman observabilitas aplikasi terbaik. CloudWatch OpenTelemetry Dalam pengaturan ini, Anda perlu membangun OpenTelemetry Kolektor Anda sendiri dengan CloudWatch komponen open source.

## Prasyarat
<a name="CloudWatch-OTLPAdvancedsetupPrequisite"></a>

Pastikan *Penelusuran Transaksi* diaktifkan CloudWatch. Untuk informasi selengkapnya, lihat [Penelusuran Transaksi](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/CloudWatch-Transaction-Search.html).

## Bangun kolektor Anda sendiri
<a name="CloudWatch-OTLPAdvancedsetupBuildCollector"></a>

Anda dapat membangun kolektor Anda sendiri dengan konfigurasi berikut untuk memantau aplikasi Anda OpenTelemetry. CloudWatch Untuk informasi selengkapnya, lihat [Membangun kolektor khusus](https://opentelemetry.io/docs/collector/custom-collector/).

Konfigurasi umum untuk 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
```

Konfigurasi tambahan untuk jejak.

```
# 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
```

**catatan**  
Perhatikan hal-hal berikut:   
Setelah kolektor dibangun, gunakan dan konfigurasikan kolektor kustom di lingkungan host atau kubernetes dengan mengikuti prosedur di bawah. [OpenTelemetry Kolektor](CloudWatch-OTLPSimplesetup.md)
Untuk informasi tentang pengaturan OpenTelemetry kolektor kustom dengan Application Signals Processor, lihat contoh [konfigurasi kustom Sinyal Aplikasi](https://github.com/aws-observability/application-signals-demo/blob/main/scripts/opentelemetry/appsignals_custom_otel_setup/custom-opentelemetry.yaml). Application Signals Processor hanya mendukung versi terbaru dari OpenTelemetry Collectors untuk custom build. Untuk informasi tentang versi yang didukung, lihat [opentelemetry-collector-contrib repositori](https://github.com/amazon-contributing/opentelemetry-collector-contrib/tags).

# 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.

------

# Mengaktifkan metrik vended di PromQL
<a name="CloudWatch-OTelEnrichment"></a>

Anda dapat mengaktifkan OTel pengayaan untuk membuat metrik vended untuk [AWS sumber daya yang didukung](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/UsingResourceTagsForTelemetry.html) dapat dikueri melalui PromQL. Setelah diaktifkan, metrik yang berisi dimensi pengenal sumber daya (misalnya, EC2 CPUUtilization dengan InstanceId dimensi) diperkaya dengan ARN sumber daya dan label tag sumber daya dan menjadi dapat dikueri menggunakan promQL.

Metrik yang diperkaya mempertahankan nama dan CloudWatch dimensi metrik asli, dan menambahkan:
+ **Atribut sumber** daya — sumber daya ARN (`cloud.resource_id`), penyedia cloud, wilayah, dan ID akun.
+ **Lingkup instrumentasi** — mengidentifikasi layanan sumber dan menandai metrik sebagai OTel -diperkaya.
+ **Tag sumber daya — tag** AWS sumber daya apa pun yang terkait dengan sumber daya, dapat dikueri sebagai label PromQL.

 CloudWatch Metrik klasik asli tidak dimodifikasi dan tetap tersedia melalui yang ada CloudWatch APIs.

## Mengaktifkan OpenTelemetry pengayaan untuk metrik yang dijual
<a name="CloudWatch-OTelEnrichment-Enable"></a>

Sebelum memulai OTel pengayaan, Anda harus [mengaktifkan tag sumber daya pada telemetri](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/EnableResourceTagsOnTelemetry.html) untuk akun Anda.

Anda dapat mengaktifkan OTel pengayaan untuk akun Anda di wilayah tertentu menggunakan CloudWatch konsol, AWS CLI, atau AWS SDK.

Anda akan memerlukan izin untuk operasi berikut: `cloudwatch:StartOTelEnrichment`

**Untuk mengaktifkan OTel pengayaan AWS metrik (Konsol) CloudWatch**

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

1. Di panel navigasi, pilih **CloudWatch**, lalu pilih **Pengaturan**.

1. Di panel **Aktifkan OTel Pengayaan untuk AWS Metrik**, aktifkan fitur Aktif.

**AWS CLI**

```
aws cloudwatch start-o-tel-enrichment
```

Untuk mengaktifkan di beberapa wilayah, panggil API di setiap wilayah yang diminati.

Setelah pengayaan diaktifkan, Anda dapat mulai menanyakan metrik yang dijual melalui PromQL. Lihat:[Menanyakan AWS metrik yang dijual dengan PromQL](CloudWatch-PromQL-Querying.md#CloudWatch-PromQL-Querying-Vended).