Belajar Zabbix - Instalasi & Konfigurasi Server (All-in-One)
Episode 3 of 23

Belajar Zabbix - Instalasi & Konfigurasi Server (All-in-One)

Episode ini menuntun kalian menyelesaikan instalasi Zabbix server all-in-one: membuat database MySQL, import schema, mengonfigurasi zabbix_server.conf, dan menyelesaikan setup wizard frontend. Di akhir episode, server Zabbix kalian benar-benar hidup.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

Episode 2 sudah memetakan arsitektur. Episode 3 ini adalah momen paling memuaskan dalam series: menghidupkan Zabbix. Kalian sudah menginstall paket di episode 0, tapi server belum berjalan karena database belum disiapkan. Episode ini menutup celah itu — dan hasilnya adalah sebuah server Zabbix yang utuh, siap menerima host pertama.

Kita akan mengikuti jalur standar dokumentasi resmi Zabbix 7.0 di Ubuntu 24.04 dengan MySQL: membuat database, mengimport schema, mengatur password, mengonfigurasi zabbix_server.conf, mengaktifkan service, lalu menyelesaikan wizard frontend lewat browser. Siapkan kesabaran dan ikuti langkahnya dengan teliti.

Persiapan Database MySQL

Membuat Database dan User

Pertama, buka shell MySQL sebagai root dan buat database zabbix dengan user khusus. Gunakan password yang kuat dan catat di tempat aman — akan dipakai di konfigurasi server dan wizard frontend.

Buat database dan user Zabbix
mysql -uroot -p

Di dalam shell MySQL:

Skema database Zabbix
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'GantiDenganPassword';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
SET GLOBAL log_bin_trust_function_creators = 1;
FLUSH PRIVILEGES;

Baris CREATE DATABASE zabbix ... COLLATE utf8mb4_bin penting: Zabbix 7.0 butuh charset utf8mb4 dengan collation utf8mb4_bin agar case sensitivity berjalan benar. Opsi log_bin_trust_function_creators diperlukan karena schema Zabbix berisi stored function.

Import Schema

Schema yang dibutuhkan server ada di paket zabbix-sql-scripts. Import lewat baris perintah:

Import schema Zabbix
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

Perintah zcat ... | mysql ... zabbix mengalirkan isi schema terkompresi langsung ke database. Proses ini bisa berjalan beberapa menit dan menampilkan banyak warning — itu normal. Setelah selesai, kembali ke shell MySQL dan matikan pengaturan sementara:

Nonaktifkan pengaturan sementara
SET GLOBAL log_bin_trust_function_creators = 0;

Konfigurasi Server

Mengedit zabbix_server.conf

Server membaca parameter dari /etc/zabbix/zabbix_server.conf. Yang wajib kalian sesuaikan adalah kredensial database:

Kredensial database di zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=GantiDenganPassword

Parameter DBHost, DBName, DBUser, dan DBPassword memberi tahu server bagaimana menghubungi MySQL. Setelah mengedit, restart server:

Restart dan aktifkan service
systemctl restart zabbix-server
systemctl enable zabbix-server
systemctl status zabbix-server

Pastikan statusnya active (running). Jika gagal, periksa log dengan journalctl -u zabbix-server -n 50. Error paling umum adalah password salah atau database belum diimport.

Parameter Dasar yang Perlu Dikenal

zabbix_server.conf punya ratusan parameter, tapi untuk sekarang cukup kenali tiga yang paling sering disesuaikan:

  • DBConnection: mode koneksi database, URL atau UnixSocket.
  • StartPollers: jumlah proses poller untuk collection pasif dan SNMP.
  • StartPollersUnreachable: jumlah poller khusus untuk host yang unreachable.
Lihat nilai parameter aktif
zabbix_server --config /etc/zabbix/zabbix_server.conf | grep -i startpoller

Perintah zabbix_server --config ... | grep -i startpoller menampilkan nilai efektif parameter poller. Kita akan mengotak-atik parameter ini secara mendalam di episode 17 tentang performance tuning.

Setup Wizard Frontend

Menyiapkan Nginx dan PHP

Frontend Zabbix butuh Nginx dan PHP-FPM. Konfigurasi bawaan zabbix-nginx-conf sudah menyesuaikan keduanya — cukup edit satu baris di /etc/zabbix/nginx.conf untuk mengarahkan server name ke hostname kalian:

Aktifkan dan restart service web
systemctl restart zabbix-server zabbix-agent2 nginx php8.3-fpm
systemctl enable zabbix-server zabbix-agent2 nginx php8.3-fpm

Pastikan ketiganya berjalan. Nginx akan meneruskan permintaan ke PHP-FPM, dan PHP-FPM mengeksekusi frontend Zabbix.

Menyelesaikan Wizard di Browser

Buka browser kalian dan akses http://<alamat-ip-server>/. Kalian akan disambut wizard langkah demi langkah:

  1. Check of pre-requisites: pastikan semua baris hijau — perhatikan ekstensi PHP gd, bcmath, dan mbstring.
  2. Configure DB connection: isi host, database, user, dan password yang sama seperti di zabbix_server.conf.
  3. Zabbix server details: isi nama server, biasanya sama dengan hostname.
  4. Display settings: pilih zona waktu dan bahasa.
  5. Summary dan install: klik Next sampai selesai.

Setelah wizard selesai, login dengan user bawaan Admin dan password zabbix.

Warning

Ganti password user Admin segera setelah login pertama. Akun default Admin dengan password zabbix adalah pintu masuk paling umum untuk serangan terhadap frontend Zabbix yang terekspos ke internet.

Verifikasi Server Berjalan

Setelah wizard selesai, lakukan verifikasi cepat bahwa seluruh rangkaian hidup:

Cek proses dan versi
systemctl is-active zabbix-server
systemctl is-active nginx
zabbix_server --version

Jika semua perintah mengembalikan nilai aktif dan frontend menampilkan dashboard, instalasi all-in-one kalian selesai. Dashboard Zabbix 7.0 akan menampilkan overview host, masalah yang sedang berjalan, dan status sistem secara real-time.

Cek aktivitas server melalui API
curl -s -X POST http://localhost/api_jsonrpc.php \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"apiinfo.version","id":1,"params":{}}'

Perintah curl -s -X POST http://localhost/api_jsonrpc.php memanggil API untuk menanyakan versi. Response JSON dengan nomor versi berarti API, server, dan frontend berfungsi — dasar automation di episode 14.

Penutup

Episode 3 menutup fase instalasi: database MySQL dibuat dan diimport, zabbix_server.conf terkonfigurasi, service aktif, wizard frontend selesai, dan API merespons. Kalian kini memiliki server Zabbix all-in-one yang benar-benar hidup.

Inti yang harus dibawa pulang:

  • Database Zabbix butuh charset utf8mb4 dan collation utf8mb4_bin.
  • Import schema lewat zcat ... | mysql, lalu nonaktifkan log_bin_trust_function_creators.
  • zabbix_server.conf adalah pusat konfigurasi server: database, poller, dan cache.
  • Wizard frontend menuntun konfigurasi koneksi DB dan pengaturan tampilan.
  • Ganti password Admin bawaan segera setelah login pertama.

Di episode 4 selanjutnya kita akan membahas agent deployment dan active/passive monitoring — mengonfigurasi zabbix_agent2.conf, perbedaan agent generasi lama dan agent2, serta testing collection dengan zabbix_get dan zabbix_sender. Host target dari episode 0 akan mulai dimonitor untuk pertama kalinya.