scraping metrics nginx prometheus
Sebelumnya kita sudah belajar:
Pertanyaannya sekarang, bagaimana cara scraping / mengumpulkan metrics nginx exporter tersebut pada aplikasi prometheus?
Caranya cukup mudah, kita tinggal melakukan konfigurasi pada file prometheus.yaml pada aplikasi prometheus, lalu restart prometheus.
Prerequisites
- Nginx exporter menggunakan IP 10.0.20.200:9113
- Prometheus berada diserver terpisah dari nginx exporter (10.0.20.122)
- Pastikan server prometheus sudah bisa connect ke port 9113 milik server nginx exporter
Konfigurasi prometheus.yaml
Pada tutorial sebelumnya, Cara install prometheus di instance EC2 AWS kita sudah menginstall prometheus pada folder /home/ubuntu/prometheus/prometheus-2.36.1.linux-amd64
. Didalam folder tersebut terdapat file prometheus.yaml.
Tambahkan konfigurasi berikut pada file prometheus.yaml
scrape_configs:
- job_name: "nginx_exporter"
scrape_interval: "10s"
scrape_timeout: "10s"
metrics_path: "/metrics"
static_configs:
- targets: ["10.0.20.200:9113"]
Penjelasan:
job_name: nginx_exporter
, kita beri nama job scrapenya dengan nama nginx_exporter. Job ini nantinya akan muncul di dashboard prometheusscrape_interval: "10s"
, tiap 10 detik prometheus akan menghit IP target (http://10.0.20.200:9113) untuk meng-scrape / mengumpulkan metrics.scrape_timeout: "10s"
, timeout 10 detik jika IP target 10.0.20.200:9113 tidak meresponsemetrics_path: "/metrics"
, Prometheus akan mengakses path /metrics. Lengkapnya http://10.0.20.200:9113/metricsstatic_configs:
, konfigurasi statis untuk mengeset target IP metrics yang akan discrapetargets: ["10.0.20.200:9113"]
, target IP metricsnya. Dalam bentuk array, artinya target bisa lebih dari 1 IP. Namun disini kita hanya set 1 IP saja.
Restart Prometheus
Setelah mengkonfigurasi file prometheus.yaml. Restart prometheus agar konfigurasi tersebut bisa berjalan:
systemctl restart prometheus.service
Cek job nginx_exporter di dahsboard prometheus
Sekarang kita bisa cek job nginx_exporter di dashboard prometheus.
Caranya buka link prometheus di browser:
http://10.0.20.122:9090/targets
- Jika sudah berhasil connect, maka Statenya akan
UP
berwarna hijau. Last Scrape
artinya kapan terkahir prometheus melakukan hit ke IP 10.0.20.200:9113 untuk mengambil data metrics.Scrape Duration
artinya total waktu yang dibutuhkan oleh prometheus untuk menscrape data metrics dari IP 10.0.2.200:9113.
Menampilkan data metrics dalam bentuk grafik di prometheus
Data metrics yang sudah discrape / dikumpulkan oleh prometheus bisa kita tampilkan dalam bentuk grafik.
Caranya buka dashboard prometheus
http://10.0.20.122:9090/graph
Klik Open metrics explorer pada sebelah kanan
Cari metric berikut, lalu klik tombol Execute
nginx_connections_active
Klik tab Graph, maka akan menampilkan grafik koneksi nginx yang sedang aktif
Mengatasi Kendala
Jika job nginx_exporter statenya DOWN
, pastikan prometheus bisa mengakses IP nginx exporter 10.0.20.200:9113. Pastikan port 9113 sudah diallow di firewall / inbound rule (saya menggunakan EC2 instance – AWS disini)
Contoh diatas port 9113 diallow untuk range IP 10.0.0.0/16 dalam 1 VPC / network.
—
Demikian tutorial Cara scraping metrics nginx exporter pada prometheus di ubuntu 22.04.
Semoga bermanfaat!