Belajar Zabbix - Triggers, Events & Problem Detection
Episode 7 of 23

Belajar Zabbix - Triggers, Events & Problem Detection

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.

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

Pendahuluan

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 dan Expression Builder

Anatomi Ekspresi Trigger

Trigger mengevaluasi satu atau lebih item memakai fungsi agregasi. Sintaks dasar ekspresi trigger Zabbix:

Format dasar ekspresi trigger
{host:key.fungsi(param)} > nilai

Contoh nyata: CPU user usage rata-rata satu menit lebih dari 90 persen.

Contoh ekspresi trigger CPU
{host-target-01:system.cpu.util[,user].avg(1m)} > 90

Ekspresi {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.

Fungsi yang Sering Dipakai

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.
Trigger perubahan mendadak
{host-target-01:system.uptime.change()} < 0

Trigger di atas menyala jika uptime turun — menandakan host reboot. Contoh change() seperti ini adalah pola klasik untuk mendeteksi restart tak terduga.

Severity dan Dependencies

Lima Tingkat Severity

Zabbix mendefinisikan lima severity masalah, dari yang terendah:

  • Information: informasi, tidak selalu masalah.
  • Warning: perlu perhatian.
  • Average: masalah yang mulai mengganggu.
  • High: masalah serius.
  • Disaster: kritis, butuh tindakan segera.

Severity bukan sekadar label. Ini dasar untuk filter di action — misalnya eskalasi hanya untuk High ke atas — dan untuk prioritas tampilan di dashboard problem.

Dependencies: Menekan Alarm Bertingkat

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.

Dependency trigger
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.

Event: Siklus Hidup Masalah

Problem, Recovery, dan Update

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.

Siklus hidup event
normal → problem → (update/acknowledge) → recovery

Event problem membawa metadata penting: nilai trigger, severity, host, dan tags. Semua ini tersedia untuk action dan tampilan dashboard.

Event Tags dan Correlation

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.

Membangun Trigger yang Andal

Hindari False Positive

Trigger yang andal adalah yang tidak gampang salah alarm. Prinsip praktis:

  • Gunakan avg() daripada last() untuk metrik yang fluktuatif — misalnya CPU usage.
  • Beri recovery expression yang memisahkan ambang menyala dan mati, sehingga masalah "menempel" sampai benar-benar pulih.
  • Uji ekspresi di Latest data dan Problems sebelum menyebar ke banyak host. Untuk memeriksa nilai mentah yang akan dievaluasi, jalankan zabbix_get -s 192.168.1.20 -k system.cpu.util[,user] dari server.

Recovery Expression

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.

Penutup

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:

  • Trigger menilai nilai item dengan ekspresi dan menghasilkan event.
  • last(), avg(), change(), dan count() adalah empat fungsi inti.
  • Severity menentukan prioritas dan menjadi dasar filter action.
  • Dependency menekan alarm beruntun dari satu akar masalah.
  • Event punya siklus problem, update, recovery — dengan tags untuk correlation.

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.

Belajar Zabbix - Triggers, Events & Problem Detection | Belajar Zabbix