Skip to main content
Kombinasi Prometheus & Grafana adalah standar industri nomor satu di dunia open-source untuk pemantauan metrik infrastruktur, kontainer Docker, dan kluster Kubernetes.

1. Arsitektur Prometheus

Prometheus adalah sistem pemantauan dan basis data deret waktu (Time-Series Database - TSDB) yang dirancang khusus untuk metrik numerik.

Mengapa Prometheus Menggunakan Model “Pull”, Bukan “Push”?

Mayoritas sistem monitoring lama menggunakan agen yang “mendorong” (push) data ke server pusat. Prometheus secara unik menggunakan model PULL (Tarik Data):
  1. Target Menyediakan Endpoint: Aplikasi atau server target hanya bertugas membuka port HTTP dan menyajikan data metrik dalam format teks biasa di endpoint /metrics.
  2. Prometheus Menarik Data Secara Terjadwal: Prometheus server mendatangi (scrape) target setiap 15 detik sekali via HTTP GET.
  3. Keuntungan:
    • Server target tidak akan membebani server monitoring saat terjadi lonjakan trafik (overwhelming).
    • Prometheus dapat langsung mendeteksi jika sebuah target mati (jika scrape HTTP gagal, target otomatis ditandai down).
    • Kemudahan pengujian: kamu bisa membuka URL http://target-ip:9100/metrics di browser untuk membaca metrik secara langsung tanpa software khusus!

2. 4 Jenis Tipe Data Metrik di Prometheus

  1. Counter: Nilai angka yang hanya bisa naik atau di-reset ke 0 saat server restart (contoh: total jumlah pengunjung, total jumlah error HTTP, total byte jaringan terkirim).
  2. Gauge: Nilai angka yang bisa naik dan turun secara bebas sewaktu-waktu (contoh: persentase penggunaan CPU, suhu prosesor, pemakaian RAM, sisa kapasitas harddisk).
  3. Histogram: Menghitung jumlah sampel dan mengelompokkannya ke dalam rentang keranjang (buckets) tertentu (contoh: menghitung latensi request HTTP di bawah 100ms, 500ms, 1000ms).
  4. Summary: Mirip dengan histogram, namun langsung menghitung persentil dinamis di sisi klien (contoh: latensi p50, p90, p99).

3. Format Data Metrik Prometheus

Setiap baris metrik memiliki struktur label key-value yang sangat kaya:

4. Panduan Lengkap Bahasa Kueri PromQL (Prometheus Query Language)

PromQL adalah bahasa kueri yang sangat kuat untuk memfilter, memotong, dan menghitung statistik metrik:

1. Seleksi dan Filter Label

2. Rentang Waktu (Range Vector) & Fungsi rate()

Karena Counter nilainya selalu naik, melihat angka mentah http_requests_total tidak berguna (hanya menunjukkan total sejak server nyala). Kita ingin tahu kecepatan request per detik dalam 5 menit terakhir:

3. Menghitung Persentase Utilisasi CPU Server:

4. Menghitung Persentase Pemakaian RAM Server:

5. Menghitung Sisa Kapasitas Harddisk (Disk Space):


5. Hands-On: Setup Prometheus + Node Exporter + Grafana (Docker Compose)

Kita akan menyalakan ekosistem monitoring lengkap dalam 1 berkas docker-compose.yml.

1. Buat Berkas Konfigurasi prometheus.yml:

2. Buat Berkas docker-compose.yml:

3. Menjalankan Kluster Monitoring

Verifikasi bahwa ketiga container berjalan:

6. Visualisasi Grafana: Menghubungkan & Mengimpor Dasbor

Grafana adalah lapisan presentasi visual yang mengubah baris PromQL menjadi grafik, gauge, heatmap, dan tabel yang indah.

Langkah 1: Login ke Grafana

  1. Buka peramban ke http://ip-server-kamu:3000.
  2. Masukkan Username: admin dan Password: adminrahasia.

Langkah 2: Menambahkan Prometheus sebagai Data Source

  1. Klik menu Connections →\to pilih Data sources.
  2. Klik tombol Add data source →\to pilih Prometheus.
  3. Pada kolom Prometheus server URL, isi: http://prometheus:9090 (menggunakan nama DNS service docker compose).
  4. Gulir ke bawah dan klik tombol hijau Save & test. (Akan muncul pesan “Successfully queried the Prometheus API”).

Langkah 3: Mengimpor Dasbor Profesional Komunitas (ID: 1860)

Kamu tidak perlu merancang ratusan panel grafik CPU, RAM, Disk, dan Network dari nol. Komunitas Grafana menyediakan ribuan template dasbor siap pakai:
  1. Di menu sidebar Grafana, klik Dashboards →\to klik tombol New →\to pilih Import.
  2. Pada kolom Import via grafana.com, masukkan ID template populer: 1860 (Node Exporter Full Dashboard).
  3. Klik tombol Load.
  4. Pada pilihan sumber data Prometheus, pilih koneksi Prometheus yang tadi dibuat.
  5. Klik Import.
Hasil: Kamu langsung disajikan dasbor kelas dunia yang menampilkan CPU usage per core, saturasi RAM, I/O disk harddisk, suhu server, hingga grafik lalu lintas bandwidth jaringan secara real-time!
Last modified on October 26, 2026