📑 Daftar Isi
- Pendahuluan
- Apa Itu Netdata?
- Persiapan Sebelum Install
- Cara Install Netdata
- Command Install Netdata
- Penjelasan Tiap Bagian Command
- Apa yang Dilakukan Kickstart Script?
- Contoh Output Install
- Verifikasi Setelah Install
- Command #1: Cek Service Netdata
- Contoh Output
- Command #2: Cek Port Netdata
- Contoh Output
- Command #3: Test Akses Dashboard
- Command #4: Cek Log Netdata
- Akses Dashboard dari Luar Server
- ⚠️ PERINGATAN KEAMANAN: Batasi Akses Dashboard
- Cara 1: Batasi Akses via Firewall (Rekomendasi)
- Cara 2: Konfigurasi Netdata untuk Authentikasi
- Cara 3: Reverse Proxy dengan Nginx (Paling Aman)
- Cara Uninstall Netdata
- Pro Tips: Penggunaan Netdata yang Efektif
- FAQ
- Apakah Netdata aman untuk production server?
- Port 19999 harus dibuka di firewall?
- Bagaimana cara update Netdata?
- Apakah Netdata mempengaruhi performa server?
- Related Issues
- Kesimpulan
Pendahuluan
Beberapa tahun lalu saya diminta client untuk memonitoring server mereka — tapi bukan pakai Zabbix atau Nagios yang setup-nya ribet. Mereka minta sesuatu yang “bisa langsung lihat dashboard-nya tanpa konfigurasi macam-macam.” Saya sempat bingung, karena kebanyakan monitoring tool membutuhkan konfigurasi agent, server, dan dashboard secara terpisah. Tapi ternyata ada satu tool yang bisa diinstall dengan satu command dan langsung menampilkan dashboard real-time: Netdata.
Saya ingat pertama kali install Netdata — cuma butuh waktu kurang dari 5 menit dari awal sampai dashboard bisa diakses. Tidak perlu setup database, tidak perlu konfigurasi agent, tidak perlu buat rule monitoring. Cukup satu command, Netdata langsung mengumpulkan data metrik dari semua service di server dan menampilkannya di dashboard yang sangat informatif. Yang bikin saya terkesan, Netdata juga langsung mendeteksi Apache, MySQL, PHP-FPM, Nginx, dan service lainnya secara otomatis tanpa konfigurasi tambahan.
Di artikel ini saya akan tunjukkan cara install Netdata di server Linux menggunakan kickstart script, langkah demi langkah. Saya juga akan jelaskan apa yang dilakukan Netdata di server kamu dan bagaimana cara mengakses dashboard-nya.
Apa Itu Netdata?
Netdata adalah tool monitoring real-time untuk server dan aplikasi yang bersifat open-source. Berbeda dari tool monitoring lain yang cenderung kompleks, Netdata dirancang untuk setup yang cepat dan dashboard yang langsung informatif.
Fitur Utama Netdata
- Monitoring real-time — data diperbarui setiap detik, bukan setiap menit atau jam. Kamu bisa melihat perubahan CPU, RAM, disk I/O, dan network secara real-time.
- Dashboard web — semua data ditampilkan di dashboard berbasis web yang bisa diakses dari browser. Tidak perlu install client tambahan.
- Auto-detection — Netdata otomatis mendeteksi service yang berjalan di server (Apache, Nginx, MySQL, PHP-FPM, Docker, dsb.) dan langsung memonitoring-nya tanpa konfigurasi.
- Zero-configuration — tidak perlu setup database, tidak perlu konfigurasi agent, tidak perlu buat alert rule. Semua sudah jalan dari awal install.
- Lightweight — Netdata menggunakan sangat sedikit resource (CPU < 1%, RAM < 50MB). Tidak akan mempengaruhi performa server.
- Bisa diuninstall bersih — jika tidak dibutuhkan lagi, Netdata bisa dihapus dengan bersih tanpa meninggalkan jejak.
Apa Saja yang Di-Monitoring?
Secara default, Netdata akan memonitoring:
- CPU — penggunaan per core, temperature, frequency
- RAM — used, cached, buffers, swap
- Disk — I/O per device, latency, throughput
- Network — bandwidth per interface, packets, errors
- Proses — top processes by CPU/RAM, thread count
- System services — Apache, Nginx, MySQL, PostgreSQL, PHP-FPM, Redis, Docker, dan banyak lagi
- Application metrics — PHP, Python, Node.js, dan aplikasi lainnya
Persiapan Sebelum Install
⚠️ PERINGATAN: Cek Resource Server
Meskipun Netdata ringan, pastikan server kamu memenuhi minimum requirement:
# Cek RAM yang tersedia
free -h
# Cek disk space yang tersedia
df -h / | tail -1
# Cek OS version
cat /etc/os-release | head -3
Netdata membutuhkan minimal:
- RAM: 256MB free (lebih banyak lebih baik)
- Disk: 1GB free untuk installasi dan data metrik
- OS: Linux (Debian, Ubuntu, CentOS, RHEL, CloudLinux, AlmaLinux, Rocky Linux)
Cek Akses Internet
Install Netdata membutuhkan akses internet untuk download kickstart script dan package:
# Cek koneksi internet
ping -c 3 get.netdata.cloud
Cara Install Netdata
Command Install Netdata
Berikut command lengkap untuk install Netdata di server Linux:
wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh && sh /tmp/netdata-kickstart.sh
Command ini menggunakan wget untuk download kickstart script dari Netdata, lalu menjalankannya. Kickscript script akan mendeteksi OS kamu, install semua dependency yang dibutuhkan, dan install Netdata secara otomatis.
Penjelasan Tiap Bagian Command
-
wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh— Download kickstart script darihttps://get.netdata.cloud/kickstart.shdan simpan sebagai/tmp/netdata-kickstart.sh.wgetadalah command-line downloader. Flag-Omenentukan nama file output. -
sh /tmp/netdata-kickstart.sh— Jalankan kickstart script menggunakansh. Script ini akan: mendeteksi OS kamu, install dependency (build tools, libraries), download dan install Netdata, konfigurasi Netdata secara otomatis, dan mulai service Netdata.
Apa yang Dilakukan Kickstart Script?
Kickstart script Netdata melakukan beberapa langkah otomatis:
- Detect OS — script mendeteksi jenis Linux yang kamu pakai (Debian, Ubuntu, CentOS, dll)
- Install dependencies — install package yang dibutuhkan (build-essential, zlib, json-c, yaml, dll)
- Download Netdata — download source code atau binary Netdata dari repository resmi
- Build & Install — compile (jika dari source) atau install binary ke
/opt/netdata - Konfigurasi — buat file konfigurasi default, setup systemd service, setup log rotation
- Start service — start Netdata service dan enable agar otomatis start saat server reboot
Contoh Output Install
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 135k 100 135k 0 0 123k 0 0:00:01 0:00:01 --:--:-- 126k
--- Using git to update code ---
--- Running installer ---
/usr/bin/env: ‘shr’: No such file or directory
--- Installer failed ---
--- Attempting a different installation method ---
--- Checking for cgroups ---
--- Checking for systemd ---
--- Checking for docker ---
--- Installing required packages ---
--- Installing Netdata ---
--- Successfully installed Netdata! ---
Access the Netdata dashboard at: http://localhost:19999
View the logs: tail -f /var/log/netdata/error.log
Uninstall: /opt/netdata/bin/netdata-uninstaller.sh
Perhatikan bahwa install berhasil dan Netdata berjalan di port 19999. Kamu bisa mengakses dashboard melalui http://localhost:19999 atau http://IP_SERVER:19999.
Verifikasi Setelah Install
Command #1: Cek Service Netdata
# Cek status service Netdata
systemctl status netdata
# Cek apakah Netdata berjalan
ps aux | grep netdata | grep -v grep
Contoh Output
● netdata.service - Real time performance monitoring
Loaded: loaded (/etc/systemd/system/netdata.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2024-02-14 10:23:11 UTC; 2min ago
Main PID: 12345 (netdata)
Tasks: 145 (limit: 4915)
Memory: 42.3M
CPU: 1.242s
CGroup: /system.slice/netdata.service
├─12345 /opt/netdata/bin/netdata -D
├─12346 /opt/netdata/bin/netdata --pid-file /run/netdata/netdata.pid
...
Perhatikan bahwa service Netdata active (running) dan sudah enabled (otomatis start saat reboot).
Command #2: Cek Port Netdata
# Cek apakah port 19999 terbuka
ss -tlnp | grep 19999
# atau
netstat -tlnp | grep 19999
Contoh Output
LISTEN 0 4096 0.0.0.0:19999 0.0.0.0:* users:(("netdata",pid=12345,fd=7))
Port 19999 sudah terbuka dan Netdata mendengarkan di semua interface (0.0.0.0).
Command #3: Test Akses Dashboard
# Test dari server sendiri
curl -s -o /dev/null -w "%{http_code}" http://localhost:19999
# Jika mengembalikan 200, dashboard berhasil diakses
# Output: 200
Command #4: Cek Log Netdata
# Cek error log
tail -50 /var/log/netdata/error.log
# Cek log jika ada masalah
journalctl -u netdata --no-pager | tail -30
Akses Dashboard dari Luar Server
⚠️ PERINGATAN KEAMANAN: Batasi Akses Dashboard
Secara default, Netdata dashboard bisa diakses dari mana saja tanpa autentikasi. Ini berarti siapa saja yang tahu IP dan port 19999 bisa melihat semua metrik server kamu. Sangat penting untuk membatasi akses sebelum mengizinkan akses dari luar.
Cara 1: Batasi Akses via Firewall (Rekomendasi)
# UFW (Ubuntu/Debian)
ufw allow from IP_KAMU to any port 19999
# firewalld (CentOS/RHEL)
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="IP_KAMU" port port="19999" protocol="tcp" accept'
firewall-cmd --reload
# iptables
iptables -A INPUT -p tcp --dport 19999 -s IP_KAMU -j ACCEPT
iptables -A INPUT -p tcp --dport 19999 -j DROP
Cara 2: Konfigurasi Netdata untuk Authentikasi
Edit file konfigurasi Netdata untuk menambahkan authentikasi:
# Edit file konfigurasi
nano /opt/netdata/etc/netdata/netdata.conf
# Tambahkan di bagian [web]
[web]
bind to = =dashboard
allow connections from = localhost IP_KAMU
allow dashboard from = localhost IP_KAMU
Setelah edit, restart Netdata:
systemctl restart netdata
Cara 3: Reverse Proxy dengan Nginx (Paling Aman)
Gunakan Nginx sebagai reverse proxy dengan SSL dan basic auth:
# Buat file konfigurasi Nginx
nano /etc/nginx/conf.d/netdata.conf
Isi dengan konfigurasi:
# server {
# listen 443 ssl;
# server_name netdata.domain.com;
#
# ssl_certificate /etc/letsencrypt/live/netdata.domain.com/fullchain.pem;
# ssl_certificate_key /etc/letsencrypt/live/netdata.domain.com/privkey.pem;
#
# location / {
# proxy_pass http://127.0.0.1:19999;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# auth_basic "Netdata Dashboard";
# auth_basic_user_file /etc/nginx/.htpasswd;
# }
# }
Buat file .htpasswd untuk basic auth:
# Install htpasswd utility
apt install apache2-utils -y # Debian/Ubuntu
yum install httpd-tools -y # CentOS/RHEL
# Buat file .htpasswd
htpasswd -c /etc/nginx/.htpasswd admin
Restart Nginx:
nginx -t && systemctl restart nginx
Cara Uninstall Netdata
Jika Netdata tidak dibutuhkan lagi, kamu bisa uninstall dengan bersih:
# Stop service
systemctl stop netdata
# Disable service
systemctl disable netdata
# Jalankan uninstaller
/opt/netdata/bin/netdata-uninstaller.sh --yes
# Bersihkan file yang tersisa (opsional)
rm -rf /opt/netdata
rm -rf /var/lib/netdata
rm -rf /var/log/netdata
rm -rf /tmp/netdata-*
Pro Tips: Penggunaan Netdata yang Efektif
- Gunakan Netdata Cloud untuk monitoring multi-server — Netdata menyediakan platform cloud gratis untuk monitoring beberapa server sekaligus. Kamu bisa melihat dashboard semua server di satu tempat. Daftar di
app.netdata.cloud. - Setup alert ke Telegram/Email — Netdata bisa mengirim alert saat metrik tertentu mencapai threshold. Konfigurasi di
/opt/netdata/etc/netdata/health_alarm_notify.conf. - Matikan metrik yang tidak dibutuhkan — jika kamu tidak membutuhkan semua metrik, matikan yang tidak perlu untuk mengurangi penggunaan resource. Edit
/opt/netdata/etc/netdata/netdata.conf. - Gunakan Python plugin untuk custom metrics — Netdata support custom metrics via Python plugin. Kamu bisa memonitoring aplikasi custom yang tidak didukung secara default.
- Archive data ke external database — data metrik Netdata hanya disimpan 1 hari secara default. Kamu bisa mengkoneksikan ke InfluxDB, Prometheus, atau Cloud untuk penyimpanan jangka panjang.
- Monitor dari mobile — dashboard Netdata responsive dan bisa diakses dari smartphone. Kamu bisa memantau server dari mana saja.
- Gunakan
streaminguntuk server cluster — Netdata bisa dikonfigurasi untuk streaming data dari beberapa slave ke satu master. Berguna untuk monitoring cluster server.
FAQ
Apakah Netdata aman untuk production server?
Ya, Netdata sangat aman untuk production. Netdata hanya membaca data dari /proc, /sys, dan log service — tidak mengubah apapun di sistem. Resource usage-nya juga sangat kecil (CPU < 1%, RAM < 50MB). Banyak perusahaan besar seperti Facebook, Cloudflare, dan DigitalOcean menggunakan Netdata untuk monitoring production server mereka.
Port 19999 harus dibuka di firewall?
Hanya jika kamu ingin mengakses dashboard dari luar server. Jika kamu hanya mengakses dari server itu sendiri (localhost:19999), tidak perlu membuka port. Tapi untuk monitoring dari komputer lain, kamu perlu membuka port 19999 dan membatasi akses hanya untuk IP yang diizinkan.
Bagaimana cara update Netdata?
Netdata akan otomatis update jika menggunakan kickstart script. Untuk update manual, jalankan ulang command install: wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh && sh /tmp/netdata-kickstart.sh. Script akan mendeteksi Netdata yang sudah terinstall dan melakukan update.
Apakah Netdata mempengaruhi performa server?
Sangat minimal. Netdata menggunakan sampling rate yang rendah dan mengumpulkan data secara efisien. Penggunaan CPU rata-rata < 1%, RAM sekitar 40-50MB. Dalam kasus server dengan banyak core dan service, penggunaan mungkin sedikit lebih tinggi tapi tetap di bawah 2%. Kamu bisa mengecek penggunaan Netdata sendiri di dashboard-nya.
Related Issues
- Cara Mengatasi Apache Slot Penuh (503 Service Unavailable) — Netdata bisa membantu mendeteksi Apache slot yang mulai penuh secara real-time sebelum terjadi error 503
- Cara Troubleshoot Database Load Tinggi di MariaDB — Netdata akan otomatis memonitoring MySQL/MariaDB dan menampilkan query rate, connections, dan slow queries
- Cara Mengatasi Inode Exhaustion di cPanel — Netdata bisa membantu memantau disk usage secara real-time untuk mencegah inode exhaustion
Kesimpulan
Install Netdata di server Linux tidak perlu ribet. Dengan satu command wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh && sh /tmp/netdata-kickstart.sh, kamu bisa mendapatkan dashboard monitoring real-time yang sangat powerful dalam waktu kurang dari 5 menit. Tidak perlu konfigurasi database, tidak perlu setup agent, tidak perlu buat alert rules — semua sudah jalan dari awal install.
Yang perlu diingat: batasi akses dashboard hanya untuk IP yang diizinkan, karena Netdata tidak punya autentikasi bawaan. Gunakan firewall atau reverse proxy dengan basic auth untuk keamanan. Dan yang paling penting, manfaatkan Netdata untuk monitoring aktif — jangan pasang tapi tidak pernah dilihat. Dashboard Netdata hanya berguna kalau kamu benar-benar memantau metrik secara berkala. Lebih baik install monitoring dari awal daripada harus menjelaskan ke client kenapa server mereka down tapi tidak ada yang memantau — percaya deh, saya pernah ngalamin dan tidak mau ngalamin lagi.