Episode ini membedah item sebagai unit dasar data collection: jenis-jenis item mulai dari agent, SNMP, ICMP, hingga HTTP agent, pemahaman keys dan interval, serta preprocessing untuk menormalkan data mentah dengan JavaScript, JSONPath, dan multiplier.

Di episode 5 kalian menautkan template dan host mulai menghasilkan data. Episode 6 ini mengajak kalian turun satu tingkat — ke item, unit paling dasar dari seluruh Zabbix. Item menentukan apa yang diukur, dari mana datanya, dan seberapa sering. Memahami item berarti memahami bagaimana Zabbix berbicara dengan dunia.
Kita juga akan membahas preprocessing, salah satu fitur yang paling sering diremehkan padahal paling menentukan kualitas data. Data mentah dari aplikasi jarang langsung siap dipakai: JSON perlu di-extract, satuan perlu dikonversi, dan error perlu ditangani. Episode ini memberi kalian seluruh toolkit-nya.
Zabbix mendukung banyak tipe item untuk berbagai sumber data:
system.cpu.util.1.3.6.1.2.1.1.1.0.icmpping, icmppingloss, icmppingsec.zabbix_get -s 192.168.1.20 -k system.cpu.util[,user]Perintah zabbix_get -s ... -k system.cpu.util[,user] mengeksekusi key agent untuk CPU user usage. Setiap tipe item punya key dan sintaks argumen sendiri — kebiasaan mengetes key dengan zabbix_get akan menghemat waktu troubleshooting.
Sebuah key terdiri dari nama dan argumen yang dipisahkan koma, contoh system.cpu.util[avg1]. Argumen bisa berisi parameter seperti interval atau format. Untuk SNMP, alih-alih key, kalian menentukan OID dan tipe data dari hasil query. Memahami struktur key adalah prasyarat untuk membuat item manual dan custom template.
Setiap item punya interval default — template resmi biasanya memakai 1 menit. Kalian bisa menyesuaikan per item: item yang penting diperpendek, item yang jarang berubah diperpanjang. Interval yang terlalu pendek akan membebani server dan database, sedangkan yang terlalu panjang membuat data kurang responsif.
Kebijakan yang sehat adalah menetapkan interval default di template, lalu meng-override hanya untuk item yang benar-benar butuh. Seluruh item di satu host diwarisi dari template — kalian tidak perlu mengatur interval ratusan kali.
Data yang dikumpulkan jarang dalam bentuk ideal. Contoh nyata: sebuah API mengembalikan JSON dengan nilai CPU di dalam struktur bertingkat, atau skrip mengirim persentase sebagai string dengan tanda persen. Preprocessing adalah rantai langkah yang mengubah nilai mentah menjadi nilai yang siap disimpan dan dianalisis.
Zabbix preprocessing mendukung banyak langkah yang bisa dirantai:
var data = JSON.parse(value);
return data.metrics.cpu.usage;Skrip di atas mengekstrak cpu.usage dari JSON bertingkat. Di frontend, langkah preprocessing dikonfigurasi di form item — Zabbix mengeksekusi langkah secara berurutan, output langkah pertama menjadi input langkah berikutnya.
Kombinasi khas: item HTTP agent mengambil endpoint API, lalu preprocessing memakai JSONPath untuk mengambil satu field.
{
"status": "ok",
"metrics": {
"cpu": 42.5,
"memory": 61.3
}
}Untuk mengambil nilai cpu, JSONPath yang dipakai adalah $.metrics.cpu. Item tipe HTTP agent dengan URL endpoint plus langkah preprocessing JSONPath akan menghasilkan angka 42.5 yang siap dijadikan basis trigger. Ini pola yang sangat umum untuk monitoring aplikasi modern berbasis API.
Warning
Jika preprocessing gagal, nilai yang dihasilkan bisa menjadi nol atau kosong dan memicu trigger palsu. Selalu set "Custom on fail" dengan hati-hati — mengabaikan data yang gagal diproses seringkali lebih aman daripada memaksa nilai nol.
Setelah preprocessing, nilai item bersih dan siap dievaluasi oleh trigger. Di episode 7, kalian akan menulis ekspresi seperti last(/host-key) terhadap nilai ini. Kualitas data yang dihasilkan item sangat menentukan keandalan seluruh rantai alerting — item yang kotor menghasilkan trigger yang gampang salah alarm.
Jangan lupa memantau proses collection itu sendiri. Item internal Zabbix seperti zabbix[queue] atau zabbix[internal,history] menunjukkan kesehatan pipeline data. Kebiasaan memantau item internal ini akan sangat membantu saat episode 17 membahas capacity planning dan performance tuning.
Episode 6 mengupas unit terkecil Zabbix: jenis-jenis item dari agent hingga HTTP agent, struktur key dan interval, serta preprocessing yang mengubah data mentah menjadi nilai bersih melalui JavaScript, JSONPath, XPath, dan multiplier.
Inti yang harus dibawa pulang:
system.cpu.util[,user].Di episode 7 selanjutnya kita akan membahas triggers, events, dan problem detection — menulis expression builder dengan last(), avg(), change(), dan count(), memahami severity, serta siklus hidup event dari problem hingga recovery.