23 Agustus 2026
Memantau Kesehatan Host dengan Glances
Glances sebagai alat pemantauan host yang ringan: satu perintah untuk melihat CPU, RAM, disk, suhu, dan container Docker, plus REST API untuk integrasi.
Di homelab, pertanyaan pertama saat ada layanan terasa lambat biasanya: “host-nya sehat atau tidak?”. Untuk menjawabnya, saya butuh sesuatu yang cepat dibuka dan tidak butuh setup besar. Stack lengkap seperti Prometheus dan Grafana memang kuat, tapi untuk satu mesin dengan storage terbatas, biaya operasionalnya terasa berlebihan. Di sinilah Glances masuk: alat pemantauan berbasis Python yang menampilkan kondisi host secara komprehensif, tapi cukup ringan untuk dijalankan sebagai satu container.
Mengapa Glances
Saya mulai dari kebutuhan sederhana: melihat CPU, RAM, disk, dan container dalam satu layar. Sebelumnya saya harus membuka beberapa perintah htop, df, dan docker stats secara terpisah, lalu menyatukannya sendiri di kepala. Glances mengumpulkan semuanya ke satu dashboard, sehingga penyebab masalah bisa dikenali lebih cepat tanpa menebak-nebak.
Alasan lain adalah integrasi. Glances bukan hanya dashboard — ia menyediakan REST API. Dengan begitu, metrik host bisa dibaca oleh dashboard lain seperti Homepage, atau dipakai script untuk cek kesehatan otomatis.
Cara Kerja Glances
Glances berjalan sebagai proses Python yang membaca metrik dari sistem operasi lewat berbagai plugin: statistik CPU, memori, swap, load average, I/O disk, filesystem, suhu hardware (sensor), network, hingga proses. Untuk container, ia membaca daemon Docker lewat socket, lalu menampilkan penggunaan resource tiap container.
Aplikasi ini punya beberapa mode: terminal interaktif, web server (-w), client/server untuk memantau host lain, dan REST API. Versi API saat ini adalah versi 4 — misal GET /api/4/quicklook mengembalikan ringkasan quicklook dalam JSON. Struktur plugin yang modular membuat Glances tetap fokus: hanya plugin yang relevan yang aktif.
Deployment dengan Docker Compose
Cara paling rapi di homelab adalah via Docker Compose. Dua hal wajib agar metrik akurat: container harus bisa melihat proses host (pid: "host") dan memakai network host agar antarmuka jaringan terbaca benar:
services:
glances:
image: nicolargo/glances:latest
container_name: glances
restart: unless-stopped
pid: "host"
network_mode: "host"
environment:
- GLANCES_OPT=-w
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
Dengan mode web server, UI bisa diakses di port default 61208 dan API di path /api/4/.... Parameter opsional lain bisa ditambahkan lewat GLANCES_OPT, misalnya -w --password untuk mengaktifkan autentikasi.
Keamanan & Operasional
- Socket Docker read-only. Volume
/var/run/docker.sockdi-mount dengan flag:ro. Container tetap bisa membaca daemon, tapi tidak bisa mengubah state Docker. - Autentikasi web. Mode web server defaultnya tanpa kata sandi. Glances mendukung login/password via opsi
--username/--password, termasuk autentikasi JWT melalui endpointPOST /api/4/token. Untuk akses dari luar, sebaiknya lewat reverse proxy dengan autentikasi, bukan mengekspos port langsung ke publik — atau cukup batasi ke jaringan lokal. - Akses harian. Metrik yang paling sering saya lihat adalah quicklook di
http://localhost:61208; untuk debugging cepat lewat SSH, mode terminal (glances) masih paling praktis. - Konfigurasi & recovery. Opsi CLI bisa dipindah ke file konfigurasi
glances.conf. Simpan file ini (dan compose-nya) di backup biasa — kalau container hilang, konfigurasi bisa dipulihkan cepat.
Kelebihan yang Dirasakan
- Satu perintah, banyak metrik. CPU, RAM, disk, suhu, network, dan container tampil bersamaan. Diagnosis awal jadi jauh lebih cepat daripada membuka tiga tool berbeda.
- Ringan untuk dijalankan. Proses Python dengan mode web cukup kecil; tidak ada database, time-series storage, atau komponen tambahan yang harus dirawat.
- REST API siap pakai. Tanpa setup ekstra, dashboard eksternal bisa membaca data lewat endpoint JSON seperti
/api/4/quicklook. - Mode client/server. Kalau suatu saat butuh memantau lebih dari satu host, Glances punya mode client/server bawaan tanpa pindah ke stack lain.
Kontra dan Keterbatasan
- Bukan pengganti stack monitoring penuh. Glances menampilkan kondisi saat ini dengan riwayat terbatas. Untuk retention metrik jangka panjang dan alerting yang kompleks, tetap perlu solusi seperti Prometheus.
- Autentikasi tidak aktif secara default. Tanpa
--passwordatau pengaman di depan reverse proxy, siapa pun yang bisa menjangkau port 61208 bisa melihat metrik host. Ini mudah diabaikan saat setup pertama. - Network mode host membatasi. Dengan
network_mode: "host", container tidak punya isolasi jaringan sendiri; trade-off ini perlu diterima demi akurasi metrik. - Informasi dari satu host saja. Glances memantau host tempat ia berjalan (atau host yang dituju dalam mode client); ia tidak melakukan discovery atau agregasi otomatis antar-service di homelab.
- Fokus pada metrik, bukan logs. Untuk melihat log atau tracing, Glances tidak membantu — itu domain tool lain.
Kesimpulan
Glances adalah pilihan tepat untuk homelab satu mesin: memberi visibilitas instan terhadap kesehatan host dan container tanpa beban operasional stack monitoring besar. Ia menjawab kebutuhan “host-nya sehat atau tidak?” dengan cepat, dan REST API-nya membuatnya mudah diintegrasikan ke dashboard lain.
Tapi ia bukan jawaban untuk semua kebutuhan observability. Untuk lingkungan dengan banyak host, kebutuhan retention metrik jangka panjang, atau alerting yang kompleks, tetap perlu solusi yang lebih berat. Untuk konteks saya — satu mesin, storage terbatas, prioritas cepat-lihat — Glances berada di titik yang pas.
