Kibana - Elk Yığına Giriş

Kibana, esas olarak çizgi grafik, çubuk grafik, pasta grafikler, ısı haritaları vb. Biçimindeki büyük hacimli günlüğü analiz etmek için kullanılan açık kaynaklı bir görselleştirme aracıdır. Kibana, Elasticsearch ve Logstash ile senkronize olarak çalışır ve ELK yığını.

ELK Elasticsearch, Logstash ve Kibana anlamına gelir. ELK günlük analizi için dünya çapında kullanılan popüler günlük yönetim platformlarından biridir.

ELK yığında -

  • Logstashfarklı giriş kaynaklarından günlük verilerini veya diğer olayları çıkarır. Olayları işler ve daha sonra Elasticsearch'te saklar.

  • Kibana Elasticsearch'ten günlüklere erişen ve kullanıcıya çizgi grafik, çubuk grafik, pasta grafikler vb. şeklinde görüntüleyebilen bir görselleştirme aracıdır.

Bu eğitimde, Kibana ve Elasticsearch ile yakın çalışacak ve verileri farklı formlarda görselleştireceğiz.

Bu bölümde ELK yığını ile birlikte nasıl çalışılacağını anlayalım. Ayrıca, nasıl yapılacağını da göreceksiniz -

  • CSV verilerini Logstash'tan Elasticsearch'e yükleyin.
  • Kibana'daki Elasticsearch'ten indisleri kullanın.

CSV verilerini Logstash'tan Elasticsearch'e yükleyin

Logstash kullanarak Elasticsearch'e veri yüklemek için CSV verilerini kullanacağız. Veri analizi üzerinde çalışmak için kaggle.com web sitesinden veri alabiliriz. Kaggle.com sitesi yüklenen her türlü veriye sahiptir ve kullanıcılar bunu veri analizi üzerinde çalışmak için kullanabilir.

Ülkeler.csv verilerini buradan aldık: https://www.kaggle.com/fernandol/countries-of-the-world. Csv dosyasını indirip kullanabilirsiniz.

Kullanacağımız csv dosyası aşağıdaki detaylara sahiptir.

Dosya adı - countrydata.csv

Sütunlar - "Ülke", "Bölge", "Nüfus", "Bölge"

Ayrıca sahte bir csv dosyası oluşturabilir ve onu kullanabilirsiniz. Biz bu verileri dökümü logstash kullanıyor olacak countriesdata.csv elasticsearch için.

Terminalinizde elasticsearch ve Kibana'yı başlatın ve çalışmaya devam edin. Logstash için, CSV dosyasının sütunları hakkında ayrıntılara ve ayrıca aşağıda verilen logstash-config dosyasında gösterilen diğer ayrıntılara sahip olacak yapılandırma dosyasını oluşturmalıyız -

input {
   file {
      path => "C:/kibanaproject/countriesdata.csv"
      start_position => "beginning"
      sincedb_path => "NUL"
   }
}
filter {
   csv {
      separator => ","
      columns => ["Country","Region","Population","Area"]
   }
   mutate {convert => ["Population", "integer"]}
   mutate {convert => ["Area", "integer"]}
}
output {
   elasticsearch {
      hosts => ["localhost:9200"]
      => "countriesdata-%{+dd.MM.YYYY}"
   }
   stdout {codec => json_lines }
}

Yapılandırma dosyasında 3 bileşen oluşturduk -

Giriş

Bizim durumumuzda bir csv dosyası olan girdi dosyasının yolunu belirtmemiz gerekiyor. Csv dosyasının saklandığı yol, yol alanına verilir.

Filtrele

Bizim durumumuzda virgül olan ayırıcılı csv bileşenine ve ayrıca csv dosyamız için kullanılabilir sütunlara sahip olacaktır. Logstash gelen tüm verileri string olarak kabul ettiğinden, herhangi bir sütunun tamsayı olarak kullanılmasını istememiz durumunda, float yukarıda gösterildiği gibi mutate kullanılarak belirtilmelidir.

Çıktı

Çıktı için verileri nereye koymamız gerektiğini belirtmemiz gerekir. Burada, bizim durumumuzda elasticsearch kullanıyoruz. Elasticsearch'e verilmesi gereken veriler çalıştığı hostlardır, localhost olarak bahsettik. Bir sonraki alan, adını ülkeler- güncel tarih olarak verdiğimiz endekstir . Veriler Elasticsearch'te güncellendikten sonra Kibana'da aynı endeksi kullanmalıyız.

Yukarıdaki yapılandırma dosyasını logstash_countries.config olarak kaydedin . Bir sonraki adımda bu yapılandırmanın yolunu logstash komutuna vermemiz gerektiğini unutmayın.

Verileri csv dosyasından elasticsearch'e yüklemek için elasticsearch sunucusunu başlatmamız gerekiyor -

Şimdi koş http://localhost:9200 elasticsearch'ün başarılı bir şekilde çalışıp çalışmadığını onaylamak için tarayıcıda.

Elasticsearch çalışıyor. Şimdi logstash'ın kurulu olduğu yola gidin ve verileri elasticsearch'e yüklemek için aşağıdaki komutu çalıştırın.

> logstash -f logstash_countries.conf

Yukarıdaki ekran, CSV dosyasından Elasticsearch'e veri yüklemesini gösterir. Elasticsearch'te oluşturulan dizine sahip olup olmadığımızı öğrenmek için aşağıdakileri kontrol edebiliriz -

Yukarıda gösterildiği gibi ülke veri-28.12.2018 endeksini görebiliriz.

Endeksin detayları - ülkeler-28.12.2018 aşağıdaki gibidir -

Veriler logstash'ten elasticsearch'e yüklendiğinde, özelliklere sahip eşleme ayrıntılarının oluşturulduğunu unutmayın.

Kibana'da Elasticsearch'ten Verileri Kullanın

Şu anda, localhost, 5601 numaralı bağlantı noktasında çalışan Kibana var - http://localhost:5601. Kibana'nın kullanıcı arayüzü burada gösterilmektedir -

Elasticsearch'e bağlı Kibana'ya sahip olduğumuzu ve görebilmemiz gerektiğini unutmayın. index :countries-28.12.2018 Kibana'nın içinde.

Kibana kullanıcı arayüzünde, sol taraftaki Yönetim Menüsü seçeneğine tıklayın -

Şimdi, Dizin Yönetimi'ni tıklayın -

Elasticsearch'te bulunan endeksler, dizin yönetiminde görüntülenir. Kibana'da kullanacağımız endeks, countrydata-28.12.2018.

Böylelikle, Kibana'da elasticsearch indeksimiz olduğundan, bir sonraki adımda verileri pasta grafiği, çubuk grafik, çizgi grafik vb. Şeklinde görselleştirmek için dizinin Kibana'da nasıl kullanılacağını anlayacağız