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

9090, 3000, 10051
Port Utama
TSDB & Zabbix 7.0
Monitoring Core
systemd
Auto Start
Riset & Dokumentasi Teknis oleh HARRY DERTIN SUTISNA — ALSYUNDAWY IT SOLUTION
1

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.

Catatan penting:
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.

2

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
3

Persiapan Awal Sistem

Selalu mulai dengan sistem yang sudah di-update agar menghindari masalah dependensi.

Terminal — System Update
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:

Cek Versi OS
cat /etc/os-release
Pastikan muncul:
VERSION_ID="13" atau VERSION_CODENAME=trixie
4

Instalasi Prometheus

1. Instal dari Repositori Debian

Ini adalah cara paling sederhana dan terintegrasi dengan baik di Debian 13.

Install Package
sudo apt install -y prometheus prometheus-node-exporter

Perintah di atas sekaligus menginstal Prometheus Server dan Node Exporter.

2. Verifikasi Instalasi

Check Version
prometheus --version
promtool --version

3. Aktifkan & Jalankan Service

Systemd Enable & Start
sudo systemctl enable --now prometheus
sudo systemctl enable --now prometheus-node-exporter

Cek status:

Check Service Status
sudo systemctl status prometheus
sudo systemctl status prometheus-node-exporter
Keduanya harus dalam status active (running).

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:

URL Browser
http://IP-SERVER:9090
5

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 Metrics Endpoint
curl http://localhost:9100/metrics | head -n 20
Anda akan melihat banyak metrics dalam format Prometheus (teks plain dengan label).
6

Konfigurasi Prometheus

Buka file konfigurasi:

Edit Config
sudo nano /etc/prometheus/prometheus.yml

Contoh konfigurasi dasar yang sudah baik:

/etc/prometheus/prometheus.yml
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

Validate & 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
7

Instalasi Grafana

1. Tambahkan Repositori Resmi Grafana

GPG Key & Repository
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

APT Install Grafana
sudo apt update
sudo apt install -y grafana

3. Aktifkan Service

Enable & Start Grafana
sudo systemctl daemon-reload
sudo systemctl enable --now grafana-server

Cek status:

Check Grafana Status
sudo systemctl status grafana-server

Akses Grafana

Buka browser:

URL Grafana
http://IP-SERVER:3000
Login Default:
Username: admin
Password: admin

Anda akan diminta mengganti password pada login pertama. Lakukan segera!
8

Menghubungkan Grafana ke Prometheus

  • Login ke Dashboard Grafana.
  • Klik ikon (menu) → ConnectionsData sources.
  • Klik Add data source.
  • Pilih Prometheus.
  • Isi konfigurasi:
    • Name: Prometheus
    • URL: http://localhost:9090
    • Access: Server (default)
  • Scroll ke bawah → klik Save & test.
Jika berhasil, akan muncul pesan hijau “Successfully queried the Prometheus API”.
9

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)

Repository Setup
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

APT Install Zabbix Stack
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

Database Setup & Schema Import
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:

/etc/zabbix/zabbix_server.conf
sudo sed -i 's/# DBPassword=/DBPassword=ZabbixPass123!/' /etc/zabbix/zabbix_server.conf

Aktifkan dan jalankan seluruh layanan Zabbix:

Enable & Start Zabbix Services
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:

URL Zabbix Frontend
http://IP-SERVER/zabbix
Kredensial Default Zabbix Web:
Username: Admin (huruf besar 'A')
Password: zabbix

Wajib mengganti password akun Admin setelah berhasil login pertama kali!
10

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

Install Grafana Zabbix Plugin
sudo grafana-cli plugins install alexanderzobnin-zabbix-app
sudo systemctl restart grafana-server

2. Aktifkan & Hubungkan Plugin Zabbix di Grafana

  • Buka Grafana UI → AdministrationPlugins → Cari Zabbix → Klik Enable.
  • Masuk ke ConnectionsData sourcesAdd 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
Hasil Integrasi:
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.
11

Firewall & Keamanan Dasar

Firewall (UFW)

UFW Configuration
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
Hardening Keamanan (Sangat Disarankan):
  • Ganti password admin Grafana & Zabbix segera setelah login pertama.
  • Nonaktifkan sign-up publik: edit /etc/grafana/grafana.ini[users] allow_sign_up = false lalu 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).
12

Dashboard & Visualisasi

Import Dashboard Node Exporter & Zabbix

  • Di Grafana, klik DashboardsNewImport.
  • 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

PromQL Queries
# 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
13

Pemeliharaan & Troubleshooting

Perintah Berguna

Systemd & Logs
# 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:

Edit Retention Default
sudo nano /etc/default/prometheus

Ubah/isi baris ARGS:

/etc/default/prometheus
ARGS="--storage.tsdb.retention.time=30d --web.enable-lifecycle"

Lalu reload & restart:

Restart Service
sudo systemctl daemon-reload
sudo systemctl restart prometheus
Default retention Prometheus = 15 hari. Flag --web.enable-lifecycle memungkinkan reload config via HTTP tanpa restart.
14

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
Langkah selanjutnya yang direkomendasikan:
  1. Tambahkan Alertmanager untuk Prometheus
  2. Install exporter & template Zabbix lain (Blackbox, Nginx, MySQL, SNMP Switch)
  3. Setup HTTPS dengan Let’s Encrypt + reverse proxy Nginx untuk Grafana & Zabbix
  4. 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.

Dokumentasi teknis berdasarkan riset & pengujian lapangan instalasi Prometheus & Grafana di Debian 13 (Trixie)