Episode ini membedah arsitektur Zabbix secara menyeluruh: Zabbix Server, Agent, Proxy, Frontend, Database, dan API. Kalian juga memahami alur data dari collection hingga notifikasi, serta perbedaan mode collection aktif dan pasif.

Episode 1 menjelaskan mengapa Zabbix ada. Episode 2 ini menjawab bagaimana dia bekerja — sebuah pertanyaan yang lebih mendasar dari yang kalian kira. Sebelum menambah host pertama, kalian harus memahami enam komponen arsitektur dan bagaimana data mengalir di antara mereka.
Anggap episode ini sebagai peta jalan arsitektural. Setiap istilah yang kalian pelajari di sini — item, trigger, event, action, proxy — akan dipakai terus-menerus sampai episode 22. Luangkan waktu, pahami alurnya, dan semua episode berikutnya akan terasa seperti menyusun blok Lego yang sudah kalian kenal.
Zabbix Server adalah otak dari semuanya. Server bertanggung jawab atas collection data dari agent dan poller, processing data mentah menjadi history dan trend, evaluasi trigger, serta alerting. Server membaca semua konfigurasi dari database dan menjalankan ratusan proses worker yang namanya sudah diatur di zabbix_server.conf — seperti poller, trapper, dan housekeeper.
Zabbix Agent adalah endpoint yang dipasang di host yang dimonitor. Agent menjalankan item, mengukur nilai di dalam host, dan mengirim hasilnya ke server. Ada dua generasi:
Sejak episode 0 kita memakai agent2, dan seluruh series ini mengikuti pilihan tersebut. Konfigurasi zabbix_agent2.conf akan kita bedah di episode 4.
Zabbix Proxy adalah perpanjangan tangan server untuk lingkungan remote. Proxy mengumpulkan data atas nama server di lokasi yang jauh, menyimpannya sementara, lalu meneruskannya ke server. Ini mengurangi beban jaringan dan memungkinkan monitoring melewati firewall. Detail lengkap proxy ada di episode 10.
Zabbix Frontend adalah antarmuka web berbasis PHP yang menjadi wajah Zabbix — tempat kalian mengelola host, melihat dashboard, dan membaca laporan. Database (MySQL atau PostgreSQL) menyimpan seluruh konfigurasi dan data metrik. Zabbix API adalah antarmuka JSON-RPC di /api_jsonrpc.php yang memungkinkan automation penuh, akan kita bahas di episode 14.
Zabbix Frontend (Web UI) + Zabbix API
│
Zabbix Server ─────────────── Database (MySQL/PostgreSQL)
│
┌────┴────┐
Agent/Agent2 Proxy (lokasi remote)Alur data dimulai saat nilai metrik dikumpulkan. Dua jalur utama menuju server:
Nilai yang diterima server menjadi history (data mentah per detik interval) dan diagregasi menjadi trend (rata-rata per jam). History dan trend akan kita bedah di episode 12. Dari sini, frontend membaca database untuk menampilkan grafik dan dashboard.
Ini adalah jantung logika monitoring Zabbix — rantai lima tahap:
item → trigger → event → action → notificationItem mendefinisikan apa yang diukur. Trigger mengevaluasi nilai item terhadap kondisi, misalnya avg CPU di atas 90 persen. Saat kondisi terpenuhi, trigger berubah status dan menghasilkan event problem. Action merespons event dengan operasi — mengirim pesan, menjalankan remote command, atau eskalasi. Terakhir, notification dikirim melalui media seperti email atau Telegram. Kita akan membedah tiap tahap mulai episode 6.
Perbedaan mendasar yang wajib kalian kuasai sejak sekarang:
systemctl status zabbix-server
systemctl status zabbix-agent2Perintah systemctl status zabbix-agent2 memperlihatkan status agent2 yang terpasang di episode 0. Jika kedua service active (running), arsitektur dasar kalian sudah hidup.
Sebelum lanjut, kenali tiga objek paling dasar:
system.cpu.util untuk CPU usage.Sebuah host bisa punya ratusan item, dan tiap item menghasilkan nilai secara berkala sesuai interval. Kombinasi host dan item inilah yang menentukan besarnya database — pertimbangan penting di episode 12 dan 17.
Template adalah paket konfigurasi yang bisa dipakai ulang: kumpulan item, trigger, dan action yang didefinisikan sekali lalu dilampirkan ke banyak host. Alih-alih membuat 50 item manual untuk 100 host, kalian membuat satu template dan menautkannya. Konsep template akan menjadi tema besar di episode 5 dan 18.
Tip
Mulailah dengan pola pikir template sejak awal. Host yang dimonitor lewat template jauh lebih mudah dikelola, karena perubahan cukup dilakukan di satu tempat dan menyebar ke semua host yang menautkannya.
Episode 2 memberi kalian fondasi arsitektural: enam komponen Zabbix yang saling terhubung, alur data dari collection sampai storage, rantai item hingga notifikasi, dan perbedaan mode collection aktif dan pasif. Dengan ini, kalian siap memahami setiap fitur yang akan datang.
Inti yang harus dibawa pulang:
item → trigger → event → action → notification.Di episode 3 selanjutnya kita akan membahas instalasi dan konfigurasi server all-in-one — inisialisasi database MySQL, import schema, konfigurasi zabbix_server.conf, dan menyelesaikan setup wizard frontend. Di akhir episode 3, kalian akan memiliki server Zabbix yang benar-benar hidup dan siap dimonitor.