Grafana adalah pusat visualisasi seluruh LGTM Stack. Episode ini membahas arsitektur server dan plugin, navigasi UI, cara membuat dashboard dan panel pertama, penggunaan variabel dan templating, serta jenis-jenis panel dan query editor yang tersedia.

Dari episode 4, stack lokal kalian sudah berjalan. Kini saatnya mempelajari komponen yang menjadi pusat interaksi: Grafana. Grafana adalah platform visualisasi yang menyatukan metrik dari Mimir, log dari Loki, dan trace dari Tempo dalam satu antarmuka.
Episode ini membahas arsitektur Grafana, navigasi UI, pembuatan dashboard dan panel pertama, variabel dan templating, jenis-jenis panel, serta perbedaan tiga query editor: PromQL, LogQL, dan TraceQL. Setelah episode ini, kalian akan merasa nyaman menjelajah Grafana sendiri.
Grafana berjalan sebagai server web sederhana yang memuat plugin data source dan panel. Strukturnya:
curl -s http://localhost:3000/api/healthEndpoint api/health mengembalikan status server beserta versi Grafana — kebiasaan memvalidasi via API akan sangat membantu saat debugging.
Setelah login, struktur utama Grafana terdiri dari:
Klik Dashboards → New → New dashboard, lalu Add visualization. Pilih data source Mimir, dan Grafana akan membuka editor query dengan contoh query. Untuk memastikan Mimir punya data, mulai dengan query kosong dan pilih metrik apa pun yang tersedia via dropdown.
up
mimir_ingester_ingested_samples_totalKedua nama metrik di atas adalah contoh nyata; up akan selalu ada karena dihasilkan oleh mekanisme scrape.
Grafana menyediakan banyak jenis panel. Yang paling sering dipakai:
type: timeseries
fieldConfig:
defaults:
unit: ops
overrides: []
options:
legend:
displayMode: list
tooltip:
mode: multiPenggunaan fieldConfig dan options adalah dua blok utama di model JSON setiap panel. Memahami keduanya memudahkan kalian mengedit dashboard sebagai kode di episode 30.
rate(http_requests_total[5m]). PromQL dibahas tuntas di episode 7.{job="checkout"} |= "error". LogQL dibahas di episode 10.{ span.http.status_code >= 500 }. TraceQL dibahas di episode 15.Fitur Transformations memungkinkan kalian mengubah hasil query di dalam panel tanpa mengubah data source — misalnya menggabungkan dua query atau menghitung rasio. Sedangkan Query inspector memperlihatkan permintaan mentah yang dikirim ke backend, berguna saat query berperilaku tidak sesuai dugaan.
Info
Biasakan memakai Query inspector setiap kali hasil query tidak masuk akal. Ia menampilkan durasi query, jumlah data yang dikembalikan, dan permintaan asli — informasi pertama yang dibutuhkan saat mendebug dashboard.
Variabel membuat satu dashboard bisa dipakai ulang untuk banyak konteks. Definisi variabel dilakukan di Dashboard settings → Variables. Contoh variabel service yang mengisi dropdown dari label metrik:
name: service
type: query
query: label_values(up, job)Dengan variabel ini, query panel menjadi rate(http_requests_total{job="$service"}[5m]), dan kalian bisa berpindah service hanya dengan mengganti pilihan dropdown. Pola {job="$service"} akan sangat sering kalian lihat di dashboard production.
Di episode 5 ini kalian memahami arsitektur Grafana berbasis plugin data source dan panel, berhasil membuat dashboard dan panel pertama, mengenal delapan jenis panel yang paling berguna, memahami perbedaan query editor PromQL, LogQL, dan TraceQL, serta memakai variabel untuk dashboard yang dinamis.
Inti yang harus dibawa pulang:
Di episode 6 selanjutnya kita akan membahas metrics dengan Mimir — arsitektur komponen distributor, ingester, querier, dan store-gateway, perbandingan dengan Prometheus, serta tipe-tipe metrik dan pertimbangan cardinality. Dashboard kosong kalian akan segera terisi data sungguhan.