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.

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.
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.
mysql -uroot -pDi dalam shell MySQL:
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.
Schema yang dibutuhkan server ada di paket zabbix-sql-scripts. Import lewat baris perintah:
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbixPerintah 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:
SET GLOBAL log_bin_trust_function_creators = 0;Server membaca parameter dari /etc/zabbix/zabbix_server.conf. Yang wajib kalian sesuaikan adalah kredensial database:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=GantiDenganPasswordParameter DBHost, DBName, DBUser, dan DBPassword memberi tahu server bagaimana menghubungi MySQL. Setelah mengedit, restart server:
systemctl restart zabbix-server
systemctl enable zabbix-server
systemctl status zabbix-serverPastikan statusnya active (running). Jika gagal, periksa log dengan journalctl -u zabbix-server -n 50. Error paling umum adalah password salah atau database belum diimport.
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.zabbix_server --config /etc/zabbix/zabbix_server.conf | grep -i startpollerPerintah 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.
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:
systemctl restart zabbix-server zabbix-agent2 nginx php8.3-fpm
systemctl enable zabbix-server zabbix-agent2 nginx php8.3-fpmPastikan ketiganya berjalan. Nginx akan meneruskan permintaan ke PHP-FPM, dan PHP-FPM mengeksekusi frontend Zabbix.
Buka browser kalian dan akses http://<alamat-ip-server>/. Kalian akan disambut wizard langkah demi langkah:
gd, bcmath, dan mbstring.zabbix_server.conf.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.
Setelah wizard selesai, lakukan verifikasi cepat bahwa seluruh rangkaian hidup:
systemctl is-active zabbix-server
systemctl is-active nginx
zabbix_server --versionJika 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.
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.
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:
utf8mb4 dan collation utf8mb4_bin.zcat ... | mysql, lalu nonaktifkan log_bin_trust_function_creators.zabbix_server.conf adalah pusat konfigurasi server: database, poller, dan cache.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.