

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

# Menggunakan data alokasi biaya terpisah dengan Amazon Managed Service untuk Prometheus
<a name="split-cost-allocation-data-resource-amp"></a>

Memisahkan data biaya untuk Amazon EKS mengharuskan Anda mengumpulkan dan menyimpan metrik dari cluster Anda, termasuk memori dan penggunaan CPU. Amazon Managed Service untuk Prometheus dapat digunakan untuk tujuan ini.

Setelah Anda memilih untuk membagi data alokasi biaya dan Layanan Terkelola Amazon untuk ruang kerja Prometheus mulai menerima dua metrik yang diperlukan (`container_cpu_usage_seconds_total`dan`container_memory_working_set_bytes`), data alokasi biaya terpisah mengenali metrik dan menggunakannya secara otomatis.

**catatan**  
Dua metrik yang diperlukan (`container_cpu_usage_seconds_total`dan`container_memory_working_set_bytes`) hadir dalam konfigurasi scrape Prometheus default dan konfigurasi default yang disediakan dengan kolektor terkelola. AWS Namun, jika Anda menyesuaikan konfigurasi ini, jangan memberi label ulang, memodifikasi, atau menghapus label berikut dari `container_memory_working_set_bytes` metrik `container_cpu_usage_seconds_total` dan:`name`,, `namespace` dan. `pod` Jika Anda memberi label ulang, memodifikasi, atau menghapus label ini, itu dapat memengaruhi konsumsi metrik Anda.

Anda dapat menggunakan Layanan Terkelola Amazon untuk Prometheus untuk mengumpulkan metrik EKS dari satu akun penggunaan, di satu Wilayah. Layanan Terkelola Amazon untuk ruang kerja Prometheus harus ada di akun dan Wilayah tersebut. Anda memerlukan satu Layanan Terkelola Amazon untuk instans Prometheus untuk setiap akun penggunaan dan Wilayah yang ingin Anda pantau biayanya. Anda dapat mengumpulkan metrik untuk beberapa klaster di Layanan Terkelola Amazon untuk ruang kerja Prometheus, selama mereka berada di akun penggunaan dan Wilayah yang sama.

Bagian berikut menjelaskan cara mengirim metrik yang benar dari kluster EKS Anda ke Amazon Managed Service untuk ruang kerja Prometheus.

## Prasyarat
<a name="prerequisites-prometheus"></a>

