Episode ini membahas otak dari alerting Zabbix: trigger dengan expression builder, severity levels, dan dependencies. Kalian juga memahami siklus hidup event dari problem hingga recovery, event tags, dan correlation untuk menyaring alarm palsu.

Item mengumpulkan data, preprocessing membersihkannya. Tapi sampai di sini Zabbix baru "melihat" tanpa "memahami". Episode 7 ini memberi Zabbix kemampuan yang membuatnya berharga: trigger — kondisi yang menilai apakah nilai item sudah menyimpang dari normal. Tanpa trigger, Zabbix hanyalah gudang angka; dengan trigger, dia menjadi sistem deteksi masalah.
Ini juga episode tentang event — objek yang menandai perubahan status. Siklus hidup event, severity, dan correlation adalah topik yang membedakan operator monitoring yang baik dari yang sekadar menyalin ekspresi trigger. Mari kita bedah dari fondasinya.
Trigger mengevaluasi satu atau lebih item memakai fungsi agregasi. Sintaks dasar ekspresi trigger Zabbix:
{host:key.fungsi(param)} > nilaiContoh nyata: CPU user usage rata-rata satu menit lebih dari 90 persen.
{host-target-01:system.cpu.util[,user].avg(1m)} > 90Ekspresi {host:key.avg(1m)} > 90 dibaca: rata-rata nilai key selama satu menit melebihi 90. Di frontend, kalian menulis ini lewat expression builder yang menyediakan fungsi dan preview nilai real-time — sangat membantu menghindari kesalahan sintaks.
Beberapa fungsi yang wajib kalian kenal:
last(): nilai terakhir dari item.avg(): rata-rata dalam rentang waktu.change(): selisih nilai terhadap nilai sebelumnya.count(): jumlah nilai yang memenuhi kondisi dalam rentang.{host-target-01:system.uptime.change()} < 0Trigger di atas menyala jika uptime turun — menandakan host reboot. Contoh change() seperti ini adalah pola klasik untuk mendeteksi restart tak terduga.
Zabbix mendefinisikan lima severity masalah, dari yang terendah:
Severity bukan sekadar label. Ini dasar untuk filter di action — misalnya eskalasi hanya untuk High ke atas — dan untuk prioritas tampilan di dashboard problem.
Saat satu server mati, semua item di dalamnya ikut tidak berfungsi dan puluhan trigger bisa menyala sekaligus. Dependency memungkinkan satu trigger "menaungi" yang lain: jika trigger induk menyala, trigger anak yang bergantung padanya otomatis di-mark sebagai not dependent dan tidak menghasilkan notifikasi.
Host down (induk)
└── Disk space full (tidak dikirim jika induk menyala)
└── Service X down (tidak dikirim)Mengatur dependency dengan benar adalah salah satu cara paling efektif mengurangi noise alarm. Hirarki di atas membuat operator hanya menerima satu pemberitahuan untuk satu akar masalah.
Saat ekspresi trigger bernilai benar, Zabbix menciptakan event problem. Saat ekspresi kembali salah, event recovery dibuat dan masalah ditutup. Di antara keduanya, masalah bisa menerima update — komentar, assignee, atau perubahan severity — yang tercatat sebagai history event.
normal → problem → (update/acknowledge) → recoveryEvent problem membawa metadata penting: nilai trigger, severity, host, dan tags. Semua ini tersedia untuk action dan tampilan dashboard.
Event tags adalah pasangan key-value yang menempel pada event, contoh service:web atau dc:jakarta. Tags membuka kemampuan correlation: menyatukan beberapa event menjadi satu masalah yang koheren, atau mengelompokkan event dari host yang sama. Correlation adalah senjata tingkat lanjut untuk lingkungan besar yang rawan duplicate alarm.
Tip
Mulai biasakan memberi tags pada trigger sejak episode ini. Tags tidak hanya berguna untuk correlation, tapi juga untuk filtering di dashboard dan integrasi webhook seperti Slack dan PagerDuty di episode 8.
Trigger yang andal adalah yang tidak gampang salah alarm. Prinsip praktis:
avg() daripada last() untuk metrik yang fluktuatif — misalnya CPU usage.zabbix_get -s 192.168.1.20 -k system.cpu.util[,user] dari server.Secara default, trigger pulih saat ekspresi bernilai salah. Untuk lingkungan yang noise, set recovery expression terpisah. Contoh: menyala di atas 90 persen, baru pulih saat di bawah 70 persen. Ini mencegah trigger berkedip di sekitar ambang batas.
Episode 7 memberi Zabbix kemampuan berpikir: trigger dengan expression builder dan fungsi last, avg, change, serta count, severity lima tingkat, dependency untuk menekan alarm bertingkat, dan siklus hidup event dari problem hingga recovery dengan tags dan correlation.
Inti yang harus dibawa pulang:
last(), avg(), change(), dan count() adalah empat fungsi inti.Di episode 8 selanjutnya kita akan membahas actions, media, dan alerting — mengonfigurasi action yang merespons event, menghubungkan media seperti email, webhook, dan Telegram, serta merancang escalation yang tidak membanjiri operator.