Sebelum VPS kita bermasalah, hampir selalu ada gejala lebih dulu: swap mulai tergaruk, load CPU naik pelan, latensi disk memburuk. Masalahnya, alat monitoring yang sering disarankan — Grafana plus Prometheus — menuntut kita merakit exporter, konfigurasi scrape, dan dashboard satu per satu sebelum satu grafik pun muncul. Kadang kita cuma butuh melihat kondisi server sekarang juga, bukan membangun observability platform.
Di titik itulah monitoring vps dengan netdata jadi jalan pintas paling nyaman. Netdata adalah agent open-source yang otomatis mendeteksi ratusan metrik — CPU, RAM, disk, jaringan, sampai proses per-aplikasi — dan menyajikannya di dashboard web resolusi per detik, langsung jalan setelah instalasi tanpa satu baris konfigurasi pun.
Oke, lanjuutt.. Kita pasang Netdata di satu VPS dulu, buka dashboardnya, lalu rangkai beberapa server jadi satu pusat pantau lewat mode parent-child supaya semua VPS kita bisa dipantau dari satu tempat.
Kenapa Netdata, Kalau Sudah Ada Grafana?
Kalau pembaca baru saja mengikuti artikel sebelumnya soal Grafana + Prometheus, wajar bertanya kenapa perduh alat lagi. Bedanya ada di filosofi:
- Grafana + Prometheus adalah platform yang kita rakit sendiri: pilih exporter, tulis scrape config, desain atau impor dashboard. Fleksibel untuk tim dan jangka panjang.
- Netdata datang dengan semuanya menyala: satu perintah instalasi, ratusan metrik terdeteksi otomatis, dashboard lokal di port 19999, plus deteksi anomali berbasis machine learning yang aktif default.
Untuk VPS pribadi atau armada server kecil, waktu dari nol sampai grafik muncul itu yang menentukan. Netdata menang telak di situ. Biayanya? Nol — lisensinya GPL-3.0 dan dashboard lokalnya tidak butuh akun apa pun. Dashboard berbasis cloud di app.netdata.cloud tersedia gratis juga, tapi opsional; kita bisa sepenuhnya standalone.
Langkah 1: Pasang dengan kickstart.sh
Cara resmi yang direkomendasikan dokumentasinya adalah one-line installer kickstart.sh. Script ini mendeteksi distro kita, memilih paket native kalau ada, lalu memasang job auto-update harian:
wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh && \
sh /tmp/netdata-kickstart.sh --stable-channel --disable-cloud
Dua flag yang penting:
--stable-channelmemilih rilis stabil, bukan nightly. Versi stabil terbaru saat ini seri v2.3.--disable-cloudmenonaktifkan koneksi ke Netdata Cloud — cocok kalau kita mau benar-benar offline. Lewati flag ini kalau mau memakai dashboard cloud.
Setelah selesai, aktifkan dan cek statusnya:
sudo systemctl enable --now netdata
systemctl status netdata
Buka http://IP-VPS:19999 di browser — dashboard real-time sudah hidup. Tidak ada langkah konfigurasi tambahan.
Langkah 2: Baca Dashboard Tanpa Tersesat
Tampilan pertama Netdata memang ramai. Tiga area yang paling sering kita butuhkan:
- Overview per kategori di sidebar kiri: CPU, memory, disk, network, sampai aplikasi spesifik (PostgreSQL, Nginx, Docker) kalau terdeteksi terpasang.
- Grafik per detik: resolusi defaultnya 1 detik — gerakan load spike yang hilang dalam 30 detik tetap terlihat, hal yang hampir mustahil ditangkap scrape Prometheus interval 15 detik.
- Alarm: tab di kanan atas memuat ratusan alarm bawaan — CPU iowait tinggi, disk hampir penuh, RAM kritis — yang sudah aktif tanpa kita definisikan apa pun.
Coba jalankan stress-ng --cpu 4 --timeout 60 di terminal lain dan lihat grafik CPU bereaksi hampir seketika. Itu rasanya monitoring real-time.
Langkah 3: Aman Port 19999
Dashboard default mendengarkan di semua antarmuka. Kalau VPS kita terbuka ke internet, tutup portnya di firewall dan akses lewat reverse proxy ber-HTTPS:
sudo ufw deny 19999
Lalu di Nginx (atau Caddy, yang otomatis kasih sertifikat):
server {
listen 443 ssl;
server_name netdata.contohku.com;
location / {
proxy_pass http://127.0.0.1:19999;
proxy_set_header X-Forwarded-Host $host;
}
}
Alternatif tercepat tanpa domain: ssh -L 19999:127.0.0.1:19999 root@IP-VPS lalu buka http://localhost:19999 di laptop.
Langkah 4: Rangkai Semua VPS dengan Mode Parent-Child
Ini bagian yang bikin Netdata serius dipakai produksi. Alurnya: setiap child (VPS aplikasi) mengumpulkan metrik lokal lalu men-stream-nya ke satu parent (VPS pemantau) lewat protokol streaming Netdata sendiri di port 19999. Parent menyimpan datanya dan dashboard semua server bisa dibuka dari satu titik.
Di parent, edit /etc/netdata/stream.conf:
[API_KEY]
enabled = yes
Ganti API_KEY dengan UUID hasil uuidgen. Lalu di setiap child:
[stream]
enabled = yes
destination = IP_PARENT:19999
api key = UUID-YANG-SAMA
Restart netdata di kedua sisi, lalu verifikasi dari log parent:
journalctl -u netdata | grep -i stream
Baris STREAM ... new client connection berarti child sudah terhubung. Kalau parent dan child tidak satu jaringan privat, tambahkan :SSL di akhir destination dan sertakan ssl skip certificate verification = yes untuk enkripsi TLS — protokol streaming Netdata memang protokol sendiri, bukan HTTPS, tapi bisa dibungkus TLS.
Jebakan yang Sering Menjemput
- Port 19999 terbuka ke dunia. Default bind-nya semua interface. Selalu tutup di firewall atau pindahkan di belakang reverse proxy sebelum rasa aman palsu muncul.
- RAM parent membengkak. Parent menyimpan metrik semua child di dbengine. Atur
page cache sizedan retensi dinetdata.conf; untuk armada kecil, beberapa GiB sudah sangat cukup untuk retensi panjang. - Auto-update harian aktif tanpa kita sadar. Kickstart memasang updater bawaan. Kalau versi harus dikunci, pasang ulang dengan
--no-updates. - Child tidak muncul di parent. Hampir selalu API key beda satu karakter, atau firewall memblokir port 19999 antar-VPS. Cek log
grep -i streamdi kedua sisi sebelum menyalahkan Netdata. - Lupa klaim ke Cloud padahal mau pakainya. Claim token diambil dari app.netdata.cloud (Space Settings → Nodes → Add Node) dan bisa diberikan ke kickstart lewat
--claim-token. Tapi ini opsional — semua yang kita bahas di atas tetap jalan tanpa akun.
Kesimpulan
Netdata bukan pengganti Grafana di semua skenario, tapi untuk pertanyaan paling sering kita — “sekarang server ini sehat atau tidak?” — dia menjawab dalam satu perintah dan satu detik. Kombinasi auto-detection, dashboard per detik, alarm bawaan, dan streaming parent-child membuatnya pas untuk siapa pun yang mengelola beberapa VPS sendirian.
Mulai dari satu server dulu, rasakan grafiknya yang hidup, baru tambah parent-child kalau armada kita lebih dari dua. Selamat memantau — dan semoga grafik load-nya selalu datar dan membosankan. Grafik monitoring yang membosankan memang grafik terindah yang bisa kita harapkan.

