Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma

Merhaba, adım Eugene, Citymobil'de B2B ekip lideriyim. Ekibimizin görevlerinden biri, ortaklardan taksi siparişi vermek için entegrasyonları desteklemektir ve istikrarlı bir hizmet sağlamak için mikro hizmetlerimizde neler olduğunu her zaman anlamalıyız. Bunun için günlükleri sürekli izlemeniz gerekir.

Citymobil'de günlüklerle çalışmak için ELK yığınını (ElasticSearch, Logstash, Kibana) kullanıyoruz ve buraya gelen veri miktarı çok büyük. Yeni kodun devreye alınmasından sonra ortaya çıkabilecek bu istek yığınında sorun bulmak oldukça zordur. Ve bunların görsel olarak tanımlanması için Kibana'da bir Kontrol Paneli bölümü bulunmaktadır.

Habré hakkında, verileri almak ve depolamak için bir ELK yığınının nasıl kurulacağına dair örnekler içeren pek çok makale var, ancak bir Kontrol Paneli oluşturmayla ilgili hiçbir materyal yok. Bu nedenle Kibana'da gelen loglara dayalı olarak verilerin görsel temsilinin nasıl oluşturulacağını göstermek istiyorum.

Ayar

Daha açık hale getirmek için ELK ve Filebeat ile bir Docker görüntüsü oluşturdum. Ve küçük bir kaba yerleştirildi program Örneğimiz için test günlükleri oluşturacak olan Go'da. ELK'nin konfigürasyonunu detaylı olarak anlatmayacağım, Habré'de bu konuda yeterince yazı var.

Yapılandırma deposunu klonlayın docker-compose ve ELK ayarlarını seçin ve komutla başlatın. docker-compose up. Kasıtlı olarak bir anahtar eklememek -dELK yığınının ilerlemesini görmek için.

git clone https://github.com/et-soft/habr-elk
cd habr-elk
docker-compose up

Her şey doğru yapılandırılmışsa, günlüklerde bir giriş göreceğiz (belki de hemen değil, tüm yığınla bir konteyner başlatma işlemi birkaç dakika sürebilir):

{"type":"log","@timestamp":"2020-09-20T05:55:14Z","tags":["info","http","server","Kibana"],"pid":6,"message":"http server running at http://0:5601"}

Adres localhost:5061 Kibana açılmalı.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
Yapılandırmamız gereken tek şey, Kibana için hangi verilerin görüntüleneceğine ilişkin bilgileri içeren bir Dizin Modeli oluşturmaktır. Bunu yapmak için, bir curl isteği yürüteceğiz veya grafik arayüzde bir dizi eylem gerçekleştireceğiz.

$ curl -XPOST -D- 'http://localhost:5601/api/saved_objects/index-pattern'
    -H 'Content-Type: application/json'
    -H 'kbn-xsrf: true'
    -d '{"attributes":{"title":"logstash-*","timeFieldName":"@timestamp"}}'

GUI aracılığıyla Dizin Deseni Oluşturma
Yapılandırmak için sol menüdeki Keşfet bölümünü seçin ve Dizin modeli oluşturma sayfasına gidin.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
"Dizin kalıbı oluştur" butonuna tıklayarak indeks oluşturma sayfasına ulaşıyoruz. "Dizin modeli adı" alanına "logstash-*" girin. Her şey doğru yapılandırıldıysa, Kibana'nın altında kuralın kapsamına giren dizinler gösterilecektir.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
Bir sonraki sayfada zaman damgalı anahtar alanını seçin; bizim durumumuzda bu @timestamp.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
Bu, dizin ayarları sayfasını açacaktır ancak şu anda başka bir işlem yapmamıza gerek yoktur.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma

Artık log girişlerini göreceğimiz Discover kısmına tekrar gidebiliriz.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma

Kullanıcı Paneli

Soldaki menüde Kontrol Paneli oluşturma bölümüne tıklayın ve ilgili sayfaya gidin.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
"Yeni kontrol paneli oluştur"a tıklayın ve Kontrol Paneline nesne ekleme sayfasına gidin.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
"Yeni oluştur" düğmesine tıkladığınızda sistem sizden veri görüntüleme türünü seçmenizi isteyecektir. Kibana'da bunlardan çok sayıda var, ancak "Dikey Çubuk"un grafiksel bir temsilini ve tablo şeklinde bir "Veri Tablosu" oluşturmaya bakacağız. Diğer sunum türleri de benzer şekilde yapılandırılmıştır. 
Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
Mevcut nesnelerin bazıları B ve E olarak etiketlenmiştir; bu, formatın deneysel veya beta test aşamasında olduğu anlamına gelir. Zamanla format değişebilir veya Kibana'dan tamamen kaybolabilir.

Dikey çubuk

“Dikey Çubuk” örneği için hizmetimizin başarılı ve başarısız yanıt durumlarının oranının histogramını oluşturalım. Ayarların sonunda aşağıdaki grafiği elde ediyoruz:

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
Yanıt durumu < 400 olan tüm istekleri başarılı, >= 400 sorunlu olarak sınıflandıracağız.

