

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

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

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

Menggunakan OpenTelemetry Collector with CloudWatch memberikan manfaat sebagai berikut:
+ Kumpulkan telemetri dari beberapa aplikasi dan host melalui satu agen, mengurangi jumlah koneksi ke CloudWatch.
+ Memproses dan menyaring telemetri sebelum mengirimnya CloudWatch, termasuk menambahkan atau menghapus atribut, mengumpulkan data, dan pengambilan sampel jejak.
+ 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 CloudWatch dengan label kaya yang tersedia untuk kueri menggunakan Bahasa Kueri Prometheus (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 diinstrumentasikan dengan OpenTelemetry SDK, atau penerima Prometheus untuk mengikis metrik dari eksportir Prometheus yang ada. Penerima Prometheus umum yang digunakan termasuk: CloudWatch 
+ Penerima Prometheus, untuk mengikis titik akhir apa pun Prometheus-compatible 
+ Penerima Host Metrics, 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 kedua OpenTelemetry dan metrik Prometheus dan mengirimkannya CloudWatch melalui pipa yang sama. Untuk daftar lengkap penerima yang tersedia, lihat [ repositori OpenTelemetry Collector](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver).

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

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

Langkah:

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

1. Instal OpenTelemetry Collector 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 kredenSIAL di Amazon EC2 atau host lokal Anda. Kolektor menggunakan kredenSIAL ini untuk mengotentikasi 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 Tam ** bah izin**, ** Lampirkan kebijakan**.

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

   1. Pilih ** CloudWatchAgentServerPolicy ** kebijakan dan pilih Tam ** bah 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 Detail ** pengguna**, untuk Nama ** pengguna**, masukkan nama untuk pengguna IAM baru. Ini adalah nama login untuk AWS yang akan digunakan untuk mengotentikasi host Anda.

   1. Pilih **Berikutnya**.

   1. Pada ** halaman Tet ** apkan izin, di bawah opsi ** Izin**, pilih Lamp ** irkan kebijakan secara langsung**.

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

   1. Pilih **Berikutnya**.

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

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

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

   1. Pada halaman pengguna, pilih ** tab Kreden ** sibilitas keamanan.

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

   1. Untuk ** Buat kunci akses Langkah 1**, pilih ** Command Line Interface (CLI)**.

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

   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 memerlukan informasi ini untuk langkah selanjutnya.

   1. Pilih **Selesai**.

   1. Konfigurasikan AWS kredensi Anda di host lokal dengan memasukkan perintah berikut. Ganti * ACCESS\_KEY\_ID * dan * SECRET\_ACCESS\_ID * dengan kunci akses dan kunci akses rahasia yang baru dibuat 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
      ```

**Tip**  
Untuk host lokal yang hanya perlu mengirim metrik atau log, Anda dapat menggunakan otentikasi token pembawa sebagai alternatif yang lebih sederhana untuk mengonfigurasi kunci AWS akses. Token pembawa tidak memerlukan file `aws configure` langkah atau kredensi pada host. Untuk informasi selengkapnya, lihat [Menyiapkan otentikasi token pembawa untuk Metrik](CloudWatch-OTLP-MetricsBearerTokenAuth.md).

------

1. Siapkan AWS kredensi untuk cluster 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 kredenSIAL untuk cluster Amazon EKS atau Kubernetes Anda untuk mengirim telemetri. CloudWatch

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

   1. Buat penyedia identitas IAM OIDC untuk cluster 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 kredensi Anda di host lokal dengan memasukkan perintah berikut. Ganti {{ACCESS\_KEY\_ID}} dan {{SECRET\_ACCESS\_ID}} dengan kunci akses yang baru dibuat dan kunci akses rahasia dari file.csv yang Anda unduh pada 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 kredenSIAL AWS yang baru dibuat dengan menggunakan perintah: `kubectl edit OpenTelemetryCollector {{otel_collector}}` 

   1. Menggunakan editor file, tambahkan AWS kredenSIAL 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.

## Otentikasi dengan token pembawa (kunci API)
<a name="CloudWatch-OTLPBearerTokenAuth-Option"></a>

Jika Anda tidak perlu mengonfigurasi AWS kredenSIAL pada host — misalnya, saat menjalankan non-AWS infrastruktur, penyedia cloud lain, atau CI/CD pipeline — Anda dapat menggunakan otentikasi token pembawa alih-alih SIGv4. Token pembawa didukung untuk titik akhir metrik dan log (kunci API terpisah diperlukan untuk setiap layanan). Otentikasi token pembawa tidak didukung untuk pelacakan.

Untuk petunjuk penyiapan, lihat[Menyiapkan otentikasi token pembawa untuk Metrik](CloudWatch-OTLP-MetricsBearerTokenAuth.md). Untuk log, lihat Men [ yiapkan otentikasi token pembawa untuk Log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_HTTP_Endpoints_BearerTokenAuth.html).

Untuk contoh konfigurasi kolektor menggunakan token pembawa, lihat contoh metrik token pembawa dalam contoh konfigurasi kolektor 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 OpenTelemetry SDK Anda ke konfigurasi * sampling * always\_on 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 ](https://opentelemetry.io/docs/languages/java/sdk/#sampler) OpenTelemetry Java SDK. Untuk contoh tentang pengaturan OpenTelemetry Kolektor dengan titik akhir X-Ray OTLP, lihat [ repositori demo sinyal ](https://github.com/aws-observability/application-signals-demo/blob/main/scripts/opentelemetry/otel_simple_setup/opentelemetry.yaml) aplikasi.

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

**Metrik dengan otentikasi token pembawa **

Berikut ini adalah contoh untuk mengirim metrik menggunakan token pembawa ke us-east-1. Untuk petunjuk penyiapan dan praktik terbaik keamanan, lihat[Menyiapkan otentikasi token pembawa untuk Metrik](CloudWatch-OTLP-MetricsBearerTokenAuth.md).

```
extensions:
  bearertokenauth:
    filename: "/etc/otel/cw-api-key"

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"
    auth:
      authenticator: bearertokenauth

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

**penting**  
Jangan pernah membuat hardcode kunci API langsung di file konfigurasi kolektor. Gunakan `filename` untuk membaca dari rahasia yang dipasang, atau `${env:VAR}` untuk membaca dari variabel lingkungan yang disuntikkan oleh pengelola rahasia Anda.

**catatan**  
Tidak seperti SIGv4, token pembawa tidak memerlukan file AWS kredenSIAL, peran IAM, atau konfigurasi IRSA. Kolektor dapat berjalan di platform apa pun tanpa dependensi AWS SDK.