KPI

Alerts

Memberi tahu orang yang tepat saat angka sebuah Metric melewati ambang, lengkap dengan filter, jendela waktu, saluran notifikasi, dan riwayat pemicu.

Apa itu Alert

Alert memantau satu Metric (lihat Metrics) secara berkala dan mengirim notifikasi saat nilainya memenuhi syarat yang Anda tentukan, misalnya "jumlah pengajuan hari ini lebih dari 10". Saat nilainya kembali normal, Anda diberi tahu lagi.

Pakai Alert untuk sinyal bisnis dan operasional yang datang dari data proses. Untuk kesehatan infrastruktur (CPU, memori, container) pakai Grafana, bukan Alert.

Menu ada di sidebar Studio: KPI › Alerts. Halaman ini hanya bisa dibuka oleh Owner dan Admin SOP (lihat Siapa yang boleh mengelola Alert).

Membuat Alert

Ada tiga jalan masuk. Ketiganya membuka formulir New alert yang sama.

  1. KPI › Alerts › New alert: formulir kosong.

  2. Ikon lonceng di daftar Metrics: Metric sudah terisi.

    Daftar Metrics, ikon lonceng kuning di tiap baris untuk membuat alert
  3. Jalan pintas dari daftar KPI: Metric, filter, dan ambang terisi dari KPI tersebut. Setelah dibuat, alert berdiri sendiri: menghapus KPI tidak ikut menghapus alert.

Formulir New alert bagian Source dan Condition, dengan panel Summary di kanan

Panel Summary di kanan menampilkan nilai Metric saat ini dan apakah alert ini "Would be triggered right now" atau "Would not trigger right now", sebelum Anda menyimpan.

BagianArti
Source: MetricMetric yang dipantau. Metric bertanda "unavailable" tidak bisa dipilih, lihat Metric yang tidak bisa dipilih.
Source: FilterMempersempit data Metric. Hanya muncul bila question Metric punya parameter yang bisa difilter. Bila tidak, tertulis "This metric's question has no parameters to filter on".
Condition: Operator + ThresholdSyarat pemicu, misalnya > greater than dengan ambang 10.
WindowRentang waktu yang dihitung. Lihat Window.
If the metric returns no dataIgnore (record NO_DATA) (bawaan): tidak ada notifikasi, hanya dicatat di riwayat. Treat as triggered: kondisi tanpa data dianggap memicu alert.
Check everySeberapa sering dicek: 15 minutes, 1 hour (bawaan), 6 hours, 1 day. Administrator server dapat menaikkan batas minimumnya, lihat bagian admin.
RecipientsPenerima, hanya pengguna di workspace ini. Pengguna yang sudah keluar workspace dilewati otomatis dan tercatat di riwayat.
ChannelsEmail, Telegram, In-app.
Remind again while still triggeredNever (bawaan), 1 hour, 6 hours, 24 hours: pengingat berulang selama alert masih TRIGGERED.
NameTerisi otomatis dari Metric dan kondisi, boleh diganti.
ActiveMatikan untuk menyimpan aturan tanpa memeriksanya.
Formulir New alert bagian Notify, Throttling, dan Name and status

Formulir tidak bisa disimpan bila ada isian yang tidak valid; pesan masalah tampil di dasar formulir.

Window

Window menentukan rentang waktu yang dijumlahkan Metric sebelum dibandingkan dengan ambang. Pilihannya sama dengan pemilih rentang tanggal di dashboard.

Pemilih rentang tanggal dengan preset Last 30 days sampai This year
PilihanCara menghitung
Today, This week, This month, This yearBerjalan: dihitung dari awal periode sampai sekarang. Di awal periode nilainya masih kecil (misalnya hari Senin pagi untuk "This week"), jadi ambang > bisa belum tercapai walau sebulan penuh akan melewatinya.
Last 30 days, Last 3 / 6 / 12 monthsBergulir: selalu mundur sejauh itu dari saat pengecekan.
Custom last NMundur N jam atau N hari, N Anda tentukan.
No time window (current value)Memakai nilai Metric apa adanya, tanpa rentang tanggal.

Awal This week di pemilih tanggal dan di pengecekan alert belum seragam (Minggu vs Senin) pada build yang diuji, jadi nilai keduanya bisa berbeda di sepanjang minggu. Perbaikan dilacak di task 703efa30. Bila alert perlu cocok persis dengan dashboard, pilih Today, This month, Last 30 days, atau Custom last N.

Window yang nonaktif

Pilihan Window hanya aktif bila question di balik Metric punya parameter tanggal mulai dan akhir. Tanpa itu, hanya No time window yang bisa dipilih dan muncul peringatan kuning. Tambahkan parameter tanggal pada question bila Anda butuh window.

Window terkunci pada No time window dengan peringatan kuning

Metric yang tidak bisa dipilih

Metric yang question-nya memakai variabel per pengguna (__user) atau yang sumbernya sudah hilang ditandai "unavailable" di daftar dan tidak bisa dipilih. Pilih Metric lain untuk alert.