"Dikey Çubuk" grafiği oluşturmak için bir veri kaynağı seçmemiz gerekiyor. Daha önce oluşturduğumuz Dizin Desenini seçin.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
Varsayılan olarak, bir veri kaynağı seçildikten sonra tek bir düz grafik görünecektir. Hadi ayarlayalım.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
"Kovalar" bloğunda, "Ekle" düğmesine basın, "X-asis"i seçin ve X eksenini ayarlayın. Günlükteki girişlerin zaman damgalarını bunun üzerine bir kenara koyalım. "Toplama" alanında "Tarih Histogramı"nı seçin ve "Alan"da zaman alanını gösteren "@timestamp"ı seçin. "Minimum aralık"ı "Otomatik" durumda bırakalım, otomatik olarak ekranımıza uyum sağlayacaktır. 

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
"Güncelle" butonuna tıkladığımızda, her 30 saniyede bir istek sayısını gösteren bir grafik göreceğiz.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
Şimdi Y ekseni boyunca sütunları ayarlayalım, seçilen zaman aralığındaki toplam istek sayısını görüntülüyoruz.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
Başarılı ve başarısız istekler için verileri birleştirmemize olanak sağlayacak "Toplama" değerini "Toplam Kovası" olarak değiştirelim. Kova -> Toplama bloğunda, "Filtreler" ile toplamayı seçin ve filtrelemeyi "statusCode >= 400" ile ayarlayın. Grafikteki lejantta ve genel listede daha anlaşılır görüntülenmesi için "Custom label" alanında da göstergenin adını belirtiyoruz.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
Ayarlar bloğunun altındaki “Güncelle” butonuna tıklayarak sorun isteklerini içeren bir grafik elde edeceğiz.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
Açıklamanın yanındaki daireye tıklarsanız sütunların rengini değiştirebileceğiniz bir pencere açılacaktır.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
Şimdi başarılı isteklere ilişkin verileri grafiğe ekleyelim. "Metrikler" bölümünde "Ekle" düğmesini tıklayın ve "Y ekseni"ni seçin.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
Oluşturulan metrikte hatalı istekler için yaptığımız ayarların aynısını yapıyoruz. Yalnızca filtrede "statusCode < 400" ifadesini belirtiyoruz.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
Yeni sütunun rengini değiştirerek sorunlu ve başarılı isteklerin oranını gösteren bir görüntü elde ediyoruz.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
Ekranın üst kısmındaki “Kaydet” butonuna tıklayıp adını belirterek Dashboard’da ilk grafiği göreceğiz.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma

veri Tablosu

Şimdi "Veri Tablosu" tablo görünümünü düşünün. İstenen tüm URL'lerin ve bu isteklerin sayısının listesini içeren bir tablo oluşturalım. Dikey Çubuk örneğinde olduğu gibi öncelikle bir veri kaynağı seçiyoruz.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
Bundan sonra ekranda seçilen zaman aralığı için toplam istek sayısını gösteren tek sütunlu bir tablo görüntülenecektir.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
Yalnızca "Kovalar" bloğunu değiştireceğiz. "Ekle" düğmesini tıklayın ve "Satırları böl" seçeneğini seçin.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
"Toplama" alanında "Şartlar"ı seçin. Ve beliren "Alan" alanında "url.keyword" seçeneğini seçin.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
"Özel etiket" alanında "Url" değerini belirleyip "Güncelle"ye tıklayarak, seçilen zaman dilimi için URL'lerin her biri için istek sayısını içeren istenen tabloyu elde edeceğiz.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
Ekranın üst kısmındaki "Kaydet" düğmesini tekrar tıklayın ve tablonun adını (örneğin URL'ler) belirtin. Kontrol Paneline geri dönelim ve her iki görünümün de oluşturulduğunu görelim.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma

Kontrol Paneli ile Çalışmak

Kontrol Panelini oluştururken görüntüleme nesnesi ayarlarında yalnızca ana görünüm parametrelerini belirliyoruz. Nesnelerdeki filtreler için veri belirtmenin bir anlamı yoktur; örneğin, "tarih aralığı", "kullanıcı aracısına göre filtreleme", "istek ülkesine göre filtreleme" vb. Nesnelerin üzerinde bulunan sorgu panelinde istenilen zaman dilimini belirtmek veya gerekli filtrelemeyi ayarlamak çok daha uygundur.

Günlükleri İzlemek için Kibana'da Gösterge Tablosu Oluşturma
Bu panele eklenen filtreler tüm Dashboard'a uygulanacak ve tüm görüntüleme nesneleri, filtrelenen gerçek verilere uygun olarak yeniden oluşturulacaktır.

Sonuç

Kibana, her türlü veriyi uygun bir şekilde görselleştirmenize olanak tanıyan güçlü bir araçtır. İki ana ekran tipinin ayarını göstermeye çalıştım. Ancak diğer türler de benzer şekilde yapılandırılmıştır. Ve "perde arkasında" bıraktığım çok sayıda ayar, grafikleri ihtiyaçlarınıza göre çok esnek bir şekilde özelleştirmenize olanak tanıyacak.

Kaynak: habr.com

Yorum ekle