

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

# Siapkan konsumsi dari server Prometheus yang ada di Kubernetes di EC2
<a name="AMP-onboard-ingest-metrics-existing-Prometheus"></a>

Layanan Terkelola Amazon untuk Prometheus mendukung pengambilan metrik dari server Prometheus di cluster yang menjalankan Amazon EKS dan di cluster Kubernetes yang dikelola sendiri yang berjalan di Amazon EC2. Petunjuk terperinci di bagian ini adalah untuk server Prometheus di cluster Amazon EKS. Langkah-langkah untuk klaster Kubernetes yang dikelola sendiri di Amazon EC2 adalah sama, kecuali Anda perlu menyiapkan sendiri peran penyedia OIDC dan IAM untuk akun layanan di klaster Kubernetes.

Instruksi di bagian ini menggunakan Helm sebagai manajer paket Kubernetes.

**Topics**
+ [Langkah 1: Siapkan peran IAM untuk akun layanan](#AMP-onboard-existing-Prometheus-IRSA)
+ [Langkah 2: Tingkatkan server Prometheus Anda yang ada menggunakan Helm](#AMP-onboard-ingest-metrics-existing-remotewrite)

## Langkah 1: Siapkan peran IAM untuk akun layanan
<a name="AMP-onboard-existing-Prometheus-IRSA"></a>

Untuk metode orientasi yang kami dokumentasikan, Anda perlu menggunakan peran IAM untuk akun layanan di cluster Amazon EKS tempat server Prometheus berjalan. Peran ini juga disebut *peran layanan*.

Dengan peran layanan, Anda dapat mengaitkan peran IAM dengan akun layanan Kubernetes. Akun layanan ini kemudian dapat memberikan AWS izin ke kontainer di pod mana pun yang menggunakan akun layanan tersebut. Untuk informasi selengkapnya, lihat [peran IAM untuk akun layanan](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html).

Jika Anda belum mengatur peran ini, ikuti instruksi di [Menyiapkan peran layanan untuk menelan metrik dari kluster Amazon EKS](set-up-irsa.md#set-up-irsa-ingest) untuk mengatur peran.

## Langkah 2: Tingkatkan server Prometheus Anda yang ada menggunakan Helm
<a name="AMP-onboard-ingest-metrics-existing-remotewrite"></a>

Petunjuk di bagian ini mencakup pengaturan penulisan jarak jauh dan sigv4 untuk mengautentikasi dan mengotorisasi server Prometheus untuk menulis jarak jauh ke Layanan Terkelola Amazon Anda untuk ruang kerja Prometheus.

### Menggunakan Prometheus versi 2.26.0 atau yang lebih baru
<a name="AMP-onboard-ingest-metrics-Helm13"></a>

Ikuti langkah-langkah ini jika Anda menggunakan bagan Helm dengan gambar Prometheus Server versi 2.26.0 atau yang lebih baru.

**Untuk mengatur penulisan jarak jauh dari server Prometheus menggunakan bagan Helm**

1. Buat bagian penulisan jarak jauh baru di file konfigurasi Helm Anda:
   + Ganti `${IAM_PROXY_PROMETHEUS_ROLE_ARN}` dengan ARN dari **amp-iamproxy-ingest-role**yang Anda buat. [Langkah 1: Siapkan peran IAM untuk akun layanan](#AMP-onboard-existing-Prometheus-IRSA) Peran ARN harus memiliki format. `arn:aws:iam::{{your account ID}}:role/amp-iamproxy-ingest-role`
   + Ganti `${WORKSPACE_ID}` dengan Layanan Terkelola Amazon Anda untuk ID ruang kerja Prometheus.
   + Ganti `${REGION}` dengan Wilayah Layanan Terkelola Amazon untuk ruang kerja Prometheus (seperti). `us-west-2`

   ```
   ## The following is a set of default values for prometheus server helm chart which enable remoteWrite to AMP
       ## For the rest of prometheus helm chart values see: https://github.com/prometheus-community/helm-charts/blob/main/charts/prometheus/values.yaml
       ##
       serviceAccounts:
         server:
           name: amp-iamproxy-ingest-service-account
           annotations: 
             eks.amazonaws.com/role-arn: ${IAM_PROXY_PROMETHEUS_ROLE_ARN}
       server:
         remoteWrite:
           - url: https://aps-workspaces.${REGION}.amazonaws.com/workspaces/${WORKSPACE_ID}/api/v1/remote_write
             sigv4:
               region: ${REGION}
             queue_config:
               max_samples_per_send: 1000
               max_shards: 200
               capacity: 2500
   ```

1. Perbarui konfigurasi Server Prometheus Anda yang ada menggunakan Helm:
   + Ganti `prometheus-chart-name` dengan nama rilis Prometheus Anda.
   + Ganti `prometheus-namespace` dengan namespace Kubernetes tempat Server Prometheus Anda diinstal.
   + Ganti `my_prometheus_values_yaml` dengan path ke file konfigurasi Helm Anda.
   + Ganti `current_helm_chart_version` dengan versi grafik Helm Server Prometheus Anda saat ini. Anda dapat menemukan versi bagan saat ini dengan menggunakan perintah [helm list](https://helm.sh/docs/helm/helm_list/).

   ```
   helm upgrade {{prometheus-chart-name}} prometheus-community/prometheus \
          -n {{prometheus-namespace}} \
          -f {{my_prometheus_values_yaml}} \
          --version {{current_helm_chart_version}}
   ```

### Menggunakan Prometheus versi sebelumnya
<a name="AMP-onboard-ingest-metrics-Helm8"></a>

Ikuti langkah-langkah ini jika Anda menggunakan versi Prometheus lebih awal dari 2.26.0. Langkah-langkah ini menggunakan pendekatan sespan, karena versi Prometheus sebelumnya tidak mendukung AWS proses penandatanganan Signature Version 4 (SiGv4).AWS 

Instruksi ini mengasumsikan bahwa Anda menggunakan Helm untuk menyebarkan Prometheus.

**Untuk mengatur penulisan jarak jauh dari server Prometheus**

1. Di server Prometheus Anda, buat konfigurasi penulisan jarak jauh baru. Pertama, buat file pembaruan baru. Kami akan memanggil file tersebut`amp_ingest_override_values.yaml`.

   Tambahkan nilai berikut ke file YAMM.

   ```
   serviceAccounts:
           server:
               name: "amp-iamproxy-ingest-service-account"
               annotations:
                   eks.amazonaws.com/role-arn: "${SERVICE_ACCOUNT_IAM_INGEST_ROLE_ARN}"
       server:
           sidecarContainers:
               - name: aws-sigv4-proxy-sidecar
                 image: public.ecr.aws/aws-observability/aws-sigv4-proxy:1.0
                 args:
                 - --name
                 - aps
                 - --region
                 - ${REGION}
                 - --host
                 - aps-workspaces.${REGION}.amazonaws.com
                 - --port
                 - :8005
                 ports:
                 - name: aws-sigv4-proxy
                   containerPort: 8005
           statefulSet:
               enabled: "true"
           remoteWrite:
               - url: http://localhost:8005/workspaces/${WORKSPACE_ID}/api/v1/remote_write
   ```

   Ganti `${REGION}` dengan Wilayah Layanan Terkelola Amazon untuk ruang kerja Prometheus.

   Ganti `${SERVICE_ACCOUNT_IAM_INGEST_ROLE_ARN}` dengan ARN dari **amp-iamproxy-ingest-role**yang Anda buat. [Langkah 1: Siapkan peran IAM untuk akun layanan](#AMP-onboard-existing-Prometheus-IRSA) Peran ARN harus memiliki format. `arn:aws:iam::{{your account ID}}:role/amp-iamproxy-ingest-role`

   Ganti `${WORKSPACE_ID}` dengan ID ruang kerja Anda.

1. Tingkatkan bagan Prometheus Helm Anda. Pertama, temukan nama bagan Helm Anda dengan memasukkan perintah berikut. Pada output dari perintah ini, cari bagan dengan nama yang disertakan`prometheus`.

   ```
   helm ls --all-namespaces
   ```

   Masukkan perintah berikut ini.

   ```
   helm upgrade --install {{prometheus-helm-chart-name}} prometheus-community/prometheus -n {{prometheus-namespace}} -f ./amp_ingest_override_values.yaml
   ```

   Ganti {{prometheus-helm-chart-name}} dengan nama bagan helm Prometheus yang dikembalikan pada perintah sebelumnya. Ganti {{prometheus-namespace}} dengan nama namespace Anda.

#### Mengunduh grafik Helm
<a name="AMP-onboard-ingest-downloadHelm"></a>

Jika Anda belum mengunduh bagan Helm secara lokal, Anda dapat menggunakan perintah berikut untuk mengunduhnya.

```
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
    helm pull prometheus-community/prometheus --untar
```