Cara Pasang Node Exporter dan Prometheus di VPS
Panduan memasang Prometheus dan Node Exporter di VPS Ubuntu 24.04, mengamankan portnya, dan membaca metrik CPU, RAM, serta disk lewat PromQL.
Jawaban singkat
Node Exporter membaca metrik server seperti CPU, RAM, dan disk lalu menyajikannya di port 9100. Prometheus mengambil metrik itu berkala dan menyimpannya. Di Ubuntu 24.04 keduanya tersedia di repositori resmi, jadi pemasangan cukup lewat apt lalu diamankan dengan firewall.
Daftar isi
- Apa yang perlu disiapkan sebelum mulai?
- Bagaimana langkah pemasangannya?
- 1. Perbarui paket dan pasang keduanya
- 2. Pastikan service berjalan
- 3. Periksa target di konfigurasi Prometheus
- 4. Buka antarmuka Prometheus dengan aman
- 5. Tutup port dari luar
- 6. Coba beberapa query PromQL
- 7. Atur masa simpan data
- Apa langkah lanjutan setelah metrik masuk?
- Pertanyaan yang sering diajukan
Ingin tahu kenapa server terasa lambat tiap jam tertentu, atau kapan disk akan penuh, tanpa harus login dan mengetik top setiap kali? Kamu butuh data yang tercatat terus-menerus. Kombinasi Prometheus dan Node Exporter adalah cara standar di dunia open source untuk mendapatkannya.
Pembagian tugasnya jelas. Node Exporter adalah agen kecil yang membaca kondisi server (CPU, memori, disk, jaringan) dan menampilkannya sebagai teks di port 9100. Prometheus adalah server yang datang berkala untuk mengambil (scrape) data itu, menyimpannya sebagai deret waktu, dan menyediakan bahasa query bernama PromQL. Panduan ini memakai Ubuntu 24.04 karena keduanya tersedia di repositori resminya.
Apa yang perlu disiapkan sebelum mulai?
Siapkan VPS Ubuntu 24.04 dengan akses user ber-sudo, firewall yang sudah aktif, dan sedikit ruang disk kosong untuk data Prometheus. Tentukan juga di mana Prometheus akan berjalan. Untuk satu server, memasang keduanya di VPS yang sama sudah cukup. Untuk beberapa server, lebih rapi bila Prometheus berada di satu VPS khusus pemantauan, sedangkan setiap server lain hanya menjalankan Node Exporter. Dengan begitu, kalau server aplikasi bermasalah, data pemantauannya tetap bisa dibuka.
Bagaimana langkah pemasangannya?
1. Perbarui paket dan pasang keduanya
sudo apt update
sudo apt install prometheus prometheus-node-exporter
Paket ini otomatis membuat user sistem, service systemd, dan file konfigurasi di /etc/prometheus/. Versi dari repositori Ubuntu biasanya tertinggal dari rilis terbaru di situs Prometheus, tapi sudah cukup untuk memantau satu atau beberapa VPS. Bila butuh versi terbaru atau memakai distro lain, unduh binary resmi dari prometheus.io lalu buat service systemd sendiri.
2. Pastikan service berjalan
systemctl status prometheus prometheus-node-exporter
curl -s http://localhost:9100/metrics | head
Perintah curl akan menampilkan baris-baris seperti node_cpu_seconds_total dan node_memory_MemAvailable_bytes. Itulah metrik mentah yang dibaca Prometheus.
3. Periksa target di konfigurasi Prometheus
Buka /etc/prometheus/prometheus.yml dan pastikan ada job yang mengarah ke Node Exporter. Bila belum ada, tambahkan di bawah scrape_configs:
scrape_configs:
- job_name: node
static_configs:
- targets: ['localhost:9100']
Perhatikan indentasi, karena YAML sensitif terhadap spasi. Validasi lalu muat ulang:
promtool check config /etc/prometheus/prometheus.yml
sudo systemctl reload prometheus
4. Buka antarmuka Prometheus dengan aman
Prometheus mendengarkan di port 9090 dan, secara bawaan, tidak memakai login. Jangan membukanya ke internet. Cara paling sederhana adalah tunnel SSH dari laptopmu:
ssh -L 9090:localhost:9090 user@ip-vps
Lalu buka http://localhost:9090 di browser. Di menu Status > Targets, job node harus berstatus UP.
5. Tutup port dari luar
Dengan UFW, cukup pastikan port 9090 dan 9100 tidak diizinkan dari publik. Bila Prometheus berada di server lain dan perlu mengambil data dari VPS ini, izinkan port 9100 hanya dari IP server Prometheus:
sudo ufw allow from 203.0.113.10 to any port 9100 proto tcp
Ganti 203.0.113.10 dengan IP server Prometheus milikmu. Dasar-dasar firewall lain ada di langkah awal mengamankan VPS baru.
6. Coba beberapa query PromQL
Masukkan query ini di tab Graph atau Query:
| Yang ingin dilihat | Query PromQL |
|---|---|
| Target hidup atau mati | up |
| Pemakaian CPU (persen) | 100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) |
| Memori yang masih tersedia (persen) | node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 |
| Sisa ruang disk (persen) | node_filesystem_avail_bytes{fstype!="tmpfs"} / node_filesystem_size_bytes * 100 |
| Load average 5 menit | node_load5 |
Fungsi rate() menghitung laju kenaikan per detik dari sebuah counter. Karena node_cpu_seconds_total terus bertambah, kita mengambil laju waktu idle lalu mengurangkannya dari 100 untuk mendapat persentase CPU yang terpakai.
7. Atur masa simpan data
Secara bawaan, Prometheus menyimpan data selama 15 hari. Untuk mengubahnya di paket Ubuntu, tambahkan argumen di /etc/default/prometheus:
ARGS="--storage.tsdb.retention.time=30d"
Restart service setelahnya. Semakin lama data disimpan, semakin besar ruang disk yang dipakai di /var/lib/prometheus, jadi pantau juga folder itu.
Apa langkah lanjutan setelah metrik masuk?
Prometheus menyimpan data dan bisa membuat grafik sederhana, tapi untuk dasbor yang nyaman dilihat, kebanyakan orang memasang Grafana dan menambahkan Prometheus sebagai sumber data. Komunitas Grafana sudah menyediakan banyak dasbor siap pakai untuk Node Exporter yang bisa diimpor.
Untuk notifikasi, Prometheus memakai aturan alert dan komponen terpisah bernama Alertmanager yang bisa mengirim pesan ke email, Slack, atau webhook. Contoh aturan yang berguna sejak awal: disk tersisa di bawah 10 persen, target up bernilai 0 lebih dari beberapa menit, atau memori tersedia terus menurun.
Kalau kamu hanya butuh pemantauan cepat untuk satu server tanpa menyusun query, Netdata atau Uptime Kuma dengan Grafana bisa jadi titik awal yang lebih ringan.
Pertanyaan yang sering diajukan
Apakah Node Exporter berat untuk VPS kecil?
Node Exporter dirancang ringan dan hanya membaca data dari /proc dan /sys saat diminta. Yang lebih banyak memakai RAM dan disk adalah Prometheus, terutama bila targetnya banyak dan masa simpan datanya panjang.
Bisakah satu Prometheus memantau banyak VPS?
Bisa. Pasang Node Exporter di setiap VPS, lalu tambahkan alamat IP dan port 9100 masing-masing ke daftar targets. Pastikan port 9100 hanya terbuka untuk IP server Prometheus.
Kenapa target berstatus DOWN?
Penyebab umumnya service node exporter tidak berjalan, alamat atau port di targets salah, atau firewall menghalangi. Lihat pesan error di halaman Status > Targets, lalu uji dengan curl dari server Prometheus.
Apakah Prometheus cocok untuk menyimpan log?
Tidak. Prometheus menyimpan metrik angka berdasarkan waktu. Untuk log, pakai alat lain seperti Loki atau cukup journalctl dan file log di server.
Checklist akhir:
prometheusdanprometheus-node-exporterberstatus active.- Target
nodeberstatus UP di halaman Targets. - Port 9090 dan 9100 tidak terbuka ke publik.
- Masa simpan data sudah disesuaikan dengan sisa ruang disk.


