Merhaba,
Bugün son yılların popüler opensource uygulamalarından biri olan ve Grafana Labs tarafından sunulan Grafana'dan bahsetmek istiyorum. Bu yazımda Grafana'yı tanıtmaya yönelik giriş seviyesi bilgiler vermeye çalışacağım. Daha sonraki yazılarımda ise daha derinlemesine inceleme ile ürün yönetimine dair konulara değinerek detaylı dashboardlar oluşturmayı planlıyorum.
"Dashboard anything. Observe everything."
Web tabanlı veri görselleştirme ve raporlama uygulaması olarak özetleyebileceğimiz bu güçlü uygulama pekçok büyük firma tarafından kullanılmaktadır. Şirketler altyapılarını izlemek ve operasyonel verimliliklerini arttırmak için Grafana'yı kullanmaktadır. Verilerin toplanması, yönetilmesi ve görüntülenmesini otomatikleştirdiği için izleme ve analizi oldukça kolaylaştırır. Bölüm ve takım yöneticileri, analistler, mühendisler karar verme mekanizmalarında Grafana'dan sıklıkla yararlanmaktadır. Anlık durum tespiti ve ileriye dönük planlamaların yapılması anlamında doğru verilere ulaşılıp doğru kararlar verilmesinde oldukça etkin bir rol oynamaktadır. Güvenlik analizi ekipleri tarafından da kullanılabilen Grafana kullanıcıların dijital ayak izlerinin takibi konusunda da fayda sağlamaktadır. Birçok veritabanı ile entegre olup veri çekebilen uygulama gerçekten gözalıcı grafikler, tablolar ve dashboardlar oluşturabilmektedir. Grafana ile verileriniz nerede olursa olsun sorgulama, ölçme, görselleştirme ve raporlama işlerinizi yapabilirsiniz. Operasyonel ölçümleriniz ile ilgili grafik ve raporlar oluşturabilirsiniz. İşin içine Telegraf ve InfluxDB araçlarını da kattığınızda Grafana sistemini oldukça güçlü ve yönetimi kolay bir izleme sistemine çevirmeniz de mümkün.
Grafana ile dakikalar içinde profesyonel dashboardlar hazırlamanız mümkün. Tabi bunun için biraz SQL bilginizin de olması gerekiyor.
Çekilecek veriler için SQL sorguları yazmanız gerekiyor. Ama bu gözünüzü korkutmasın, çok temel SQL sorguları ile harika dashboardlar ortaya çıkarabiliyorsunuz.
Yukarıdaki MEM panelinin detayına baktığımızda alttaki şekilde iki SQL cümlesi ile oluşturulduğunu göreceksiniz.
SQL cümlesini manuel yazmak istemeyenler için ise basitleştirilmiş bir editör de sunulmaktadır.
Embed özelliği sayesinde ise panel bir iframe olarak Grafana sistemi dışında başka bir web sitesinin
kodları içine gömülebilmekte ve diğer sitelerde görüntülenebilmektedir.
Bu işlem bildiğimiz HTML için iframe gömme işlemi ile aynıdır.
Dashboardlar üzerinde gösterilen veriler detaylı olarak filtrelenebilmektedir.
Oluşturulacak filtre değişkenleri birbirleri ile ilişkilendirilerek anlık olarak dashboardlar üzerindeki verileri filtrelemek mümkündür.
Grafana sisteminde alarm oluşturmak da mümkündür. Belli kriterlere göre alarmlar oluşturulup kriterler gerçekleştiğinde yada belli eşikler geçildiğinde sistemin alarm üreterek mesaj göndermesi sağlanmaktadır.
Grafana'nın en güzel özelliklerinden birisi ise grafana.com üzerinden daha önce hazırlanmış dashboardları import edebiliyor olmanızdır. Yani herhangi bir geliştirme yapmadan ve SQL sorgusu yazmadan size uygun hazır dashboardları ücretsiz olarak saniyeler içinde devreye alabilirsiniz.
Örnek vermek gerekirse yüzlerce linux makine ile ilgili onlarca bilginin görselleştirildiği bir dashboardı hızlıca sisteminizde devreye alabilirsiniz. Dashboard ve panel dizaynı ile uğraşmanıza gerek olmadan.
Grafana sistemi dışarıdan web sayfalarının da dashboard panel olarak sisteme eklenmesine izin vermektedir. Buda Grafana sistemi daha da genişletebilmenize imkan vermektedir. Bir projede müşterimiz bazı scriptleri çalıştırarak çıktıları olan grafikleri Grafana üzerinde bir dashboard olarak görüntülemek istediğini belirtmişti. Normal şartlarda Grafana'da bu tarz bir tetikleyerek grafik oluşturma yapısı yok. Fakat dışarıda oluşturduğumuz bir web sayfası formatını Grafana formatına yakın bir formatta hazırlayarak sisteme entegre ederek müşterinin isteğini gerçekleştirme şansımız olmuştu.
Sıkça sorulan sorulardan biri ise Grafana üzerindeki grafik ve tablo panelleri kullanarak sıfırdan yeni bir web sitesi tasarımı yapabilir miyiz? Kendi web şablon tasarımlarını kullanmak isteyen bazı firmalardan bu şekilde istekler gelebiliyor. Teknik olarak yapılması mümkün fakat Grafana'nın kullanıcı yetkilendirme sistemini devre dışı bırakmış oluyorsunuz. Yeni oluşturacağınız web sitesinde kendi kullanıcı yetkilendirmelerinizi yaptıktan sonra neden olmasın. Paneller iframe olarak dışarıya aktarılabiliyor. Bu şekilde yeni oluşturacağınız web sitesinin içine hertürlü gömmeniz mümkün. Tabi burada Grafana tarafında bir güvenlik açığı olur mu sorusu da akla gelmektedir. Çünkü panelleri dışarıya açabilmek için anonymous kullanıcı otantikasyonunu açmanız anlamına gelmektedir. Buda Grafana'yı herkese açtığınız anlamına gelmektedir. Bunu aşmanın yolu ise Grafana sunucusu ile yeni web sitesini oluşturacağınız sunucu arasında point to point bir iletişim kurmak ve Grafana'ın web portuna sadece bu web sunucusunun erişebilmesini sağlamak. Böylece kullanıcılar yeni web sitesine erişirken Grafana sunucusuna erişemeyecek fakat Grafana'daki panelleri yeni web sunucusu görüntüleyerek kullanıcılara iletebilecektir. Bu şekilde Grafana'dan tamamen farklı bir web uygulaması hazırlanabilir ve sistemi kullananlar arka planda Grafana'nın olduğunun farkında bile olmayacaktır.
Grafana backend bir HTTP API hizmeti de sunmaktadır. Böylece farklı araçlar ile entegrasyon yada otomasyon işleri bu API aracılığı ile kolaylıkla yapılabilmektedir. Dashboard oluşturma, kaydetme, kullanıcı yaratma, takım yaratma ve yönetme, data source update, alarmların alınması, playlist oluşturulması, silinmesi, snapshot alınması ve silinmesi gibi işlemleri bu API aracılığı ile yapabilmekteyiz.
Grafana sistemi çeşitli pluginlerin kullanımı ile daha da yetenekli hale gelmektedir. CloudWatch, Elasticsearch, Google Cloud, Graphite, Jaeger, Microsoft SQL Server, MySQL, OpenTSDB, Prometheus, Tempo, Zipkin gibi pekçok datasource kullanımını mümkün kılmaktadır. Bunlar dışında alttaki data sourcelar konusunda pluginler ile desteğe sahiptir.
Grafana uygulamasını kendi sunucularınıza kurabilir yada Grafana Cloud hizmetinden faydalanabilirsiniz.
AWS tarafında Amazon'un sunduğu Amazon Managed Grafana servisi de son günlerin popüler servislerinden biri haline gelmiş durumda. AWS tarafından 2 tür lisans sağlanmakta. Editör ve Görüntüleyici lisansları. AWS fiyat listelerine baktığımızda 20 Editör ve 30 görüntüleyici lisansı için aylık olarak alttaki şekilde bir hesap çıkarıldığını görüyoruz.
Monthly Charges = 20 * $9.00 (Editor license) + 30 * $5.00 (Viewer license) = $330.00
Alttaki görsellerde AWS tarafındaki Grafana ekranlarından örnekleri görebilirsiniz.
Grafana kullanan bazı firmalara Siemens, Salesforce, SNYK, Dell, Tripadvisor, TomTom, JPMorgan, Dapper, Citi, Roblox, Unity, Redis, Wix, Booking.com, DigitalOcean, Stackoverflow, Ebay, Tinder, Verizon, Bloomberg, PayPal kuruluşlarını örnek verebiliriz.
Grafana docker imajını indirmek için TIKLAYIN.
Grafana'yı hemen denemek için Demo sayfasına gidebilirsiniz.
Teşekkürler,
Cem Selmanoğulları
Hiç yorum yok:
Yorum Gönder