Membaca daftar dan detail

Klik sebuah alert di KPI › Alerts. Status alert:

StatusArti
OKKondisi tidak terpenuhi.
TRIGGEREDKondisi terpenuhi.
NO_DATAMetric tidak mengembalikan data, dan pengaturannya Ignore.
ERRORPengecekan gagal (query lambat melewati batas waktu atau Metric error). Email dikirim setelah gagal tiga kali berturut-turut.
Detail alert berstatus TRIGGERED: kartu nilai, grafik nilai vs ambang, dan riwayat pemicu
  • Empat kartu di atas: Value now, Condition, Last checked (dengan frekuensi pengecekan), dan Notify (jumlah penerima dan saluran).
  • Value vs threshold menggambar nilai tiap pengecekan terhadap garis ambang.
  • Trigger history mencatat perubahan status, pengingat, dan tes kirim. Kolom Notified menunjukkan siapa dapat lewat saluran apa. Kolom Skipped / Note menjelaskan yang tidak terkirim, misalnya "Telegram not paired" atau penerima sudah keluar workspace.

Alert yang baru dibuat belum punya nilai: kartu Last checked berisi "Not checked yet" sampai pengecekan pertama selesai.

Detail alert baru: belum ada pengecekan dan riwayat kosong

Notifikasi

Alert mengirim notifikasi saat berubah menjadi TRIGGERED, saat pulih (kembali OK), dan sebagai pengingat bila Anda mengaktifkannya.

  • Email: ke alamat pengguna penerima.
  • In-app: muncul di ikon lonceng Studio.
  • Telegram: hanya untuk pengguna yang sudah menghubungkan (pair) akun Telegram-nya. Yang belum di-pair dilewati untuk saluran itu dan tercatat "Telegram not paired".
  • Send test notification: tombol Send test di halaman detail (juga di formulir setelah alert disimpan) mengirim notifikasi contoh ke penerima. Dibatasi satu kali per 60 detik per alert; klik kedua dalam jendela itu ditolak.

Pengiriman lewat Telegram belum terverifikasi end-to-end pada pengujian (token bot uji belum tersedia). Pengiriman email dan in-app sudah terbukti. Jangan menjadikan Telegram satu-satunya saluran untuk alert kritis sebelum Anda mengujinya sendiri dengan Send test.

Saat Metric sumber dihapus

Menghapus Metric yang dipakai alert menampilkan peringatan di dialog hapus yang menyebut alert terdampak akan dijeda (paused). Dialog hanya menyebut alert tersebut dijeda; Anda tetap bisa melihatnya di daftar Alerts.

Dialog hapus Metric: kartu dashboard berhenti menampilkan angka dan alert pemakai dijeda

Angka "N alerts" di dialog ini saat ini ikut menghitung alert yang sudah nonaktif (task 2a41a4b2).

Siapa yang boleh mengelola Alert

Hanya Owner dan Admin SOP yang bisa masuk ke Studio, sehingga hanya keduanya yang bisa melihat dan mengelola Alert: membuat, mengubah (Edit), Send test, Pause, dan menghapus.

Role Member tidak bisa membuka Studio (semua halaman menampilkan Access Denied), jadi tidak ada tampilan Alert read-only untuk Member di antarmuka. Di sisi API, Member boleh membaca daftar dan detail alert tetapi menghapus, mengirim tes, dan mengubah ditolak dengan 403. Alert juga terisolasi per workspace: alert workspace lain tidak bisa dilihat atau diubah.

Untuk admin on-prem

Nilai bawaan di bawah diambil dari .env.example pada master.

report-service (pengecekan alert):

VariabelBawaanFungsi
METRIC_ALERT_ENABLEDtruefalse mematikan worker pengecek. API CRUD alert tetap jalan.
METRIC_ALERT_TICK_INTERVAL1mSeberapa sering worker mencari alert yang jatuh tempo.
METRIC_ALERT_MIN_EVAL_INTERVAL15mInterval Check every terkecil yang boleh disimpan.
METRIC_ALERT_EVAL_TIMEOUT30sBatas waktu satu pengecekan Metric.

Nilai berformat durasi Go (15m, 1h). Nilai tidak valid membuat service gagal start dengan pesan yang menyebut variabelnya.

integration-service (pengiriman notifikasi):

VariabelBawaanFungsi
ENABLE_METRIC_ALERT_NOTIFY_WORKERtruefalse menghentikan consumer, dan relay menahan topik tersebut.
METRIC_ALERT_NOTIFY_CONSUMERlegacylegacy (polling Postgres) atau asynq.
METRIC_ALERT_NOTIFY_MAX_RETRY3Jumlah percobaan kirim ulang.
  • Tabel alert dibuat lewat migration manual, bukan otomatis saat service start. Jalankan migration report-service sebelum mengaktifkan fitur ini.
  • Relay antrean harus memakai build terbaru agar topik metric.alert.notify ikut diteruskan. Relay lama membuat notifikasi tidak terkirim tanpa pesan error.