Monitoring Linux Server dengan Prometheus, Node Exporter, dan Grafana
- Caution
🚀 Panduan hands-on untuk setup stack monitoring berbasis Prometheus. Kita akan pakai 2 VM berbasis Ubuntu: satu untuk Node Exporter, satu lagi untuk Prometheus + Grafana.
🖥️ Arsitektur Setup
Section titled “🖥️ Arsitektur Setup”- VM 1 (
vms-01
, IP:192.168.1.7
): Node Exporter - VM 2 (
vms-02
, IP:192.168.1.8
): Prometheus & Grafana
🔧 Step 1 — Instalasi Node Exporter
Section titled “🔧 Step 1 — Instalasi Node Exporter”Node Exporter bertugas ngumpulin metrik hardware & OS, lalu dikirim ke Prometheus.
sudo useradd --no-create-home --shell /bin/false node_exporterwget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz -P /mntcd /mnttar -zxvf node_exporter-1.6.1.linux-amd64.tar.gzcp node_exporter-1.6.1.linux-amd64/node_exporter /usr/local/binchown node_exporter:node_exporter /usr/local/bin/node_exporter
Buat service:
[Unit]Description=Node ExporterWants=network-online.targetAfter=network-online.target
[Service]User=node_exporterGroup=node_exporterType=simpleExecStart=/usr/local/bin/node_exporter
[Install]WantedBy=multi-user.target
Lalu aktifkan:
systemctl daemon-reloadsystemctl start node_exportersystemctl enable node_exporter
Cek di browser: http://192.168.1.7:9100/metrics
📦 Step 2 — Instalasi Prometheus
Section titled “📦 Step 2 — Instalasi Prometheus”sudo useradd --no-create-home --shell /usr/sbin/nologin prometheuswget https://github.com/prometheus/prometheus/releases/download/v2.46.0/prometheus-2.46.0.linux-amd64.tar.gz -P /mntcd /mnttar -zxvf prometheus-2.46.0.linux-amd64.tar.gzcp prometheus-2.46.0.linux-amd64/{prometheus,promtool} /usr/local/bin/chown prometheus:prometheus /usr/local/bin/prom*
mkdir /etc/prometheuscp -r prometheus-2.46.0.linux-amd64/{consoles,console_libraries,prometheus.yml} /etc/prometheuschown -R prometheus:prometheus /etc/prometheus
Edit /etc/prometheus/prometheus.yml
:
scrape_configs: - job_name: "prometheus" static_configs: - targets: ["localhost:9090"]
- job_name: "node_exporter" static_configs: - targets: ["192.168.1.7:9100"]
Service Prometheus:
[Unit]Description=Prometheus MonitoringWants=network-online.targetAfter=network-online.target
[Service]User=prometheusGroup=prometheusType=simpleExecStart=/usr/local/bin/prometheus \ --config.file /etc/prometheus/prometheus.yml \ --storage.tsdb.path /etc/prometheus/data/ \ --web.console.templates=/etc/prometheus/consoles \ --web.console.libraries=/etc/prometheus/console_libraries
[Install]WantedBy=multi-user.target
Aktifkan:
systemctl daemon-reloadsystemctl start prometheussystemctl enable prometheus
Cek di browser: http://192.168.1.8:9090
📈 Step 3 — Instalasi Grafana
Section titled “📈 Step 3 — Instalasi Grafana”apt-get install -y apt-transport-https software-properties-common wgetwget -q -O /usr/share/keyrings/grafana.key https://apt.grafana.com/gpg.keyecho "deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.listapt-get update -yapt-get install grafana -y
systemctl start grafana-serversystemctl enable grafana-server
Akses http://192.168.1.8:3000
dengan:
- Username:
admin
- Password:
admin
🧩 Integrasi Grafana dengan Prometheus
Section titled “🧩 Integrasi Grafana dengan Prometheus”- Menu
Connections
→Data Sources
- Pilih
Prometheus
→ URL:http://192.168.1.8:9090
- Klik
Save & Test
🧠 Dashboard
Section titled “🧠 Dashboard”Gunakan template dari: https://grafana.com/grafana/dashboards/10180
- Klik
New
→Import
- Masukkan ID:
10180
- Pilih data source Prometheus →
Import
🎉 Selesai! Sekarang lo punya observability stack yang keren dan open source!
Kalau lo nemu kendala pas setup, drop pertanyaan di komentar. Bisa juga kasih cerita chaos monitoring lo yang seru, siapa tau relate 😄