Panduan Editor & Admin
Grafana Dashboard
Dokumentasi lengkap untuk mengelola dashboard, panel, query, alert rule, notifikasi, anotasi, dan akses user. Gunakan dengan hati-hati karena perubahan memengaruhi semua viewer.
Batas Tanggung Jawab
Editor dan Admin memiliki akses lebih tinggi dari Viewer. Perubahan yang dilakukan akan memengaruhi semua pengguna yang melihat dashboard. Gunakan akun admin hanya untuk tugas administratif, bukan monitoring harian.
- Edit dashboard yang diizinkan
- Tambah, ubah, dan hapus panel
- Mengubah query dan visualisasi
- Membuat dan mengelola variabel
- Menambah anotasi
- Membuat alert rule (jika izin diberikan)
- Menggunakan Explore untuk investigasi
- Kelola semua user dan role
- Tambah dan konfigurasi data source
- Kelola contact point dan notification policy
- Konfigurasi organisasi dan team
- Akses Server Admin (jika Grafana Admin)
- Backup dan restore dashboard
- Mengelola API key dan service account
Edit Dashboard
Cara aman mengubah dashboard tanpa merusak tampilan operasional
Masuk Edit Mode
Buka dashboard yang ingin diubah, lalu klik tombol Edit (ikon pensil) di toolbar atas. Dashboard akan masuk ke mode edit — panel bisa dipindah, di-resize, dan dikonfigurasi.
Save As — Buat Salinan Dulu
Sebelum perubahan besar, buat salinan dashboard:
- Klik menu dashboard (ikon gear atau tiga titik)
- Pilih Save As
- Beri nama baru, misalnya "AIMS Pipeline - Draft Edit"
- Lakukan perubahan di salinan, bukan di dashboard utama
- Setelah yakin benar, terapkan perubahan ke dashboard utama
Simpan dengan Catatan Perubahan
Saat menyimpan, Grafana menampilkan dialog "Save dashboard". Isi field deskripsi perubahan agar mudah di-audit:
- Contoh: "Ubah threshold pressure Line A dari 3000 ke 3500 PSI"
- Contoh: "Tambah panel ampere untuk Sumur B-12"
- Contoh: "Perbaiki query temperature — filter tag location"
Panel dan Query
Mengatur tampilan data sensor — dari query hingga visualisasi
Struktur Panel
Setiap panel terdiri dari beberapa komponen yang bisa dikonfigurasi:
- Query: menentukan data apa yang diambil dari InfluxDB
- Visualization: jenis tampilan (time series, gauge, stat, table, dll)
- Title: judul panel yang terlihat oleh viewer
- Unit: satuan data (°C, PSI, A, %, dll)
- Thresholds: batas warna hijau/kuning/merah
- Legend: label garis data di grafik
- Overrides: pengaturan khusus per-field/series
Edit Panel
- Dalam edit mode, klik judul panel lalu pilih Edit
- Panel editor terbuka dengan preview di atas dan konfigurasi di bawah
- Tab Query: ubah measurement, field, tag filter, dan aggregation
- Tab Transform: manipulasi data (rename, calculate, filter)
- Panel kanan: ubah visualization type, title, unit, thresholds, legend
- Klik Apply untuk menyimpan perubahan panel
Query InfluxDB (Flux)
Query menentukan data yang ditampilkan. Contoh query Flux untuk AIMS:
from(bucket: "aims")
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r["_measurement"] == "sensor")
|> filter(fn: (r) => r["location"] == "${location}")
|> filter(fn: (r) => r["_field"] == "temperature")
|> aggregateWindow(every: v.windowPeriod, fn: mean)
bucket: nama database InfluxDBrange: mengikuti time picker dashboardfilter: memilih measurement, tag, dan field${location}: variabel dashboard (dropdown filter)aggregateWindow: rata-rata per interval waktu
Threshold Configuration
Threshold menentukan kapan warna berubah di gauge, stat, atau grafik. Sesuaikan dengan SOP client:
Inspect Sebelum Simpan
Sebelum menyimpan perubahan panel, verifikasi data:
- Inspect → Data: lihat data mentah yang ditampilkan panel
- Inspect → Query: lihat request dan response dari data source
- Inspect → Stats: lihat waktu query dan jumlah data point
- Pastikan data sesuai ekspektasi sebelum Apply
Variabel dan Filter
Membuat dashboard dinamis yang bisa dipakai untuk banyak lokasi dan sensor
Apa itu Variabel?
Variabel membuat dropdown filter di bagian atas dashboard. Viewer bisa memilih lokasi, sumur, atau sensor tanpa admin perlu membuat dashboard terpisah untuk setiap kombinasi.
- Query variable: nilai diambil otomatis dari data source (misalnya daftar lokasi dari InfluxDB)
- Custom variable: nilai ditentukan manual oleh admin
- Interval variable: untuk mengatur aggregation window
Membuat Variabel Baru
- Buka Dashboard Settings (ikon gear)
- Klik tab Variables
- Klik New variable
- Isi nama (misalnya
location), label (misalnya "Lokasi"), dan tipe - Untuk Query type: masukkan query yang mengambil daftar nilai unik
- Aktifkan Multi-value jika viewer perlu memilih lebih dari satu
- Aktifkan Include All option untuk opsi "Semua"
- Klik Update lalu Save dashboard
import "influxdata/influxdb/schema"
schema.tagValues(bucket: "aims", tag: "location")
Best Practice Variabel
- Gunakan nama pendek dan jelas:
location,sensor,well - Gunakan label dalam Bahasa Indonesia untuk viewer: "Lokasi", "Sensor", "Sumur"
- Urutkan variabel dari umum ke spesifik (Lokasi → Sumur → Sensor)
- Gunakan chained variables: pilihan sumur bergantung pada lokasi yang dipilih
- Test semua kombinasi filter setelah variabel dibuat
- Pastikan semua panel menggunakan variabel di query-nya
Alert Rule
Membuat alarm otomatis saat parameter sensor melewati batas aman
Konsep Alert di Grafana
Alert rule adalah kondisi yang dievaluasi secara berkala. Jika kondisi terpenuhi selama durasi tertentu, alert akan firing dan notifikasi dikirim.
Data
(Avg/Last)
Check
Notify
Membuat Alert Rule Baru
- Buka Alerting → Alert rules di sidebar
- Klik New alert rule
- Define query: tulis query yang mengambil data sensor target
- Reduce: pilih fungsi agregasi (Last, Average, Max, Min)
- Threshold: tentukan kondisi, misalnya "Is above 100"
- Folder & Group: organisasi alert rule
- Evaluation: tentukan interval dan durasi
- Labels: tambahkan label untuk routing notifikasi
- Klik Save rule
Evaluation Interval & For Duration
Dua parameter penting yang menentukan sensitivitas alert:
- Evaluation interval: seberapa sering rule dicek. Contoh: setiap
1m(1 menit) - For duration: berapa lama kondisi harus bertahan sebelum firing. Contoh:
5m - Interval pendek + for pendek = sensitif tapi bisa false alarm
- Interval panjang + for panjang = stabil tapi lambat mendeteksi
1m, for duration 5m. Ini memberikan keseimbangan antara kecepatan deteksi dan pencegahan false alarm.
No Data dan Error Handling
Tentukan apa yang terjadi saat data tidak tersedia atau query error:
- No Data → Alerting: untuk sensor kritis yang harus selalu mengirim data
- No Data → OK: untuk sensor yang boleh offline sementara
- Error → Alerting: agar masalah query terdeteksi
- Error → Keep Last State: jika error sementara sering terjadi
Notifikasi
Mengatur alert dikirim ke orang yang tepat melalui channel yang benar
Contact Point
Contact point adalah tujuan pengiriman notifikasi. Setiap contact point terhubung ke satu channel komunikasi.
- Buka Alerting → Contact points
- Klik New contact point
- Pilih tipe (Email, Telegram, Webhook, dll)
- Isi konfigurasi (alamat email, bot token, URL webhook)
- Klik Test untuk memastikan notifikasi terkirim
- Klik Save contact point
Konfigurasi Telegram Bot
Telegram adalah channel notifikasi yang paling responsif untuk tim lapangan:
- Buat bot via @BotFather di Telegram, simpan token
- Buat group Telegram untuk tim, tambahkan bot ke group
- Dapatkan Chat ID group (gunakan @userinfobot atau API getUpdates)
- Di Grafana: buat contact point tipe Telegram
- Isi Bot Token dan Chat ID
- Test notifikasi — pastikan pesan muncul di group
Notification Policy
Policy menentukan alert mana dikirim ke contact point mana berdasarkan label:
- Buka Alerting → Notification policies
- Default policy: semua alert yang tidak cocok dengan policy lain
- Klik New nested policy untuk routing spesifik
- Tentukan matcher, misalnya:
site = "Site-A" - Pilih contact point tujuan untuk matcher tersebut
- Atur Group by dan Timing sesuai kebutuhan
- Group wait: tunggu berapa lama sebelum kirim group pertama (default: 30s)
- Group interval: interval antar pengiriman group (default: 5m)
- Repeat interval: kirim ulang jika alert masih firing (default: 4h)
Silence (Mute Sementara)
Gunakan silence saat maintenance terjadwal agar notifikasi tidak membanjiri tim:
- Buka Alerting → Silences
- Klik New silence
- Tentukan durasi (misalnya 2 jam untuk maintenance)
- Tambahkan matcher untuk memilih alert mana yang di-silence
- Isi komentar: "Maintenance pompa Site A - PIC: [nama]"
- Klik Submit
Anotasi
Menandai event penting di grafik untuk dokumentasi dan korelasi
Jenis Anotasi
- Point annotation: menandai satu titik waktu (misalnya "Pompa trip 14:30")
- Region annotation: menandai periode waktu (misalnya "Maintenance 10:00–12:00")
- Alert annotation: otomatis dibuat saat alert firing/resolved
Menambah Anotasi Manual
- Point: Tahan Ctrl/Cmd + klik pada titik waktu di panel
- Region: Tahan Ctrl/Cmd + drag horizontal untuk memilih periode
- Dialog anotasi muncul — isi deskripsi dan tag
- Contoh deskripsi: "Maintenance valve Line B - PIC: Ahmad"
- Contoh tag:
maintenance,site-a,pompa - Klik Save
Mengelola Anotasi
- Lihat: anotasi muncul sebagai garis vertikal atau area berwarna di grafik
- Detail: hover marker anotasi untuk melihat deskripsi dan tag
- Edit: klik marker → ikon pensil untuk mengubah
- Hapus: klik marker → ikon tempat sampah untuk menghapus
- Filter: di Dashboard Settings → Annotations, atur query untuk menampilkan/menyembunyikan anotasi berdasarkan tag
Explore dan Inspector
Investigasi data tanpa mengubah dashboard — untuk troubleshooting dan analisis ad-hoc
Explore Mode
Explore adalah workspace terpisah untuk mencoba query dan menganalisis data tanpa risiko mengubah dashboard:
- Klik ikon Explore (kompas) di sidebar kiri
- Pilih data source (InfluxDB AIMS)
- Tulis query atau gunakan query builder
- Hasil langsung ditampilkan — bisa grafik atau tabel
- Ubah time range sesuai kebutuhan investigasi
- Cocok untuk mencari penyebab data aneh tanpa mengedit dashboard utama
- Query di Explore tidak tersimpan ke dashboard
- Bisa digunakan untuk memvalidasi query sebelum diterapkan ke panel
Split View
Bandingkan dua query atau dua data source berdampingan:
- Di Explore, klik tombol Split di toolbar
- Layar terbagi dua — masing-masing bisa punya query berbeda
- Gunakan untuk membandingkan: sensor A vs sensor B, lokasi X vs lokasi Y, atau periode berbeda
- Time range bisa di-sync atau independen antar panel
Query Inspector (di Panel)
Inspector menampilkan detail teknis tentang panel — berguna saat panel lambat atau data tidak sesuai:
- Inspect → Query: lihat request yang dikirim ke data source dan response yang diterima
- Inspect → Data: lihat data mentah dalam format tabel
- Inspect → Stats: waktu query, jumlah data point, ukuran response
- Inspect → JSON: konfigurasi panel dalam format JSON (untuk backup/copy)
Akses User
Mengelola user, role, dan permission sesuai kebutuhan organisasi
Tiga Level Role
Menambah User Baru
- Buka Administration → Users (atau Server Admin → Users)
- Klik New user atau Invite
- Isi nama, email, username, dan password awal
- Pilih role: Viewer, Editor, atau Admin
- Klik Create user
- Informasikan kredensial ke user baru secara aman
- Minta user mengganti password saat login pertama
Dashboard Permission
Selain role organisasi, permission bisa diatur per-dashboard:
- Buka dashboard → Dashboard Settings (ikon gear)
- Klik tab Permissions
- Tambahkan user atau team dengan level akses spesifik
- Level: View, Edit, atau Admin (per dashboard)
- Gunakan folder untuk mengelompokkan dashboard dengan permission yang sama
- Permission folder diwariskan ke semua dashboard di dalamnya
- Contoh: folder "Site A" hanya bisa diakses tim Site A
Backup dan Versioning
Menjaga dashboard tetap aman dan bisa di-restore jika terjadi kesalahan
Version History
Grafana menyimpan setiap versi dashboard yang pernah disimpan:
- Buka Dashboard Settings → Versions
- Lihat daftar semua versi dengan tanggal dan catatan perubahan
- Klik versi untuk melihat detail perubahan (diff)
- Klik Restore untuk mengembalikan ke versi tersebut
Export / Import Dashboard
Untuk backup manual atau migrasi antar server:
- Export: Dashboard Settings → JSON Model → Copy atau Save to file
- Import: Menu Dashboards → Import → Upload JSON file
- Simpan file JSON di repository atau cloud storage sebagai backup
- Lakukan export sebelum perubahan besar sebagai safety net
Checklist Sebelum Save
Verifikasi setiap perubahan sebelum disimpan untuk mengurangi risiko dashboard rusak
Data & Query Benar
- Query mengambil sensor yang tepat
- Measurement dan field sesuai
- Tag filter (location, well) benar
- Unit sesuai: °C, PSI, A
- Time range sudah diuji (15m, 1h, 24h, 7d)
- Inspect → Data menunjukkan nilai wajar
Tampilan Jelas
- Judul panel mudah dipahami viewer
- Warna threshold sesuai status (hijau/kuning/merah)
- Legend tidak membingungkan
- Satuan (unit) ditampilkan di axis/tooltip
- Layout rapi dan responsif di layar berbeda
- Panel tidak terlalu kecil untuk dibaca
Alert Aman
- Threshold sesuai SOP client/site
- Evaluation interval dan for duration wajar
- Contact point benar dan sudah di-test
- Notification policy routing sudah sesuai
- No Data handling sudah ditentukan
- Test notification berhasil terkirim
Keamanan & Dokumentasi
- Catatan perubahan diisi saat save
- Permission dashboard sudah sesuai
- Variabel berfungsi untuk semua kombinasi
- Backup JSON sudah dibuat (untuk perubahan besar)
- Tidak ada kredensial/secret di query atau title
- Informasikan tim jika ada perubahan signifikan
