Grafana İle İnteraktif Dashboard Tasarlama — Part 1

Şule Ulaş
3 min readMar 28, 2024

--

Grafana, açık kaynaklı bir veri analizi ve görselleştirme aracıdır. Bu konuyla alakalı giriş yazıma şu linkten ulaşabilirsiniz.

Grafana bize sunduğu imkanlar dahilinde aslında monitoring dashboard ve basit analizler yapmamızı sağlar. PowerBI, Tableau ürünleri gibi iki grafik arasındaki etkileşimi bize standart yapısında sunmamaktadır. Bu yazı serisinde Grafana üzerinde interaktif dashboard tasarlama konusunu ele alacağım. Grafana’nın genel kullanım amacının dışında olduğu için faydalı olacağını umuyorum 😊

Variable

Grafana bize interaktif yapıya en yakın kavram olarak variable kavramını karşımıza çıkarmaktadır. Kısaca bu yapıdan bahsedeceğim, çünkü oluşturacağım interaktif dashboardda bu kavramı da kullanacağım.

Grafana’da tasarladığımız dashboard özelinde variable lar tanımlayabiliriz. Bu sayede kullanıcılara sunduğumuz analizi tarihe ya da kategorik kolona göre filtreleme imkanı sağlarız. Grafana içerisinde variablelar 9 türde tanımlanabiliyor. Buna ait sitesinden aldığım tanım tablosu aşağıda mevcut. Ben örnek senaryomda “Custom” tipinde variable oluşturacağım.

Variable Tipleri

Kendi tanımlayacağımız variablelar dışında Grafana’da tanımlı olan global variable larda kullanılabilir. Bunlar sistemde tanımlı tarih filtresi, dashbaord adı, data yenileme aralığı, kullanıcı gibi bilgilerdir. Özellikle tarih filtresi ($from/$to) grafananın bize sunduğu standart tarih aralığı sorgulama bölümünün bir çıktısıdır, sorgularda aktif olarak kullanabilirsiniz.

Örnek Senaryo:

Beraber tarih bazındaki 2 adet KPI değerini variable ile dışarıdan kullanıcıya seçtirdiğimiz dinamik bir dashboard tasarlayalım.

Dashboard üzerinde “Dashboard Settings” →“Variables” →“New Variable” giderek variable tanımını yapabiliriz.

Burada varColumn adında “Custom” tipinde bir değişken tanımladım. Buradaki değerleri manuel olarak “,” ile ayrılacak şekilde girdim. Tek değer seçilmesini istediğim için Multi value ve All seçeneklerini disable olarak bıraktım. Bir de varCategory adında aynı tipte variable daha ekledim. Bu variable ile datamın kategorisini filtreleyebileceğim.

Variable Tanımı

Bu aşamadan sonra dashboard tasarımıma variableları tanıtmak kaldı. “Add Visualization” diyerek “Query” paneline ${variableName} olacak şekilde variablelarımı ekliyorum.

Grafik Düzenleme — Sorgu Alanı

Bu kullanım şeklinde ‘${varCategory}’ ile datamı filtrelerken, $varColumn variable ım ile datadan select edeceğim kolonu dinamik şekilde seçebilme imkanı tanıyorum. Buradaki tek önemli nokta kolon ismi ile variable içinde verdiğim değerlerin uyumlu olması, aksi takdirde sorgumuz hata döndürür.

Dashboardumun “Query” kısmını düzenledikten sonra “Visualization” kısmında da daha sonra bahsedeceğim bir plugin olan Apache Echart’ın line chartını seçiyorum.

Grafik Düzenleme Ekranı

Dashbordumuz hazır, aşağıda iki variable sonucuna göre çıktıları görebilirsiniz.

İlk KPI a Göre Dinamik Oluşan Chart
İkinci KPI a Göre Dinamik Oluşan Chart

Bu yazımda interaktif dashboard örneğine girmeden öncelikle grafananın bize sunduğu variable mantığı ile nasıl dinamik bir sorgulama yapabileceğimizi anlatmaya çalıştım. Bir sonraki yazımda bu mantık ve pluginler ile birbiri ile etkileşimde olan dashboard örneğini açıklamaya çalışacağım.

--

--