Panduan Monitoring Server MenggunakanPrometheus, Node Exporter, dan Grafana

Monitoring adalah komponen wajib dalam sistem modern. Tanpa monitoring, kita tidak tahu:

  • Apakah server sedang overload
  • Apakah disk hampir penuh
  • Apakah aplikasi crash diam-diam

Stack Prometheus + Node Exporter + Grafana adalah standar industri saat ini karena:

  • Open-source
  • Ringan
  • Mudah dikembangkan
  • Dipakai luas (cloud provider, Kubernetes, bare metal)

Pada panduan ini kita akan:

  • Menginstal Node Exporter untuk membaca metrik server
  • Menginstal Prometheus untuk mengumpulkan dan menyimpan metrik
  • Menginstal Grafana untuk visualisasi
  • Menjalankan semuanya sebagai systemd service
  • Memastikan otomatis jalan setelah reboot

Arsitektur Singkat

[ Ubuntu 24.04 ]
 ├─ Node Exporter  → port 9100 (system metrics)
 ├─ Prometheus     → port 9090 (collector)
 └─ Grafana        → port 3000 (dashboard)

Persiapan Sistem

sudo apt update && sudo apt upgrade -y
sudo apt install -y wget curl tar gnupg2

Membuat user khusus (best practice security)

  • Service tidak dijalankan sebagai root
  • Lebih aman jika terjadi exploit
sudo useradd --no-create-home --shell /usr/sbin/nologin prometheus
sudo useradd --no-create-home --shell /usr/sbin/nologin node_exporter

Install Node Exporter

Untuk link URL Node Exporter dan Prometheus terbaru bisa dicek di https://prometheus.io/download/

Download Node Exporter

cd /tmp
wget https://github.com/prometheus/node_exporter/releases/latest/download/node_exporter-*.linux-amd64.tar.gz

Mengekstrak file node_exporter.

tar xvf node_exporter-*.linux-amd64.tar.gz

Install binary node_exporter

Salin binary ke folder executable global.

sudo cp node_exporter-*/node_exporter /usr/local/bin/

Mengatur kepemilikan file agar dijalankan oleh user node_exporter.

sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter

Buat service systemd Node Exporter

sudo nano /etc/systemd/system/node_exporter.service

Isi:

[Unit]
Description=Prometheus Node Exporter
After=network-online.target

[Service]
User=node_exporter
ExecStart=/usr/local/bin/node_exporter
Restart=always

[Install]
WantedBy=multi-user.target

Penjelasan singkat bagian penting:

  • ExecStart → command yang dijalankan
  • Restart=always → otomatis restart jika crash
  • WantedBy=multi-user.target → auto start saat boot

Aktifkan service:

sudo systemctl daemon-reload
sudo systemctl enable --now node_exporter

Cek:

curl http://localhost:9100/metrics

Jika muncul banyak teks metrik → Node Exporter berjalan normal.

Install Prometheus

Download Prometheus

cd /tmp
wget https://github.com/prometheus/prometheus/releases/latest/download/prometheus-*.linux-amd64.tar.gz
tar xvf prometheus-*.linux-amd64.tar.gz

Setup folder & binary

sudo mkdir -p /etc/prometheus /var/lib/prometheus
  • /etc/prometheus → konfigurasi
  • /var/lib/prometheus → data time-series
sudo cp prometheus-*/prometheus /usr/local/bin/
sudo cp prometheus-*/promtool /usr/local/bin/
  • prometheus → server utama
  • promtool → validasi konfigurasi

Konfigurasi Prometheus

sudo nano /etc/prometheus/prometheus.yml

Isi:

global:
  scrape_interval: 15s

scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]

  - job_name: "node_exporter"
    static_configs:
      - targets: ["localhost:9100"]
  • scrape_interval → interval ambil metrik
  • targets → alamat exporter

Validasi konfigurasi:

sudo -u prometheus promtool check config /etc/prometheus/prometheus.yml

Service systemd Prometheus

sudo nano /etc/systemd/system/prometheus.service

Isi:

[Unit]
Description=Prometheus
After=network-online.target

[Service]
User=prometheus
ExecStart=/usr/local/bin/prometheus \
  --config.file=/etc/prometheus/prometheus.yml \
  --storage.tsdb.path=/var/lib/prometheus
Restart=always

[Install]
WantedBy=multi-user.target

Aktifkan:

sudo systemctl daemon-reload
sudo systemctl enable --now prometheus

Cek:

curl http://localhost:9090/-/healthy

Install Grafana

Tambah repository resmi

sudo mkdir -p /etc/apt/keyrings
wget -q -O - https://apt.grafana.com/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/grafana.gpg

Menambahkan GPG key agar paket Grafana terpercaya.

echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" \
 | sudo tee /etc/apt/sources.list.d/grafana.list

Install Grafana:

sudo apt update
sudo apt install grafana -y

Aktifkan:

sudo systemctl enable --now grafana-server

Akses:

http://SERVER_IP:3000

Hubungkan Grafana ke Prometheus

  1. Login Grafana
  2. Connections → Data Sources
  3. Add Prometheus
  4. URL: http://localhost:9090
  5. Save & Test

Import Dashboard

  • Dashboard ID: 1860
  • Nama: Node Exporter Full

Langkah:

  • + → Import → 1860 → pilih Prometheus

Selamat mencoba!