

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

# Menggunakan contoh Prometheus sebagai kolektor
<a name="AMP-ingest-with-prometheus"></a>

Anda dapat menggunakan instance Prometheus, berjalan *dalam* mode agen (dikenal sebagai agen *Prometheus), untuk mengikis metrik dan mengirimkannya ke Amazon Managed Service untuk ruang kerja Prometheus*.

Topik berikut menjelaskan berbagai cara untuk menyiapkan instance Prometheus yang berjalan dalam mode agen sebagai kolektor untuk metrik Anda.

**Awas**  
Saat Anda membuat agen Prometheus, Anda bertanggung jawab atas konfigurasi dan pemeliharaannya. [Hindari mengekspos titik akhir scrape Prometheus ke internet publik dengan mengaktifkan fitur keamanan.](https://prometheus.io/docs/prometheus/latest/configuration/https/)

Jika Anda menyiapkan beberapa instans Prometheus yang memantau kumpulan metrik yang sama dan mengirimkannya ke satu Layanan Terkelola Amazon untuk ruang kerja Prometheus untuk ketersediaan tinggi, Anda perlu menyiapkan deduplikasi. Jika Anda tidak mengikuti langkah-langkah untuk mengatur deduplikasi, Anda akan dikenakan biaya untuk semua sampel data yang dikirim ke Amazon Managed Service untuk Prometheus, termasuk sampel duplikat. Untuk petunjuk tentang pengaturan deduplikasi, lihat. [Mendeduplikasi metrik ketersediaan tinggi yang dikirim ke Amazon Managed Service untuk Prometheus](AMP-ingest-dedupe.md)

**Topics**
+ [Mengatur konsumsi dari server Prometheus baru menggunakan Helm](AMP-onboard-ingest-metrics-new-Prometheus.md)
+ [Siapkan konsumsi dari server Prometheus yang ada di Kubernetes di EC2](AMP-onboard-ingest-metrics-existing-Prometheus.md)
+ [Siapkan konsumsi dari server Prometheus yang ada di Kubernetes di Fargate](AMP-onboard-ingest-metrics-existing-Prometheus-fargate.md)

# Mengatur konsumsi dari server Prometheus baru menggunakan Helm
<a name="AMP-onboard-ingest-metrics-new-Prometheus"></a>

Petunjuk di bagian ini membuat Anda siap dan menjalankan Layanan Terkelola Amazon untuk Prometheus dengan cepat. Anda menyiapkan server Prometheus baru di klaster Amazon EKS, dan server baru menggunakan konfigurasi default untuk mengirim metrik ke Amazon Managed Service untuk Prometheus. Metode ini memiliki prasyarat berikut:
+ Anda harus memiliki cluster Amazon EKS dari mana server Prometheus baru akan mengumpulkan metrik.
+ Cluster Amazon EKS Anda harus memiliki [driver Amazon EBS CSI](https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html) yang diinstal (diperlukan oleh Helm).
+ Anda harus menggunakan Helm CLI 3.0 atau yang lebih baru.
+ Anda harus menggunakan komputer Linux atau macOS untuk melakukan langkah-langkah di bagian berikut.

## Langkah 1: Tambahkan repositori bagan Helm baru
<a name="AMP-onboard-new-Prometheus-HelmRepo"></a>

Untuk menambahkan repositori bagan Helm baru, masukkan perintah berikut. Untuk informasi selengkapnya tentang perintah ini, lihat [Helm Repo](https://helm.sh/docs/helm/helm_repo/).

```
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo add kube-state-metrics https://kubernetes.github.io/kube-state-metrics
helm repo update
```

## Langkah 2: Buat namespace Prometheus
<a name="AMP-onboard-new-Prometheus-namespace"></a>

Masukkan perintah berikut untuk membuat namespace Prometheus untuk server Prometheus dan komponen pemantauan lainnya. Ganti *prometheus-namespace* dengan nama yang Anda inginkan untuk namespace ini.

```
kubectl create namespace prometheus-namespace
```

## Langkah 3: Siapkan peran IAM untuk akun layanan
<a name="AMP-onboard-new-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. 

Dengan peran IAM untuk akun layanan, Anda dapat mengaitkan peran IAM dengan akun layanan Kubernetes. Akun layanan ini kemudian dapat menyediakan izin AWS ke kontainer-kontainer di setiap pod 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. Instruksi di bagian itu memerlukan penggunaan`eksctl`. Untuk informasi selengkapnya, lihat [Memulai dengan Amazon Elastic Kubernetes Service](https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html) —. `eksctl` 

**catatan**  
Saat Anda tidak menggunakan EKS atau AWS dan hanya menggunakan kunci akses dan kunci rahasia untuk mengakses Layanan Terkelola Amazon untuk Prometheus, Anda tidak dapat menggunakan SigV4 berbasis. `EKS-IAM-ROLE`

## Langkah 4: Siapkan server baru dan mulai menelan metrik
<a name="AMP-onboard-ingest-metrics-new-Prometheus-Helm"></a>

Untuk menginstal server Prometheus baru yang mengirimkan metrik ke Layanan Terkelola Amazon untuk ruang kerja Prometheus, ikuti langkah-langkah berikut.

**Untuk menginstal server Prometheus baru untuk mengirim metrik ke Layanan Terkelola Amazon Anda untuk ruang kerja Prometheus**

1. Gunakan editor teks untuk membuat file bernama `my_prometheus_values_yaml` dengan konten berikut.
   + Ganti *IAM\$1PROXY\$1PROMETHEUS\$1ROLE\$1ARN* dengan ARN dari **amp-iamproxy-ingest-role**yang Anda buat. [Menyiapkan peran layanan untuk menelan metrik dari kluster Amazon EKS](set-up-irsa.md#set-up-irsa-ingest)
   + Ganti *WORKSPACE\$1ID* dengan ID Layanan Terkelola Amazon Anda untuk ruang kerja Prometheus.
   + Ganti *REGION* dengan Wilayah Layanan Terkelola Amazon Anda untuk ruang kerja Prometheus.

   ```
   ## 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. Masukkan perintah berikut untuk membuat server Prometheus.
   + Ganti *prometheus-chart-name* dengan nama rilis Prometheus Anda.
   + Ganti *prometheus-namespace* dengan nama namespace Prometheus Anda.

   ```
   helm install prometheus-chart-name prometheus-community/prometheus -n prometheus-namespace \
   -f my_prometheus_values_yaml
   ```
**catatan**  
Anda dapat menyesuaikan `helm install` perintah dengan banyak cara. Untuk informasi selengkapnya, lihat [Helm install](https://helm.sh/docs/helm/helm_install/) di dokumentasi *Helm*.

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

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

Layanan Terkelola Amazon untuk Prometheus mendukung pengambilan metrik dari server Prometheus di cluster Kubernetes yang dikelola sendiri yang berjalan di Fargate. Untuk menyerap metrik dari server Prometheus di kluster Amazon EKS yang berjalan di Fargate, ganti konfigurasi default dalam file konfigurasi bernama amp\$1ingest\$1override\$1values.yaml sebagai berikut:

```
prometheus-node-exporter:
        enabled: false
    
    alertmanager:
        enabled: false
    
    serviceAccounts:
      server:
        name: amp-iamproxy-ingest-service-account
        annotations: 
          eks.amazonaws.com/role-arn: ${IAM_PROXY_PROMETHEUS_ROLE_ARN}
    
    server:
      persistentVolume:
        enabled: false
      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
```

Instal Prometheus menggunakan penggantian dengan perintah berikut:

```
helm install prometheus-for-amp prometheus-community/prometheus \
                   -n prometheus \
                   -f amp_ingest_override_values.yaml
```

Perhatikan bahwa dalam konfigurasi bagan Helm kami menonaktifkan pengekspor node dan manajer peringatan serta menjalankan penyebaran server Prometheus.

Anda dapat memverifikasi penginstalan dengan contoh kueri pengujian berikut.

```
$ awscurl --region region --service aps "https://aps-workspaces.region_id.amazonaws.com/workspaces/workspace_id/api/v1/query?query=prometheus_api_remote_read_queries"
    {"status":"success","data":{"resultType":"vector","result":[{"metric":{"__name__":"prometheus_api_remote_read_queries","instance":"localhost:9090","job":"prometheus"},"value":[1648461236.419,"0"]}]}}21
```