

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

# Mengatur konsumsi metrik dari instans Amazon EC2 menggunakan penulisan jarak jauh
<a name="AMP-onboard-ingest-metrics-remote-write-EC2"></a>

Bagian ini menjelaskan cara menjalankan server Prometheus dengan penulisan jarak jauh di instance Amazon Elastic Compute Cloud (Amazon EC2). Ini menjelaskan cara mengumpulkan metrik dari aplikasi demo yang ditulis dalam Go dan mengirimkannya ke Layanan Terkelola Amazon untuk ruang kerja Prometheus.

## Prasyarat
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-prereq"></a>

**penting**  
Sebelum Anda mulai, Anda harus menginstal Prometheus v2.26 atau yang lebih baru. Kami berasumsi bahwa Anda sudah familiar dengan Prometheus, Amazon EC2, dan Amazon Managed Service untuk Prometheus. Untuk informasi tentang cara menginstal Prometheus, lihat [Memulai](https://prometheus.io/docs/prometheus/latest/getting_started/) di situs web Prometheus.

Jika Anda tidak terbiasa dengan Amazon EC2 atau Amazon Managed Service untuk Prometheus, kami sarankan Anda memulai dengan membaca bagian berikut:
+ [Apa itu Amazon Elastic Compute Cloud?](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html)
+ [Apa itu Amazon Managed Service for Prometheus?](https://docs.aws.amazon.com/prometheus/latest/userguide/what-is-Amazon-Managed-Service-Prometheus.html)

## Buat peran IAM untuk Amazon EC2
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-IAM"></a>

Untuk mengalirkan metrik, Anda harus terlebih dahulu membuat peran IAM dengan kebijakan AWS terkelola. **AmazonPrometheusRemoteWriteAccess** Kemudian, Anda dapat meluncurkan instance dengan metrik peran dan streaming ke ruang kerja Amazon Managed Service for Prometheus.

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

1. Dari panel navigasi, pilih **Peran**, lalu pilih **Buat peran**.

1. Untuk jenis entitas tepercaya, pilih **AWS layanan**. Untuk kasus penggunaan, pilih **EC2**. Pilih **Berikutnya: Izin**.

1. Di bilah pencarian, masukkan **AmazonPrometheusRemoteWriteAccess**. Untuk **nama Kebijakan**, pilih **AmazonPrometheusRemoteWriteAccess**, lalu pilih **Lampirkan kebijakan**. Pilih **Selanjutnya: Tag**.

1. (Opsional) Buat tag IAM untuk peran IAM Anda. Pilih **Berikutnya: Tinjauan**.

1. Masukkan nama untuk peran Anda. Pilih **Buat kebijakan**.

## Luncurkan instans Amazon EC2
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-instance"></a>

Untuk meluncurkan instans Amazon EC2, ikuti petunjuk di [Luncurkan instans](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#launch-instance-with-role) di *Panduan Pengguna Amazon Elastic Compute Cloud untuk* Instans Linux.

## Jalankan aplikasi demo
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-demo"></a>

Setelah membuat peran IAM Anda, dan meluncurkan instans EC2 dengan peran tersebut, Anda dapat menjalankan aplikasi demo untuk melihatnya berfungsi.

**Untuk menjalankan aplikasi demo dan menguji metrik**

1. Gunakan template berikut untuk membuat file Go bernama`main.go`.

   ```
   package main
   
   import (
       "github.com/prometheus/client_golang/prometheus/promhttp"
       "net/http"
   )
   
   func main() {
       http.Handle("/metrics", promhttp.Handler())
   
       http.ListenAndServe(":8000", nil)
   }
   ```

1. Jalankan perintah berikut untuk menginstal dependensi yang benar.

   ```
   sudo yum update -y
   sudo yum install -y golang
   go get github.com/prometheus/client_golang/prometheus/promhttp
   ```

1. Jalankan aplikasi demo.

   ```
   go run main.go
   ```

   Aplikasi demo harus berjalan di port 8000 dan menampilkan semua metrik Prometheus yang terbuka. Berikut ini adalah contoh metrik ini.

   ```
   curl -s http://localhost:8000/metrics 
   ...
   process_max_fds 4096# HELP process_open_fds Number of open file descriptors.# TYPE process_open_fds gauge
   process_open_fds 10# HELP process_resident_memory_bytes Resident memory size in bytes.# TYPE process_resident_memory_bytes gauge
   process_resident_memory_bytes 1.0657792e+07# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.# TYPE process_start_time_seconds gauge
   process_start_time_seconds 1.61131955899e+09# HELP process_virtual_memory_bytes Virtual memory size in bytes.# TYPE process_virtual_memory_bytes gauge
   process_virtual_memory_bytes 7.77281536e+08# HELP process_virtual_memory_max_bytes Maximum amount of virtual memory available in bytes.# TYPE process_virtual_memory_max_bytes gauge
   process_virtual_memory_max_bytes -1# HELP promhttp_metric_handler_requests_in_flight Current number of scrapes being served.# TYPE promhttp_metric_handler_requests_in_flight gauge
   promhttp_metric_handler_requests_in_flight 1# HELP promhttp_metric_handler_requests_total Total number of scrapes by HTTP status code.# TYPE promhttp_metric_handler_requests_total counter
   promhttp_metric_handler_requests_total{code="200"} 1
   promhttp_metric_handler_requests_total{code="500"} 0
   promhttp_metric_handler_requests_total{code="503"} 0
   ```

## Buat Layanan Terkelola Amazon untuk ruang kerja Prometheus
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-workspace"></a>

[Untuk membuat Amazon Managed Service untuk ruang kerja Prometheus, ikuti petunjuk di Buat ruang kerja.](AMP-create-workspace.md)

## Jalankan server Prometheus
<a name="AMP-onboard-ingest-metrics-remote-write-EC2-server"></a>

1. Gunakan contoh berikut file YAMAL sebagai template untuk membuat file baru bernama`prometheus.yaml`. Untuk`url`, ganti {{my-region}} dengan nilai Wilayah Anda dan {{my-workspace-id}} dengan ID ruang kerja yang dihasilkan Amazon Managed Service untuk Prometheus untuk Anda. Untuk`region`, ganti {{my-region}} dengan nilai Wilayah Anda.

   **Contoh: file YAMM**

   ```
   global:
     scrape_interval: 15s
     external_labels:
       monitor: 'prometheus'
   
   scrape_configs:
     - job_name: 'prometheus'
       static_configs:
         - targets: ['localhost:8000']
   
   remote_write:
     -
       url: https://aps-workspaces.{{my-region}}.amazonaws.com/workspaces/{{my-workspace-id}}/api/v1/remote_write
       queue_config:
           max_samples_per_send: 1000
           max_shards: 200
           capacity: 2500
       sigv4:
            region: {{my-region}}
   ```

1. Jalankan server Prometheus untuk mengirim metrik aplikasi demo ke Layanan Terkelola Amazon Anda untuk ruang kerja Prometheus.

   ```
   prometheus --config.file=prometheus.yaml
   ```

Server Prometheus sekarang harus mengirim metrik aplikasi demo ke Layanan Terkelola Amazon Anda untuk ruang kerja Prometheus.