Monitoring Baremetal Server dengan Prometheus & Grafana: Panduan Lengkap untuk Pemula
Dalam dunia infrastruktur modern, monitoring server menjadi fondasi penting untuk menjaga performa dan stabilitas sistem. Tanpa monitoring yang baik, tim teknis akan kesulitan mendeteksi anomali, memantau resource usage, atau bahkan menghindari downtime. Terlebih lagi bagi pengguna baremetal server, di mana tidak ada lapisan virtualisasi yang mengisolasi performa. Semua aktivitas hardware — CPU, RAM, disk, dan jaringan — harus dipantau langsung agar server tetap optimal.
Dua alat monitoring paling populer di dunia open source saat ini adalah Prometheus dan Grafana. Keduanya sering dipasangkan karena saling melengkapi: Prometheus berfungsi untuk mengumpulkan dan menyimpan data metrik secara efisien, sedangkan Grafana menampilkan data tersebut dalam bentuk visual yang mudah dibaca. Artikel ini akan membahas langkah demi langkah bagaimana cara melakukan monitoring baremetal server dengan Prometheus dan Grafana, dari instalasi hingga pembuatan dashboard interaktif.
Mengapa Monitoring Penting di Baremetal Server
Berbeda dengan VPS atau cloud hosting yang sudah memiliki layer virtualisasi, baremetal server memberikan akses penuh ke hardware fisik. Artinya, pengguna bertanggung jawab penuh terhadap semua aspek performa dan keamanannya. Ketika CPU spike, disk penuh, atau memory bocor, tidak ada hypervisor yang akan menahan dampaknya. Server bisa langsung crash atau melambat drastis.
Dengan melakukan monitoring yang baik, administrator bisa mengetahui lebih cepat jika ada masalah yang muncul. Misalnya ketika CPU usage naik tajam karena proses tertentu, atau ketika I/O disk sudah mencapai batas maksimum. Dengan data metrik yang dikumpulkan Prometheus dan divisualisasikan Grafana, tim bisa segera mengambil tindakan — menambah kapasitas, memindahkan beban kerja, atau melakukan tuning aplikasi sebelum masalah membesar.
Selain itu, monitoring juga membantu memahami pola performa server dalam jangka panjang. Dari data historis, kita bisa tahu kapan beban puncak terjadi, atau berapa banyak resource yang digunakan oleh aplikasi pada jam tertentu. Informasi ini sangat berharga untuk perencanaan kapasitas (capacity planning) dan optimalisasi biaya infrastruktur.
Mengenal Prometheus dan Grafana
Prometheus adalah sistem monitoring berbasis open-source yang dikembangkan oleh SoundCloud dan kini menjadi bagian dari Cloud Native Computing Foundation (CNCF). Ia menyimpan data metrik dalam format time-series, yaitu kumpulan nilai yang tercatat berdasarkan waktu. Prometheus melakukan scraping ke target seperti server, aplikasi, atau perangkat jaringan secara berkala, lalu menyimpannya untuk dianalisis dengan query language bernama PromQL.
Sementara itu, Grafana adalah platform visualisasi yang sangat populer untuk menampilkan data dari Prometheus dan berbagai sumber lain. Dengan Grafana, kita bisa membuat dashboard real-time berisi grafik, tabel, dan panel interaktif untuk memantau kondisi server. Keunggulan utama Grafana adalah kemampuannya dalam menampilkan data dengan cara yang menarik dan mudah dipahami, bahkan untuk non-teknisi.
Ketika kedua alat ini digabungkan, Prometheus berperan sebagai pengumpul data dan Grafana menjadi etalase visualnya. Kombinasi ini terbukti menjadi solusi terbaik untuk monitoring baremetal server karena skalabel, ringan, dan fleksibel untuk berbagai kebutuhan industri.
Persiapan dan Instalasi
Sebelum memulai, pastikan kamu memiliki baremetal server dengan sistem operasi Linux (Ubuntu, Debian, atau CentOS). Minimal spesifikasi yang direkomendasikan adalah 2 vCPU, 4 GB RAM, dan ruang penyimpanan 10 GB. Monitoring akan mengumpulkan ribuan data per menit, jadi semakin besar kapasitas, semakin lama kamu bisa menyimpan data historisnya.
Langkah pertama adalah menginstal Prometheus. Kamu dapat mengunduh versi terbaru dari situs resminya:
wget https://github.com/prometheus/prometheus/releases/latest/download/prometheus-linux-amd64.tar.gz
tar xvf prometheus-linux-amd64.tar.gz
cd prometheus-*
Setelah itu, jalankan Prometheus dengan konfigurasi default:
./prometheus --config.file=prometheus.yml
Prometheus akan berjalan pada port 9090. Kamu bisa mengaksesnya melalui browser di http://<ip-server>:9090 untuk memastikan semuanya berjalan dengan baik.
Selanjutnya, install Grafana menggunakan perintah berikut:
sudo apt-get install -y adduser libfontconfig1
wget https://dl.grafana.com/enterprise/release/grafana-enterprise_10.0.0_amd64.deb
sudo dpkg -i grafana-enterprise_10.0.0_amd64.deb
sudo systemctl enable grafana-server
sudo systemctl start grafana-server
Grafana akan aktif di port 3000. Buka http://<ip-server>:3000 dan login dengan kredensial default admin/admin. Setelah masuk, ubah password untuk keamanan.
Mengonfigurasi Prometheus untuk Monitoring Baremetal
Agar Prometheus bisa membaca metrik dari server, kita membutuhkan komponen tambahan bernama Node Exporter. Exporter ini mengumpulkan data hardware seperti CPU, RAM, disk usage, dan network throughput langsung dari baremetal.
Install Node Exporter dengan perintah berikut:
wget https://github.com/prometheus/node_exporter/releases/latest/download/node_exporter-linux-amd64.tar.gz
tar xvf node_exporter-linux-amd64.tar.gz
cd node_exporter-*
./node_exporter &
Secara default, Node Exporter berjalan di port 9100. Untuk memastikan Prometheus bisa mengambil data dari exporter ini, buka file konfigurasi prometheus.yml dan tambahkan target berikut:
scrape_configs:
- job_name: 'baremetal'
static_configs:
- targets: ['localhost:9100']
Setelah itu, restart Prometheus dan buka dashboardnya. Kamu akan melihat status target “baremetal” menjadi UP, menandakan Prometheus berhasil melakukan scraping data dari Node Exporter. Kini server kamu sudah mengirimkan ratusan metrik ke Prometheus setiap beberapa detik.
Membuat Dashboard di Grafana
Langkah berikutnya adalah menampilkan data Prometheus dalam bentuk grafik menggunakan Grafana. Setelah login ke Grafana, masuk ke menu Configuration → Data Sources, pilih Add data source, dan pilih Prometheus. Masukkan URL http://localhost:9090 lalu klik Save & Test untuk memastikan koneksi berhasil.
Selanjutnya, buat dashboard baru dengan menekan tombol + → Dashboard → Add new panel. Di bagian query, masukkan metrik berikut untuk menampilkan penggunaan CPU server:
100 - (avg by (instance)(irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
Grafik ini akan menampilkan persentase penggunaan CPU dalam lima menit terakhir. Kamu juga bisa menambahkan panel untuk RAM, disk, dan network:
- RAM usage:
node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes
- Disk usage:
node_filesystem_size_bytes - node_filesystem_free_bytes
- Network throughput:
rate(node_network_receive_bytes_total[1m])
Setiap panel bisa dikustomisasi dengan warna, label, dan unit (MB, GB, Mbps). Setelah selesai, simpan dashboard kamu dengan nama seperti “Baremetal Server Monitoring” agar mudah diakses kembali.
Membuat Notifikasi dan Alert
Monitoring tidak akan lengkap tanpa notifikasi otomatis. Grafana memiliki sistem alerting yang bisa mengirimkan peringatan melalui email, Slack, Telegram, atau Webhook ketika metrik tertentu melebihi ambang batas.
Misalnya, untuk membuat alert ketika CPU usage melebihi 90% selama lebih dari 5 menit:
-
Klik panel CPU usage → pilih tab Alert → klik Create Alert Rule.
-
Atur kondisi:
“WHEN avg() OF query(A, 5m, now) IS ABOVE 90”. -
Tambahkan notifikasi channel seperti email atau Slack.
-
Simpan rule alert tersebut.
Sekarang, setiap kali CPU usage server naik melewati batas, kamu akan menerima notifikasi otomatis. Ini membantu mendeteksi masalah lebih cepat sebelum berdampak ke pengguna akhir.
Praktik Terbaik dalam Monitoring
Monitoring yang baik tidak hanya tentang mengumpulkan data, tapi juga bagaimana kamu menggunakannya. Gunakan interval scraping sekitar 15–30 detik untuk menjaga akurasi data tanpa membebani server. Jika ada ratusan node, pertimbangkan untuk memisahkan Prometheus ke beberapa instance agar performa tetap stabil.
Selain itu, pastikan Grafana dan Prometheus kamu diamankan dengan autentikasi dan firewall. Jangan biarkan port 9090 dan 3000 terbuka ke publik tanpa proteksi. Gunakan VPN atau reverse proxy dengan SSL/TLS untuk akses aman.
Terakhir, lakukan review rutin pada dashboard dan alert. Hapus metrik yang tidak relevan dan pastikan alert tidak terlalu sering muncul agar tim tidak mengalami alert fatigue. Monitoring yang efektif adalah yang relevan, ringan, dan bisa langsung ditindaklanjuti.
Manfaat Monitoring Baremetal dengan Prometheus & Grafana
Dengan sistem ini, kamu bisa mendapatkan visibilitas penuh terhadap performa server. Semua aktivitas CPU, memori, disk, dan jaringan tercatat rapi dalam grafik real-time. Kamu bisa menganalisis kapan performa menurun, apa penyebabnya, dan bagaimana mencegahnya.
Selain itu, data historis memungkinkan evaluasi jangka panjang. Misalnya, jika server sering mencapai 90% CPU usage pada jam tertentu, kamu bisa menambah kapasitas atau memindahkan workload sebelum terjadi overload. Dengan demikian, monitoring bukan hanya alat pengawasan, tapi juga dasar pengambilan keputusan strategis untuk efisiensi dan keandalan.
Monitoring baremetal server dengan Prometheus dan Grafana adalah langkah penting untuk memastikan performa, keandalan, dan efisiensi server tetap optimal. Prometheus mengumpulkan data secara detail dan efisien, sementara Grafana memberikan visualisasi yang mudah dipahami bahkan oleh non-teknisi.
Dengan kombinasi ini, kamu dapat mengetahui kondisi server kapan pun secara real-time, membuat dashboard kustom, serta menerima alert otomatis saat ada gangguan. Monitoring yang baik tidak hanya membantu mendeteksi masalah lebih cepat, tapi juga memberikan wawasan untuk perencanaan kapasitas dan optimasi sistem jangka panjang.