ELK Stack Eğitimi: Kibana, Logstash & Elasticsearch
⚡ Akıllı Özet
ELK Stack, üç açık kaynaklı aracı bir araya getiriyor: Elasticsearch, LogstashVe Kibana; makine verilerini toplamak, depolamak, aramak ve görselleştirmek için kullanılır; bu sayede mühendislik ekiplerine sunucular ve uygulamalar genelinde daha hızlı sorun giderme için merkezi günlük kaydı ve gerçek zamanlı analizler sağlanır.

ELK Stack, merkezi günlük kaydı ve günlük analizi için en yaygın kullanılan açık kaynak çözümlerinden biridir. Bu ELK Stack eğitiminde Elasticsearch'ün ne olduğu açıklanmaktadır, LogstashKibana ve diğer araçların nasıl bir araya geldiğini, platformun gerçek dünyadaki izleme ve gözlem çalışmalarında nerede kullanıldığını açıklayacağız.
ELK Yığını nedir?
MKS ELK Yığını üç açık kaynak ürününden oluşan bir koleksiyondur: Elasticsearch, LogstashKibana ile birlikte çalışır. Sunucular veya uygulamalarla ilgili sorunları belirlemenize yardımcı olan merkezi bir günlük kaydı sağlar; tüm günlüklerinizi tek bir yerde aramanıza olanak tanır. Ayrıca, belirli bir zaman dilimi içinde birden fazla sunucudaki günlükleri ilişkilendirmenize de yardımcı olur.
- E Elasticsearch kısaltması, log dosyalarını depolamak için kullanılır.
- L için standlar Logstash: gemi için kullanılırpingKayıtların işlenmesi ve saklanması.
- K Kibana'nın kısaltmasıdır: görselleştirme aracı (Nginx veya Apache üzerinden barındırılan bir web arayüzü).
Elasticsearch, LogstashKibana ve diğer tüm uygulamalar, aynı adı taşıyan bir şirket tarafından geliştirilmekte, yönetilmekte ve bakımı yapılmaktadır. Elastik.
ELK Stack, kullanıcıların herhangi bir kaynaktan, herhangi bir formatta veri alıp, bu veriyi gerçek zamanlı olarak aramasını, analiz etmesini ve görselleştirmesini sağlamak üzere tasarlanmıştır.
ELK Yığını Archidoku
Artık yığın yapısını bildiğinize göre, bu bölümde ELK mimarisi ve bileşenler arasında veri akışının nasıl gerçekleştiği açıklanmaktadır.
ELK işlem hattı, her aracın kendine özgü bir görevi olduğu net bir sırayı takip eder:
- Kayıtlar: Analiz edilmesi gereken sunucu günlükleri belirlendi.
- Logstash: Günlük kayıtlarını ve olay verilerini toplar, ardından ayrıştırır ve dönüştürür.
- Elastik arama: Veriler şu şekilde dönüştürüldü: Logstash Veriler saklanır, aranır ve indekslenir.
- Kibana: Elasticsearch veritabanını kullanarak verileri keşfeder, görselleştirir ve paylaşır.
Ancak, veri toplama için genellikle Beats adı verilen dördüncü bir bileşen eklenir. Beats, sunuculara kurulan hafif veri göndericileridir ve bunların eklenmesi Elastic'in ELK'yi Elastic Stack olarak yeniden adlandırmasına yol açmıştır.
Çok büyük miktarda veriyle çalışırken, tamponlama ve dayanıklılık için işlem hattının önüne Kafka veya RabbitMQ ekleyebilirsiniz.
Ek güvenlik için, Nginx gibi bir ters proxy, yığının önüne yerleştirilebilir.
Bu mimariyi göz önünde bulundurarak, aşağıdaki bölümlerde yığındaki her bir açık kaynak ürüne daha yakından bakacağız.
Elasticsearch nedir?
Elasticsearch bir NoSQL veritabanı Lucene arama motoruna dayalı ve RESTful API'lerle oluşturulmuş bir platformdur. Basit kurulum, yüksek güvenilirlik ve kolay yönetim sunar ve tüm verilerinizi merkezi olarak depolayarak gelişmiş sorgular ve hızlı belge aramaları yapmanıza olanak tanır.
Elasticsearch ayrıca büyük veri hacimlerini depolamanıza, aramanıza ve analiz etmenize olanak tanır. Genellikle, zorlu arama gereksinimlerine sahip uygulamaları destekleyen temel motor olarak kullanılır.
Hızlı arama özelliğine ek olarak analitik ve birçok gelişmiş özellik sunduğu için Elasticsearch, modern web ve mobil uygulamalar için arama platformlarında yaygın olarak kullanılmaktadır.
Elasticsearch'ün Özellikleri
Elasticsearch, veri indeksleme ve arama için zengin bir dizi özellik sunar:
- Açık kaynak kodlu, ile yazılmış bir arama sunucusu. Java.
- Her türlü heterojen veriyi indeksleyebilme özelliğine sahip.
- JSON çıktısı sağlayan bir REST API web arayüzü sunar.
- Tam metin araması.
- Gerçek zamana yakın (NRT) arama.
- Parçalara ayrılmış, çoğaltılmış, aranabilir bir JSON belge deposu.
- Şema gerektirmeyen, REST ve JSON tabanlı dağıtılmış belge deposu.
- Çoklu dil ve coğrafi konum desteği.
Elasticsearch'ün Avantajları
- Şemasız verileri depolar ve ayrıca verileriniz için bir şema da oluşturabilir.
- Çoklu belge API'lerini kullanarak kayıtları tek tek düzenlemenizi sağlar.
- Verilerinizi filtreleyerek ve sorgulayarak analiz etmenizi destekler.
- Apache Lucene tabanlıdır ve RESTful API sağlar.
- Gerçek zamanlı indeksleme ve daha hızlı arama için yatay ölçeklenebilirlik, güvenilirlik ve çoklu kullanıcı desteği sunar.
- Hem dikey hem de yatay ölçeklendirme yapmanıza yardımcı olur.
Aşağıdaki tabloda Elasticsearch ile çalışırken karşılaşacağınız temel terimler açıklanmaktadır:
| Dönem | kullanım |
|---|---|
| Cluster | Küme, verilerinizi birlikte barındıran ve birleşik indeksleme ve arama yetenekleri sağlayan düğümlerin bir koleksiyonudur. |
| Düğüm | Bir düğüm, tek bir Elasticsearch örneğidir. Bir Elasticsearch örneği başlatıldığında oluşturulur. |
| indeks | İndeks, müşteri verileri veya ürün kataloğu gibi benzer özelliklere sahip belgelerin bir koleksiyonudur. İndeksleme, arama, güncelleme ve silme işlemleri için kullanışlıdır ve bir kümede birden fazla indeks tanımlayabilirsiniz. |
| belge | Belge, indekslenebilen temel bilgi birimidir. JSON anahtar-değer çifti olarak ifade edilir ve her belge bir tür ve benzersiz bir kimlikle ilişkilendirilir. |
| çömlek kırığı | Her indeks, verileri dağıtmak için birkaç parçaya bölünebilir. Parça, bir indeksin atomik kısmıdır ve daha fazla düğüm ekledikçe küme genelinde dağıtılabilir. |
Nedir? Logstash?
Logstash Bu, yığının veri toplama işlem hattı aracıdır. Veri girdilerini toplar ve bunları Elasticsearch'e aktararak farklı kaynaklardan her türlü veriyi toplar ve daha sonraki kullanımlar için kullanılabilir hale getirir.
Logstash Farklı kaynaklardan gelen verileri birleştirebilir ve seçtiğiniz hedeflere göre normalleştirebilirsiniz. Bu sayede, çok çeşitli analiz ve görselleştirme kullanım durumları için tüm verilerinizi temizleyebilir ve demokratikleştirebilirsiniz.
Üç bileşenden oluşur:
- Giriş: Gelen kayıtları işler ve makine tarafından okunabilir bir biçime dönüştürür.
- Filtreler: Bir olaya ilişkin belirli bir eylemi gerçekleştiren bir dizi koşul.
- Çıktı: İşlenen her olayı veya kaydı yönlendiren karar verici.
Özellikleri Logstash
Logstash Günlük işleme sürecini esnek hale getiren çeşitli özellikler içerir:
- Olaylar, dahili kuyruklar kullanılarak her aşamadan geçer.
- Günlükleriniz için farklı girişler sağlar.
- Günlük dosyalarınızın filtrelenmesini ve ayrıştırılmasını destekler.
Avantajları Logstash
- Veri işleme süreçlerinizi merkezileştirir.
- Çeşitli yapılandırılmış ve yapılandırılmamış verileri ve olayları analiz eder.
- Çeşitli giriş kaynakları ve platformlarla bağlantı kurmak için eklentiler sunar.
Kibana nedir?
Kibana, ELK Stack'i tamamlayan veri görselleştirme aracıdır. Elasticsearch belgelerini görselleştirmek için kullanılır ve geliştiricilerin etkileşimli diyagramlar, coğrafi veriler ve karmaşık sorguları kolay anlaşılır hale getiren grafikler aracılığıyla verilerine hızlı bir şekilde göz atmalarına yardımcı olur.
Kibana'yı Elasticsearch indekslerinde depolanan verileri aramak, görüntülemek ve bunlarla etkileşim kurmak için kullanabilirsiniz. Ayrıca gelişmiş işlemler gerçekleştirmenize de yardımcı olur. veri analizi Verilerinizi çeşitli tablolar, grafikler ve haritalar halinde sunun.
Kibana, verilerinizde arama yapmak için çeşitli yöntemler sunmaktadır. En yaygın arama türleri aşağıda listelenmiştir:
| Arama Tipi | kullanım |
|---|---|
| Serbest metin aramaları | Belirli bir metin dizisini aramak için kullanılır. |
| Alan düzeyinde aramalar | Belirli bir alan içinde bir metin dizesini aramak için kullanılır. |
| Mantıksal ifadeler | Arama sonuçlarını mantıksal bir ifade halinde birleştirmek için kullanılır. |
| Yakınlık aramaları | Belirli bir karakter yakınlığı içindeki terimleri aramak için kullanılır. |
Kibana ayrıca indekslenmiş verileri keşfetmek için bir dizi güçlü özellik sunmaktadır:
- Elasticsearch kümesinden indekslenmiş bilgileri görselleştiren güçlü bir ön uç kontrol paneli.
- Dizinlenmiş bilgilerin gerçek zamanlı olarak aranmasını sağlar.
- Elasticsearch'te depolanan verilerde arama yapmanıza, verileri görüntülemenize ve bunlarla etkileşim kurmanıza olanak tanır.
- Veriler üzerinde sorgular yürütür ve sonuçları grafikler, tablolar ve haritalar halinde görselleştirir.
- Verileri dilimlemek ve analiz etmek için yapılandırılabilir bir gösterge paneli Logstash Elasticsearch'teki kayıtlar.
- Tarihsel verileri grafikler, tablolar ve daha fazlası şeklinde sunar.
- Kolayca yapılandırılabilen gerçek zamanlı gösterge panelleri sunar.
Kibana'nın Avantajları ve Dezavantajları
Her araç gibi, Kibana'nın da popülaritesini açıklayan belirgin güçlü yönleri vardır:
- Verilerin kolay görselleştirilmesi.
- Elasticsearch ile tam entegre.
- Özel bir görselleştirme aracı olarak işlev görür.
- Gerçek zamanlı analiz, grafik oluşturma, özetleme ve hata ayıklama imkanı sunar.
- Kullanıcı dostu ve sezgisel bir arayüz sunar.
- Arama yaptığınız günlüklerin anlık görüntülerinin paylaşılmasına olanak tanır.
- Birden fazla kontrol panelinin kaydedilmesine ve yönetilmesine olanak tanır.
Ancak, göz önünde bulundurulması gereken birkaç sınırlama da var:
- Bu yalnızca Elasticsearch'ü veri kaynağı olarak kullandığında çalışır.
- Karmaşık gösterge panelleri oluşturmak ve ayarlamak, oldukça zorlu bir öğrenme süreci gerektirebilir.
Neden Log Analizi?
Bulut tabanlı altyapılarda performans ve izolasyon çok önemlidir.
Buluttaki sanal makinelerin performansı, belirli yüklere, ortamlara ve aktif kullanıcı sayısına bağlı olarak değişebilir; bu nedenle güvenilirlik ve düğüm arızası önemli sorunlar haline gelebilir.
A günlük yönetim platformu Bu sorunların hepsini izleyebilir. Ayrıca trafik analizi için işletim sistemi günlüklerini, Nginx ve IIS web sunucusu günlüklerini, uygulama günlüklerini ve AWS'de oluşturulan günlükleri de işleyebilir.Amazon Web Hizmetleri).
Sonuç olarak, kayıt yönetimi yardımcı olur. DevOps Mühendisler ve sistem yöneticileri, veriye dayalı daha iyi kararlar alırlar. Bu nedenle Elastic Stack veya benzeri araçlar aracılığıyla yapılan log analizi vazgeçilmez hale gelmiştir.
ELK, Splunk'a Karşı
Sıkça sorulan sorulardan biri de ELK Stack'in diğer ürünlerle karşılaştırıldığında nasıl bir performans sergilediğidir. SplunkPopüler bir ticari alternatif. Aşağıdaki tabloda başlıca farklılıklar özetlenmiştir:
| ELK | Splunk |
|---|---|
| ELK açık kaynaklı bir araçtır. | Splunk ticari bir araçtır. |
| ELK herhangi bir teklif sunmamaktadır. Solaris Kibana sayesinde taşınabilirlik. | Splunk teklifleri Solaris taşınabilirlik. |
| İşleme hızı kesinlikle sınırlıdır. | Doğru ve hızlı işlem sunar. |
| ELK, Elasticsearch, Logstashve Kibana. | Splunk, hem yerel (on-premise) hem de bulut çözümleri sağlayan, tescilli bir araçtır. |
| ELK'de arama, analiz ve görselleştirme ancak yığın oluşturulduktan sonra mümkün olur. | Splunk, kullanıma hazır, eksiksiz bir veri yönetim paketidir. |
| ELK, diğer araçlarla sınırlı entegrasyon olanağı sunmaktadır. | Splunk, diğer araçlarla entegrasyon kurmak için kullanışlıdır. |
Durum çalışmaları
Birçok tanınmış şirket, büyük ölçekte günlük kaydı ve analiz işlemleri yürütmek için ELK Stack'e güvenmektedir. Aşağıdaki örnekler, üretim ortamında nasıl kullanıldığını göstermektedir.
Netflix
Netflix Müşteri hizmetleri operasyonlarının güvenlik kayıtlarını izlemek ve analiz etmek için ELK Stack'e büyük ölçüde güvenmektedir. Platform, şunları sağlar: Netflix Yaklaşık 800 düğümden oluşan on beşten fazla küme genelinde belgeleri indeksleyin, depolayın ve arayın.
Profesyonel ağ sitesi LinkedIn, performansı ve güvenliği izlemek için ELK Stack'i kullanıyor. Ekip, yükü gerçek zamanlı olarak yönetmek için ELK'yi Kafka ile entegre etti ve bu işlem altı veri merkezinde 100'den fazla kümeyi kapsıyor.
tripwire
Dünya çapında bir Güvenlik Bilgi ve Olay Yönetimi (SIEM) sağlayıcısı olan Tripwire, bilgi paketi günlük analizini desteklemek için ELK Stack'i kullanmaktadır.
Orta
Popüler blog yayınlama platformu Medium, üretim sorunlarını gidermek ve hataları tespit etmek için ELK Stack'i kullanıyor. DynamoDB Bu teknoloji yığını, şirketin her hafta 25 milyon benzersiz okuyucuyu ve binlerce yeni gönderiyi desteklemesine yardımcı oluyor.
ELK Stack'in Avantajları ve Dezavantajları
Avantajlar
ELK Stack, geniş çapta benimsenmesini açıklayan çeşitli avantajlar sunmaktadır:
- Kurumsal uygulamaların çeşitli bölümlerinden gelen günlük kayıtları tek bir ELK örneğinde birleştiğinde en iyi sonucu verir.
- Bu, tek bir örnekten zengin bilgiler sağlar ve yüzlerce ayrı veri kaynağına giriş yapma ihtiyacını ortadan kaldırır.
- Hızlı yerinde kurulum.
- Kolayca kurulabilir ve hem dikey hem de yatay olarak ölçeklenebilir.
- Elastic, Ruby de dahil olmak üzere birçok dil istemcisi sunmaktadır. Python, PHP, Perl, .NET, Java, ve JavaSenaryo.
- Birçok programlama ve betik dili için kütüphaneler mevcuttur.
Dezavantajlar
Güçlü yönlerine rağmen, ELK Stack'in dikkate alınması gereken birkaç dezavantajı da bulunmaktadır:
- Daha karmaşık bir sisteme geçtikçe farklı bileşenlerin yönetimi zorlaşabilir.
- Öğrenme süreci oldukça zorlu, bu yüzden deneyim kazandıkça deneme yanılma yöntemini kullanmaya hazırlıklı olun.


