Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengatur konsumsi metrik dari EC2 instans Amazon menggunakan penulisan jarak jauh
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
penting
Sebelum Anda mulai, Anda harus menginstal Prometheus v2.26 atau yang lebih baru. Kami berasumsi bahwa Anda terbiasa dengan Prometheus, Amazon, dan Layanan Terkelola EC2 Amazon untuk Prometheus. Untuk informasi tentang cara menginstal Prometheus, lihat Memulai
Jika Anda tidak terbiasa dengan Amazon EC2 atau Amazon Managed Service untuk Prometheus, kami sarankan Anda memulai dengan membaca bagian berikut:
Buat IAM peran untuk Amazon EC2
Untuk mengalirkan metrik, Anda harus terlebih dahulu membuat IAM peran dengan kebijakan AWS AmazonPrometheusRemoteWriteAccessterkelola. Kemudian, Anda dapat meluncurkan instance dengan metrik peran dan streaming ke ruang kerja Amazon Managed Service for Prometheus.
-
Buka IAM konsol di https://console.aws.amazon.com/iam/
. -
Dari panel navigasi, pilih Peran, lalu pilih Buat peran.
-
Untuk jenis entitas tepercaya, pilih AWS layanan. Untuk kasus penggunaan, pilih EC2. Pilih Berikutnya: Izin.
-
Di bilah pencarian, masukkan AmazonPrometheusRemoteWriteAccess. Untuk nama Kebijakan, pilih AmazonPrometheusRemoteWriteAccess, lalu pilih Lampirkan kebijakan. Pilih Selanjutnya: Tag.
-
(Opsional) Buat IAM tag untuk IAM peran Anda. Pilih Berikutnya: Tinjau.
-
Masukkan nama untuk peran Anda. Pilih Buat kebijakan.
Luncurkan EC2 instans Amazon
Untuk meluncurkan EC2 instans Amazon, ikuti petunjuk di Luncurkan instance di Panduan Pengguna Amazon Elastic Compute Cloud untuk Instans Linux.
Jalankan aplikasi demo
Setelah membuat IAM peran Anda, dan meluncurkan EC2 instance dengan peran tersebut, Anda dapat menjalankan aplikasi demo untuk melihatnya berfungsi.
Untuk menjalankan aplikasi demo dan menguji metrik
-
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) }
-
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
-
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
Jalankan server Prometheus
-
Gunakan contoh YAML file berikut sebagai template untuk membuat file baru bernama
prometheus.yaml
. Untukurl
, gantimy-region
dengan nilai Wilayah Anda danmy-workspace-id
dengan ID ruang kerja yang dihasilkan Amazon Managed Service untuk Prometheus untuk Anda. Untukregion
, gantimy-region
dengan nilai Wilayah Anda.Contoh: YAML berkas
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
-
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.