Sebagai prasyarat untuk menggunakan Amazon Managed Service untuk Prometheus dengan data alokasi biaya terpisah:
+ Anda perlu mengaktifkan data alokasi biaya terpisah di konsol AWS Billing and Cost Management. Untuk detailnya, lihat [Mengaktifkan data alokasi biaya terpisah](https://docs.aws.amazon.com/cur/latest/userguide/enabling-split-cost-allocation-data.html). Memilih untuk membagi data alokasi biaya akan membuat peran terkait layanan di setiap akun penggunaan untuk menanyakan Layanan Terkelola Amazon untuk Prometheus untuk metrik klaster Amazon EKS di akun tersebut. Untuk informasi selengkapnya, lihat [Service-linked peran untuk membagi data alokasi biaya](https://docs.aws.amazon.com/cost-management/latest/userguide/split-cost-allocation-data-SLR.html).
+ Anda memerlukan cluster EKS yang ingin Anda lacak data alokasi biaya terpisah. Ini bisa berupa cluster yang sudah ada, atau Anda dapat membuat yang baru. Untuk informasi selengkapnya, lihat [Membuat klaster Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html) di *Panduan Pengguna Amazon EKS*.
**catatan**  
Anda akan membutuhkan`EKS cluster ARN`,`security group IDs`, dan setidaknya dua `subnet IDs` (di zona ketersediaan yang berbeda) untuk digunakan dalam langkah selanjutnya.  
(opsional) Setel mode otentikasi kluster EKS Anda ke salah satu `API` atau`API_AND_CONFIG_MAP`.
+ Anda memerlukan Layanan Terkelola Amazon untuk instans Prometheus di akun dan Wilayah yang sama dengan cluster EKS Anda. Jika Anda belum memilikinya, Anda dapat membuatnya. Untuk informasi selengkapnya tentang membuat Layanan Terkelola Amazon untuk instance Prometheus, [lihat Membuat ruang kerja](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-onboard-create-workspace.html) di Panduan Pengguna Layanan *Terkelola Amazon* untuk Prometheus.
**catatan**  
Anda akan membutuhkan `Amazon Managed Service for Prometheus workspace ARN` untuk digunakan dalam langkah-langkah selanjutnya.

## Meneruskan metrik EKS ke Layanan Terkelola Amazon untuk Prometheus
<a name="forward-eks-metrics-prometheus"></a>

Setelah Anda memiliki kluster EKS dan Layanan Terkelola Amazon untuk instance Prometheus, Anda dapat meneruskan metrik dari cluster ke instance. Anda dapat mengirim metrik dengan dua cara.
+ [Opsi 1: Gunakan kolektor AWS terkelola.](https://docs.aws.amazon.com/cur/latest/userguide/split-cost-allocation-data-resource-amp.html#use-managed-collector) Ini adalah cara paling sederhana untuk mengirim metrik dari kluster EKS ke Amazon Managed Service untuk Prometheus. Namun, itu memang memiliki batas hanya menggores metrik setiap 30 detik paling banyak.
+ [Opsi 2: Buat agen Prometheus Anda sendiri.](https://docs.aws.amazon.com/cur/latest/userguide/split-cost-allocation-data-resource-amp.html#create-prometheus-agent) Dalam hal ini, Anda memiliki kontrol lebih besar atas konfigurasi pengikisan, tetapi Anda harus mengelola agen setelah membuatnya.

### Opsi 1: Menggunakan AWS kolektor terkelola
<a name="use-managed-collector"></a>

Menggunakan kolektor AWS terkelola (*scraper*) adalah cara paling sederhana untuk mengirim metrik dari kluster EKS ke Layanan Terkelola Amazon untuk instance Prometheus. Prosedur berikut akan membantu Anda membuat kolektor AWS terkelola. Untuk informasi selengkapnya, lihat [pengumpul AWS terkelola](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector.html) di *Amazon Managed Service for Prometheus* User Guide.

**catatan**  
AWS kolektor yang dikelola memiliki interval goresan minimum 30 detik. Jika Anda memiliki pod berumur pendek, rekomendasinya adalah mengatur interval scraper Anda menjadi 15 detik. Untuk menggunakan interval scraper 15 detik, gunakan opsi 2 untuk [membuat agen Prometheus Anda sendiri](https://docs.aws.amazon.com/cur/latest/userguide/split-cost-allocation-data-resource-amp.html#create-prometheus-agent).

Ada tiga langkah untuk membuat kolektor AWS terkelola:

1. Buat konfigurasi scraper.

1. Buat scraper.

1. Konfigurasikan cluster EKS Anda untuk memungkinkan scraper mengakses metrik.

*Langkah 1: Buat konfigurasi scraper*

Untuk membuat scraper, Anda harus memiliki konfigurasi scraper. Anda dapat menggunakan konfigurasi default, atau membuat sendiri. Berikut ini adalah tiga cara untuk mendapatkan konfigurasi scraper:
+ Dapatkan konfigurasi default menggunakan AWS CLI, dengan memanggil:

  ```
  aws amp get-default-scraper-configuration
  ```
+ Buat konfigurasi Anda sendiri. Untuk detailnya, lihat petunjuk [konfigurasi Scraper](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-configuration) di *Amazon Managed Service for Prometheus* User Guide.
+ Salin konfigurasi sampel yang disediakan dalam instruksi [konfigurasi Scraper](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-configuration) yang sama di *Amazon Managed Service for Prometheus* User Guide.

Anda dapat mengedit konfigurasi scraper, untuk memodifikasi interval scrape atau untuk memfilter metrik yang tergores, misalnya.

Untuk memfilter metrik yang dikikis agar hanya menyertakan dua yang diperlukan untuk membagi data alokasi biaya, gunakan konfigurasi scraper berikut:

```
global:
   scrape_interval: 30s
   #external_labels:
     #clusterArn: <REPLACE_ME>
scrape_configs:
  - job_name: kubernetes-nodes-cadvisor
    scrape_interval: 30s
    scrape_timeout: 10s
    scheme: https
    authorization:
      type: Bearer
      credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
    kubernetes_sd_configs:
    - role: node
    relabel_configs:
    - regex: (.+)
      replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
      source_labels:
      - __meta_kubernetes_node_name
      target_label: __metrics_path__
    - replacement: kubernetes.default.svc:443
      target_label: __address__
    metric_relabel_configs:
    - source_labels: [__name__]
      regex: 'container_cpu_usage_seconds_total|container_memory_working_set_bytes'
      action: keep
```

*Setelah Anda memiliki konfigurasi scraper, Anda harus mengkodekannya base64 untuk digunakan pada langkah 2.* Konfigurasi adalah file teks YAMM. Untuk menyandikan file, gunakan situs web seperti [https://www.base64encode.org/](https://www.base64encode.org/).

*Langkah 2: Buat scraper*

Sekarang setelah Anda memiliki file konfigurasi, Anda perlu membuat scraper Anda. Buat scraper menggunakan perintah AWS CLI berikut, berdasarkan variabel yang diuraikan di bagian prasyarat. Anda harus menggunakan informasi dari kluster EKS untuk{{<EKS-CLUSTER-ARN>}},{{<SG-SECURITY-GROUP-ID>}}, dan {{<SUBNET-ID>}} bidang, ganti {{<BASE64-CONFIGURATION-BLOB>}} dengan konfigurasi scraper yang Anda buat pada langkah sebelumnya, dan ganti {{<AMP\_WORKSPACE\_ARN>}} dengan Layanan Terkelola Amazon untuk ARN ruang kerja Prometheus.

```
aws amp create-scraper \ 
--source eksConfiguration="{clusterArn={{<EKS-CLUSTER-ARN>}},securityGroupIds=[{{<SG-SECURITY-GROUP-ID>}}],subnetIds=[{{<SUBNET-ID>}}]}" \ 
--scrape-configuration configurationBlob={{<BASE64-CONFIGURATION-BLOB>}} \ 
--destination ampConfiguration={workspaceArn="{{<AMP_WORKSPACE_ARN>}}"}
```

Catat `scraperId` yang dikembalikan untuk digunakan pada *langkah 3*.

*Langkah 3: Konfigurasikan cluster EKS Anda untuk memungkinkan scraper mengakses metrik*

Jika mode otentikasi kluster EKS Anda disetel ke salah satu `API` atau`API_AND_CONFIG_MAP`, maka scraper Anda akan secara otomatis memiliki kebijakan akses dalam cluster yang benar, dan pencakar akan memiliki akses ke cluster Anda. Tidak diperlukan konfigurasi lebih lanjut, dan metrik harus mengalir ke Amazon Managed Service untuk Prometheus.

Jika mode otentikasi kluster EKS Anda tidak disetel ke `API` atau`API_AND_CONFIG_MAP`, Anda perlu mengonfigurasi cluster secara manual untuk memungkinkan scraper mengakses metrik Anda melalui dan. ClusterRole ClusterRoleBinding Untuk mempelajari cara mengaktifkan izin ini, lihat [Mengkonfigurasi kluster EKS secara manual untuk akses scraper di Amazon Managed Service for](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-collector-how-to.html#AMP-collector-eks-setup) *Prometheus* User Guide.

Setelah scraper aktif, verifikasi bahwa kedua metrik (`container_cpu_usage_seconds_total`dan`container_memory_working_set_bytes`) didorong ke Layanan Terkelola Amazon Anda untuk ruang kerja Prometheus.

```
awscurl --service="aps" --region="<REGION>" "https://aps-workspaces.<REGION>.amazonaws.com/workspaces/<WorkSpace_ID>/api/v1/label/__name__/values"
```

Output:

```
{
"status": "success",
"data": [
"container_cpu_usage_seconds_total",
"container_memory_working_set_bytes",
"scrape_duration_seconds",
"scrape_samples_post_metric_relabeling",
"scrape_samples_scraped",
"scrape_series_added",
"up"
]
}
```

### Opsi 2: Membuat agen Prometheus Anda sendiri
<a name="create-prometheus-agent"></a>

Jika Anda tidak dapat menggunakan kolektor AWS terkelola, atau sudah memiliki server Prometheus sendiri, Anda dapat menggunakan instance Prometheus Anda sendiri sebagai agen untuk mengikis metrik dari kluster EKS Anda dan mengirimkannya ke Amazon Managed Service untuk Prometheus.

*Untuk petunjuk terperinci tentang cara menggunakan instans Prometheus Anda sendiri sebagai agen, lihat [Menggunakan instance Prometheus sebagai kolektor di Amazon Managed Service for Prometheus User Guide](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-ingest-with-prometheus.html).*

Berikut ini adalah contoh konfigurasi scrape Prometheus yang mencakup interval pengikisan server Prometheus dan metrik wadah yang diperlukan untuk membagi data alokasi biaya. Jika Anda memiliki pod yang berumur pendek, rekomendasinya adalah menurunkan interval pengikisan server Prometheus default dari 30 detik menjadi 15 detik. Perhatikan bahwa ini dapat mengakibatkan penggunaan memori server Prometheus yang tinggi.

```
global:
   scrape_interval: 30s
   #external_labels:
     #clusterArn: <REPLACE_ME>
scrape_configs:
  - job_name: kubernetes-nodes-cadvisor
    scrape_interval: 30s
    scrape_timeout: 10s
    scheme: https
    authorization:
      type: Bearer
      credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
    kubernetes_sd_configs:
    - role: node
    relabel_configs:
    - regex: (.+)
      replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
      source_labels:
      - __meta_kubernetes_node_name
      target_label: __metrics_path__
    - replacement: kubernetes.default.svc:443
      target_label: __address__
    metric_relabel_configs:
    - source_labels: [__name__]
      regex: 'container_cpu_usage_seconds_total|container_memory_working_set_bytes'
      action: keep
```

Jika Anda mengikuti [Mengatur konsumsi dari server Prometheus baru menggunakan Helm di dalam Amazon *Managed Service for Prometheus*](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-onboard-ingest-metrics-new-Prometheus.html) User Guide, maka Anda dapat memperbarui konfigurasi scrape Anda.

**Untuk memperbarui konfigurasi scrape Anda**

1. Edit `my_prometheus_values_yaml` dari panduan dan sertakan konfigurasi scrape sampel di blok. `server`

1. Jalankan perintah berikut, menggunakan `prometheus-chart-name` dan `prometheus-namespace` dari *Amazon Managed Service for Prometheus User Guide*.

```
helm upgrade prometheus-chart-name prometheus-community/prometheus -n prometheus-namespace -f my_prometheus_values_yaml
```

[Untuk mempelajari lebih lanjut tentang `scrape_interval` atau cara menggunakan scrape\_interval non-global, lihat konfigurasi scrape Prometheus.](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config)

Atau, Anda dapat menggunakan AWS Distro untuk OpenTelemetry kolektor yang memiliki Penerima Prometheus, Eksportir Tulis Jarak Jauh Prometheus, dan AWS Ekstensi Otentikasi Sigv4 untuk mencapai akses tulis jarak jauh ke Amazon Managed Service untuk Prometheus.

**catatan**  
Setelah Anda mengatur agen Prometheus Anda, AWS tidak seperti kolektor terkelola, Anda bertanggung jawab untuk menjaga agen tetap up to date dan berjalan untuk mengumpulkan metrik.

## Memperkirakan Layanan Terkelola Amazon Anda untuk biaya Prometheus
<a name="estimate-prometheus-costs"></a>

Anda dapat menggunakan Kalkulator AWS Harga untuk memperkirakan biaya penggunaan Amazon Managed Service untuk Prometheus untuk data alokasi biaya terpisah.

**Untuk mengonfigurasi Amazon Managed Service untuk Prometheus untuk perkiraan Anda**

1. Kalkulator AWS Harga Terbuka di [https://calculator.aws/\#/](https://calculator.aws/#/).

1. Pilih **Buat estimasi**.

1. **Pada halaman **Tambah layanan**, masukkan **Amazon Managed Service untuk Prometheus** di kolom pencarian, lalu pilih Configure.**

1. Di bidang **Deskripsi**, masukkan deskripsi untuk perkiraan Anda.

1. Pilih **Wilayah**.

1. Pilih **Hitung biaya menggunakan detail infrastruktur Anda**. Opsi ini memungkinkan Anda memperkirakan biaya konsumsi, penyimpanan, dan kueri sampel berdasarkan penyiapan infrastruktur saat ini atau yang diusulkan.

1. Untuk **Jumlah instans EC2**, masukkan jumlah instans EC2 di semua klaster untuk seluruh keluarga penagihan gabungan Anda (termasuk semua akun dan Wilayah). Jika Anda menggunakan AWS Fargate, gunakan jumlah tugas Fargate sebagai proxy untuk jumlah instans EC2 Anda.

1. Data alokasi biaya terpisah membutuhkan dua metrik: `container_cpu_usage_seconds_total` dan. `container_memory_working_set_bytes` Untuk **metrik Prometheus per instans EC2**, masukkan 2.

1. Data alokasi biaya terpisah menunjukkan interval gesekan 15 detik. Untuk **interval pengumpulan Metrik (dalam detik)**, masukkan 15. Jika Anda menggunakan interval yang berbeda (misalnya, 30 detik), ubah ini ke interval yang Anda atur.

1. Data alokasi biaya terpisah tidak memaksakan persyaratan khusus apa pun untuk parameter lain, jadi masukkan nilai yang sesuai untuk parameter input lainnya sesuai kebutuhan bisnis Anda.

1. Pilih **Simpan dan tambahkan layanan**.