Tutorial Monitoring Server untuk Home Server — Setup Uptime Kuma dan Netdata agar Tidak Ketinggalan Masalah Written by Adam Muiz 03 Aug 2026 Updated: 03 Aug 2026 7 min read Beberapa waktu lalu, aku baru sadar bahwa server di rumah sudah mati sejak tadi malam. Entah karena listrik padam, update otomatis yang minta restart, atau container Docker yang tiba-tiba crash. Yang pasti, aku baru mengetahuinya keesokan harinya, saat ada layanan yang tidak bisa diakses. Rasanya seperti memarkir mobil di tempat gelap tanpa alarm: kamu tidak tahu apa yang terjadi sampai kamu benar-benar memeriksa. Dari situ aku mulai memahami: punya home server itu bukan cuma soal menyalakan perangkat dan menjalankan layanan. Kita juga butuh "mata" yang selalu menjaga, mencatat kondisi, dan berteriak saat ada sesuatu yang salah. Monitoring bukanlah lux, melainkan asuransi kecil yang sangat berguna. Dalam artikel ini, aku ingin berbagi cara setup monitoring untuk home server menggunakan dua tool yang paling sering kupakai: Uptime Kuma dan Netdata. Mengapa Monitoring Itu Penting, Meski Server Hanya di Rumah Sebelum masuk ke teknis, aku ingin pakai analogi sederhana. Bayangkan kamu punya warung kopi kecil di depan rumah. Kamu tidak mungkin duduk di kasir 24 jam. Jadi kamu pasang CCTV, alarm pintu, dan timer mati lampu. Monitoring server itu mirip: kamu tetap bisa tidur tenang karena ada sistem yang memantau "warung digital"-mu. Di home server, monitoring membantu kita menjawab beberapa pertanyaan krusial: Apakah website atau layanan masih bisa diakses dari luar? Berapa persen penggunaan CPU, RAM, dan disk saat ini? Apakah ada proses yang tiba-tiba memakan resource berlebihan? Kapan terakhir kali server down dan berapa lama? Apakah sertifikat SSL sudah mendekati masa expired? Tanpa jawaban di atas, kita seperti mengemudi di malam hari tanpa lampu. Bisa saja selamat sampai tujuan, tapi sedikit saja ada lubang di jalan, masalah langsung terasa besar. Uptime Kuma vs Netdata: Dua Sisi Mata Pisau Ketika bicara monitoring, seringkali muncul kebingungan: pakai yang mana? Sebenarnya, Uptime Kuma dan Netdata itu saling melengkapi, bukan saling menggantikan. Uptime Kuma fokus pada uptime monitoring. Ia berfungsi seperti satpam yang setiap beberapa menit mengetuk pintu layananmu dan bertanya, "Halo, masih hidup?" Jika tidak ada jawaban, Uptime Kuma akan mencatat downtime dan mengirim notifikasi. Ia cocok untuk memantau status HTTP, ping, DNS, port TCP, dan bahkan Docker container. Netdata, di sisi lain, adalah real-time system monitoring. Ia seperti dokter yang memasang alat pemantau detak jantung, tekanan darah, dan suhu tubuh pada servermu. Netdata menampilkan grafik resource secara live: CPU, RAM, disk I/O, jaringan, proses, hingga log. Cocok untuk analisis performa dan troubleshooting mendalam. Kalau dipadukan, kamu mendapatkan gambaran lengkap: Uptime Kuma memberitahu apa yang down, Netdata membantu menganalisis mengapa itu bisa terjadi. Persiapan: Asumsi dan Prasyarat Artikel ini mengasumsikan kamu sudah memiliki: Sebuah server atau mini PC dengan Linux terpasang. Docker dan Docker Compose yang sudah berjalan. Akses terminal untuk menjalankan perintah. Kalau belum punya Docker, kamu bisa install terlebih dahulu. Di Ubuntu atau Debian, cukup jalankan: sudo apt update sudo apt install -y docker.io docker-compose-v2 sudo systemctl enable --now docker sudo usermod -aG docker $USER Logout dan login kembali agar grup Docker aktif untuk user-mu. Setup Uptime Kuma dengan Docker Compose Uptime Kuma sangat mudah dijalankan. Kita tinggal buat direktori khusus dan file docker-compose.yml seperti ini: services: uptime-kuma: image: louislam/uptime-kuma:latest container_name: uptime-kuma volumes: - ./data:/app/data ports: - "3001:3001" restart: always Lalu jalankan: mkdir -p ~/uptime-kuma && cd ~/uptime-kuma # salin docker-compose.yml di atas docker compose up -d Setelah container berjalan, buka browser dan akses http://{IP-server}:3001. Kamu akan diminta membuat akun admin pertama. Setelah itu, mulailah menambahkan monitor. Cara paling umum adalah memantau website melalui HTTP(S). Pilih Monitor Type → HTTP(s), masukkan URL, lalu atur interval pengecekan. Interval 60 detik sudah cukup untuk kebanyakan kasus; lebih sering dari itu bisa membebani server dan jaringan tanpa alasan yang kuat. Jangan lupa setting notifikasi. Uptime Kuma mendukung banyak channel: Telegram, Discord, Email, Pushover, dan bahkan Webhook. Di bagian Settings → Notifications, pilih provider favoritmu dan lakukan test notification. Percayalah, lebih baik ribut sekarang daripada diam saat server benar-benar down. Setup Netdata untuk Monitoring Real-Time Netdata juga bisa dijalankan dengan Docker, meski versi native-nya punya fitur lebih lengkap. Untuk home server, versi Docker sudah cukup powerful dan lebih mudah dirawat. services: netdata: image: netdata/netdata:latest container_name: netdata hostname: homeserver ports: - "19999:19999" volumes: - ./netdata-config:/etc/netdata - netdata-lib:/var/lib/netdata - netdata-cache:/var/cache/netdata - /:/host:ro - /var/run/docker.sock:/var/run/docker.sock:ro restart: always volumes: netdata-lib: netdata-cache: Netdata membutuhkan akses ke mount / sebagai read-only agar bisa membaca statistik sistem host. Mount /var/run/docker.sock memungkinkan Netdata melihat resource usage per container. Jalankan dengan: mkdir -p ~/netdata && cd ~/netdata # salin docker-compose.yml di atas docker compose up -d Setelah itu, akses Netdata di http://{IP-server}:19999. Kamu akan melihat dashboard yang penuh grafik: CPU, memory, disk, network, aplikasi, bahkan log. Awalnya terlihat ramai, tapi lama-kelamaan kamu akan belajar fokus pada metrik yang benar-benar penting. Membaca Metrik yang Benar-benar Penting Dari pengalamanku, tidak semua metrik perlu dipantau setiap hari. Berikut adalah metrik yang paling sering kuperhatikan: CPU usage: jika terus di atas 80%, ada proses yang berlebihan atau server kekurangan resource. Memory usage: RAM penuh bisa membuat sistem lambat atau bahkan mengaktifkan swap secara agresif. Disk usage: log dan cache bisa menggemuk tanpa disadari. Pantau setidaknya partisi / dan /var. Load average: menunjukkan seberapa sibuk antrean proses. Idealnya tidak jauh melebihi jumlah core CPU. Network throughput: membantu mendeteksi lalu lintas aneh atau transfer besar yang tidak terduga. Bayangkan metrik seperti indikator pada dasbor mobil. Kamu tidak harus menatapnya setiap detik, tapi kamu wajib tahu mana yang berarti "bahaya" saat lampu mulai menyala. Integrasi Alerting yang Masuk Akal Monitoring tanpa alerting ibarat memasang alarm tanpa baterai. Uptime Kuma sudah cukup untuk memberitahu kapan layanan tidak bisa diakses. Netdata juga punya konfigurasi health alarms, meski setup-nya sedikit lebih teknis. Tips dariku: jangan buat notifikasi untuk setiap fluktuasi kecil. Terlalu banyak alert akan membuatmu mengabaikan yang sebenarnya penting. Mulai dari yang kritis: layanan down, disk penuh, dan CPU load sangat tinggi. Kalau sudah nyaman, tambahkan perlahan. Contoh konfigurasi sederhana di Uptime Kuma: atur retry 3 kali dengan interval 20 detik sebelum alert dikirim. Ini mengurangi false alarm akibat gangguan jaringan sesaat. Reverse Proxy dan SSL untuk Dashboard Monitoring Supaya lebih aman, sebaiknya dashboard monitoring tidak langsung terbuka di port publik. Aku biasanya menutup port 3001 dan 19999 dari luar, lalu mengaksesnya melalui reverse proxy internal atau VPN. Jika memang harus diakses dari internet, gunakan minimal autentikasi dasar + HTTPS. Kalau kamu pakai Nginx sebagai reverse proxy, berikut contoh konfigurasi dasar untuk Uptime Kuma: server { listen 443 ssl; server_name uptime.lokal.lan; location / { proxy_pass http://127.0.0.1:3001; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; } } Ganti uptime.lokal.lan dengan domain yang kamu gunakan. Jangan lupa pasang sertifikat, meski hanya untuk jaringan lokal. Tool seperti mkcert sangat membantu untuk lingkungan internal tanpa perlu domain publik. Backup Konfigurasi Monitoring Satu hal yang sering terlupakan: backup konfigurasi. Uptime Kuma menyimpan semua data di folder ./data. Netdata menyimpan konfigurasi di ./netdata-config. Pastikan dua direktori itu masuk dalam rutinitas backup-mu. Kalau kamu sudah pakai restic atau borgbackup seperti yang pernah kubahas di artikel sebelumnya, tinggal tambahkan path tersebut. Kehilangan konfigurasi monitor berarti harus membuat ulang puluhan entry dan notifikasi dari nol. Kesimpulan Monitoring server bukanlah tugas yang hanya penting untuk perusahaan besar. Di home server, monitoring sama berharganya dengan listrik dan koneksi internet. Uptime Kuma membantu kita memastikan layanan tetap hidup dan memberi tahu saat ada masalah. Netdata membantu kita memahami kondisi internal server secara real-time. Dua tool ini, ketika dipadukan, menciptakan sistem pemantauan yang sederhana tapi sangat powerful. Kalau kamu baru mulai, jangan langsung memantau semuanya. Pasang Uptime Kuma dulu untuk layanan penting, tambahkan satu atau dua notifikasi, dan rasakan manfaatnya. Setelah nyaman, baru pelajari Netdata dan mulai memantau resource sistem. Seperti kebanyakan hal di dunia self-hosting, monitoring adalah perjalanan, bukan tujuan akhir. Sudah pakai Uptime Kuma atau Netdata di server-mu? Atau mungkin ada tool monitoring favorit lain? Tulis di kolom komentar, aku senang mendengar pengalamanmu.