Prometheus, Grafana & Zabbix Stack
Panduan Instalasi Lengkap Prometheus, Node Exporter, Grafana, dan Zabbix 7.0 LTS di Debian 13 (Trixie) serta Integrasi Single Pane of Glass
Debian 13 (Trixie) · APT Package Manager · Systemd Auto-Start · Grafana & Zabbix Official Repositories
Pendahuluan
Prometheus adalah sistem monitoring dan time-series database open-source yang sangat populer di dunia Cloud Native. Ia mengumpulkan metrics dengan metode pull (scraping) dari target yang ditentukan.
Grafana adalah platform visualisasi data yang powerful. Kombinasi keduanya menjadi standar industri untuk monitoring infrastruktur, aplikasi, dan layanan.
Pada Debian 13 (Trixie), Prometheus sudah tersedia di repositori resmi Debian. Grafana paling baik diinstal dari repositori resmi Grafana Labs agar mendapatkan versi terbaru dan update keamanan.
Tutorial ini menggunakan metode APT package yang paling stabil, aman, dan mudah di-maintain.
Persyaratan Sistem
| Komponen | Minimum Recommended |
|---|---|
| OS | Debian 13 (Trixie) amd64 |
| RAM | 2 GB (4 GB+ lebih baik) |
| Disk | 20 GB free space |
| CPU | 2 vCPU |
| Akses | Root atau user dengan sudo |
| Port | 9090, 9100, 3000, 10050, 10051, 80/443 |
Persiapan Awal Sistem
Selalu mulai dengan sistem yang sudah di-update agar menghindari masalah dependensi.
sudo apt update
sudo apt upgrade -y
sudo apt install -y curl wget gnupg2 apt-transport-https software-properties-common ca-certificates
Periksa versi Debian:
cat /etc/os-release
VERSION_ID="13" atau VERSION_CODENAME=trixie
Instalasi Prometheus
1. Instal dari Repositori Debian
Ini adalah cara paling sederhana dan terintegrasi dengan baik di Debian 13.
sudo apt install -y prometheus prometheus-node-exporter
Perintah di atas sekaligus menginstal Prometheus Server dan Node Exporter.
2. Verifikasi Instalasi
prometheus --version
promtool --version
3. Aktifkan & Jalankan Service
sudo systemctl enable --now prometheus
sudo systemctl enable --now prometheus-node-exporter
Cek status:
sudo systemctl status prometheus
sudo systemctl status prometheus-node-exporter
Lokasi File Penting
| Path | Keterangan |
|---|---|
/etc/prometheus/prometheus.yml |
File konfigurasi utama |
/var/lib/prometheus/ |
Data time-series (TSDB) |
/usr/share/prometheus/ |
File pendukung |
| Port 9090 | Web UI Prometheus |
Akses Web UI Prometheus di browser:
http://IP-SERVER:9090
Instalasi Node Exporter
Node Exporter sudah terinstal bersama perintah di atas. Ia mengekspos metrics sistem (CPU, memory, disk, network, dll.) di port 9100.
Verifikasi metrics:
curl http://localhost:9100/metrics | head -n 20
Konfigurasi Prometheus
Buka file konfigurasi:
sudo nano /etc/prometheus/prometheus.yml
Contoh konfigurasi dasar yang sudah baik:
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'node'
static_configs:
- targets: ['localhost:9100']
Validasi & Reload
# Validasi konfigurasi
promtool check config /etc/prometheus/prometheus.yml
# Reload tanpa downtime
sudo systemctl reload prometheus
# atau
curl -X POST http://localhost:9090/-/reload
Instalasi Grafana
1. Tambahkan Repositori Resmi Grafana
sudo mkdir -p /etc/apt/keyrings
sudo wget -q -O /etc/apt/keyrings/grafana.asc https://apt.grafana.com/gpg-full.key
sudo chmod 644 /etc/apt/keyrings/grafana.asc
echo "deb [signed-by=/etc/apt/keyrings/grafana.asc] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
2. Update & Install
sudo apt update
sudo apt install -y grafana
3. Aktifkan Service
sudo systemctl daemon-reload
sudo systemctl enable --now grafana-server
Cek status:
sudo systemctl status grafana-server
Akses Grafana
Buka browser:
http://IP-SERVER:3000
Username:
adminPassword:
adminAnda akan diminta mengganti password pada login pertama. Lakukan segera!
Menghubungkan Grafana ke Prometheus
- Login ke Dashboard Grafana.
- Klik ikon ☰ (menu) → Connections → Data sources.
- Klik Add data source.
- Pilih Prometheus.
- Isi konfigurasi:
- Name: Prometheus
- URL:
http://localhost:9090 - Access: Server (default)
- Scroll ke bawah → klik Save & test.
Instalasi & Konfigurasi Zabbix 7.0 LTS
Zabbix 7.0 LTS adalah platform enterprise monitoring berbasis agent dan agentless (SNMP, IPMI, JMX, HTTP) yang ideal untuk monitoring infrastruktur jaringan, server, dan layanan enterprise.
1. Tambahkan Repositori Resmi Zabbix (Debian 13)
wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.0+debian13_all.deb
sudo dpkg -i zabbix-release_latest_7.0+debian13_all.deb
sudo apt update
2. Install Zabbix Server, Frontend, Agent 2 & Database MariaDB
sudo apt install -y mariadb-server zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent2
3. Setup Database Zabbix & Impor Skema
sudo systemctl start mariadb
# Buat database dan user Zabbix
sudo mysql -u root -e "CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
sudo mysql -u root -e "CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'ZabbixPass123!';"
sudo mysql -u root -e "GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';"
sudo mysql -u root -e "FLUSH PRIVILEGES;"
# Impor data awal Zabbix Server
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | sudo mysql -u zabbix -p'ZabbixPass123!' zabbix
4. Konfigurasi Zabbix Server & Start Service
Konfigurasi kata sandi database pada /etc/zabbix/zabbix_server.conf:
sudo sed -i 's/# DBPassword=/DBPassword=ZabbixPass123!/' /etc/zabbix/zabbix_server.conf
Aktifkan dan jalankan seluruh layanan Zabbix:
sudo systemctl restart zabbix-server zabbix-agent2 apache2
sudo systemctl enable zabbix-server zabbix-agent2 apache2 mariadb
Akses Zabbix Web UI
Buka browser dan ikuti wizard instalasi frontend:
http://IP-SERVER/zabbix
Username:
Admin (huruf besar 'A')Password:
zabbixWajib mengganti password akun Admin setelah berhasil login pertama kali!
Penggabungan Stack (Integrasi Unified Monitoring)
Untuk menciptakan arsitektur monitoring terpadu (Single Pane of Glass), kita menggabungkan keunggulan Prometheus (time-series high frequency metrics), Zabbix (network SNMP & enterprise alerting), dan Grafana sebagai visualizer utama.
1. Install Plugin Zabbix di Grafana
sudo grafana-cli plugins install alexanderzobnin-zabbix-app
sudo systemctl restart grafana-server
2. Aktifkan & Hubungkan Plugin Zabbix di Grafana
- Buka Grafana UI → Administration → Plugins → Cari Zabbix → Klik Enable.
- Masuk ke Connections → Data sources → Add data source → Pilih Zabbix.
- Isi konfigurasi berikut:
- Name: Zabbix
- URL:
http://localhost/zabbix/api_jsonrpc.php - Username:
Admin - Password: Password Zabbix Anda
- Klik Save & test hingga muncul centang hijau.
3. Arsitektur Matriks Integrasi Monitoring
| Komponen | Fungsi Utama | Protokol / Port | Peran dalam Integrasi |
|---|---|---|---|
| Prometheus | TSDB & Pull Metrics High Frequency | HTTP (9090) | Metrics OS, Container, App, Kubernetes |
| Node Exporter | Hardware & System Metrics Agent | HTTP (9100) | Eksportir statistik fisik server Linux |
| Zabbix 7.0 LTS | Enterprise Network & SNMP Monitoring | Zabbix (10051) / HTTP (80) | Switch, Router, Firewall, SLA, Trigger Escalation |
| Grafana | Unified Visualization & Dashboard | HTTP (3000) | Konsolidasi multi-source data ke 1 Dashboard |
Sekarang Anda memiliki panel visualisasi tunggal di Grafana yang menampilkan statistik real-time dari Prometheus sekaligus status infrastruktur jaringan dan alarm event dari Zabbix secara berdampingan.
Firewall & Keamanan Dasar
Firewall (UFW)
sudo apt install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp comment 'SSH'
sudo ufw allow 80/tcp comment 'HTTP (Zabbix Web)'
sudo ufw allow 443/tcp comment 'HTTPS'
sudo ufw allow 3000/tcp comment 'Grafana'
sudo ufw allow 10050/tcp comment 'Zabbix Agent'
sudo ufw allow 10051/tcp comment 'Zabbix Server'
# Hanya buka 9090/9100 jika dibutuhkan dari remote (lebih aman batasi IP)
# sudo ufw allow from 10.0.0.0/8 to any port 9090
sudo ufw enable
sudo ufw status verbose
- Ganti password admin Grafana & Zabbix segera setelah login pertama.
- Nonaktifkan sign-up publik: edit
/etc/grafana/grafana.ini→[users] allow_sign_up = falselalu restart service. - Jangan expose port 9090 (Prometheus), 9100 (Node Exporter), dan 10051 (Zabbix Server) langsung ke internet publik tanpa SSL/VPN.
- Gunakan reverse proxy (Nginx/Caddy) + Let’s Encrypt HTTPS untuk Grafana & Zabbix Web.
- Pertimbangkan systemd hardening (
NoNewPrivileges,ProtectSystem=strict, dll).
Dashboard & Visualisasi
Import Dashboard Node Exporter & Zabbix
- Di Grafana, klik ☰ → Dashboards → New → Import.
- Masukkan ID dashboard populer:
- 1860 → Node Exporter Full (Prometheus)
- 11074 → Node Exporter for Prometheus
- 5363 → Zabbix Server Dashboard (Zabbix)
- Pilih Data Source sesuai tipe (Prometheus atau Zabbix).
- Klik Import.
Contoh Query PromQL Berguna
# Penggunaan CPU
100 - (avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
# Penggunaan Memory
(1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) * 100
# Disk usage
(node_filesystem_size_bytes{fstype!="tmpfs"} - node_filesystem_avail_bytes{fstype!="tmpfs"})
/ node_filesystem_size_bytes{fstype!="tmpfs"} * 100
Pemeliharaan & Troubleshooting
Perintah Berguna
# Status seluruh service monitoring
sudo systemctl status prometheus grafana-server prometheus-node-exporter zabbix-server zabbix-agent2 apache2 mariadb
# Restart service
sudo systemctl restart prometheus grafana-server zabbix-server zabbix-agent2
# Log real-time
sudo journalctl -u prometheus -f
sudo journalctl -u grafana-server -f
sudo journalctl -u zabbix-server -f
sudo tail -f /var/log/zabbix/zabbix_server.log
Masalah Umum & Solusi
| Masalah | Solusi |
|---|---|
| Service gagal start | journalctl -u <service> -xe |
| Targets DOWN (Prometheus) | Cek firewall & curl localhost:9100/metrics |
| Grafana tidak connect ke Prometheus | Pastikan URL http://localhost:9090 |
| Zabbix API Error di Grafana | Pastikan URL http://localhost/zabbix/api_jsonrpc.php & user Admin aktif |
| Disk penuh | Atur retention time Prometheus & Zabbix Housekeeper |
Atur Retention Data (Opsional – Recommended)
Pada paket Debian, cara paling bersih:
sudo nano /etc/default/prometheus
Ubah/isi baris ARGS:
ARGS="--storage.tsdb.retention.time=30d --web.enable-lifecycle"
Lalu reload & restart:
sudo systemctl daemon-reload
sudo systemctl restart prometheus
--web.enable-lifecycle memungkinkan reload config via HTTP tanpa restart.
Kesimpulan
Anda sekarang memiliki stack monitoring modern enterprise yang lengkap:
- Prometheus → mengumpulkan & menyimpan metrics time-series frekuensi tinggi
- Node Exporter → metrics hardware & OS Linux
- Zabbix 7.0 LTS → monitoring jaringan enterprise, SNMP, ITIL asset management, dan trigger alert
- Grafana → visualisasi terpusat (Single Pane of Glass) menyatukan Prometheus & Zabbix
- Tambahkan Alertmanager untuk Prometheus
- Install exporter & template Zabbix lain (Blackbox, Nginx, MySQL, SNMP Switch)
- Setup HTTPS dengan Let’s Encrypt + reverse proxy Nginx untuk Grafana & Zabbix
- Buat alerting rules & notifikasi otomatis via Telegram / Slack / Email
Selamat mencoba! Jika ada pertanyaan atau error, periksa log dengan journalctl atau /var/log/zabbix/zabbix_server.log terlebih dahulu.