Elastik Arama

ELK Stack ile Apache Günlüklerini Görselleştirin

ELK Stack ile Apache Günlüklerini Görselleştirin

Çeşitli altyapılar için günlükleri gerçek zamanlı olarak izlemek ve analiz etmek çok sıkıcı bir iş olabilir. Sürekli veri kaydeden web sunucuları gibi hizmetlerle uğraşırken, süreç çok karmaşık ve neredeyse imkansız olabilir.

Bu nedenle, günlükleri gerçek zamanlı olarak izlemek, görselleştirmek ve analiz etmek için araçların nasıl kullanılacağını bilmek, sorunları izlemenize ve sorun gidermenize ve şüpheli sistem etkinliklerini izlemenize yardımcı olabilir.

Bu eğitici, en iyi gerçek zamanlı günlük koleksiyonlarından ve analiz araçlarından birini nasıl kullanabileceğinizi tartışacak - ELK. Yaygın olarak Elasticsearch, Logstash ve Kibana olarak bilinen ELK'yı kullanarak, bir apache web sunucusundan gerçek zamanlı olarak veri toplayabilir, günlüğe kaydedebilir ve analiz edebilirsiniz.

ELK Yığını Nedir??

ELK, üç ana açık kaynak aracına atıfta bulunmak için kullanılan bir kısaltmadır: Elasticsearch, Logstash ve Kibana.

Elasticsearch çeşitli sorgu dilleri ve türleri kullanarak geniş bir veri kümesi koleksiyonundaki eşleşmeleri bulmak için geliştirilmiş açık kaynaklı bir araçtır. Terabaytlarca veriyi kolaylıkla işleyebilen hafif ve hızlı bir araçtır.

Logstash motor, sunucu tarafı ile Elasticsearch arasında, çeşitli kaynaklardan Elasticsearch'e veri toplamanıza izin veren bir bağlantıdır. Çeşitli programlama dillerinde geliştirilmiş uygulamalarla kolaylıkla entegre olabilen güçlü API'ler sunar.

Kibana ELK yığınının son parçasıdır. Verileri görsel olarak analiz etmenizi ve içgörülü raporlar oluşturmanızı sağlayan bir veri görselleştirme aracıdır. Ayrıca verilerinizle etkileşime geçmenize yardımcı olabilecek grafikler ve animasyonlar sunar.

ELK yığını çok güçlüdür ve inanılmaz veri analizi işleri yapabilir.

Bu eğitimde tartışacağımız çeşitli kavramlar size ELK yığını hakkında iyi bir fikir verecek olsa da, daha fazla bilgi için belgeleri göz önünde bulundurun.

Elasticsearch: https://linkfy.to/Elasticsearch-Referans

Logstash: https://linkfy.to/LogstashReference

Kibana: https://linkfy.için/KibanaGuide

Apache Nasıl Kurulur?

Apache'yi ve tüm bağımlılıkları kurmaya başlamadan önce, birkaç şeyi not etmek iyi olur.

Bu öğreticiyi Debian 10'da test ettik.6, ancak diğer Linux dağıtımlarıyla da çalışacak.

Sistem yapılandırmanıza bağlı olarak sudo veya kök izinlerine ihtiyacınız vardır.

ELK yığın uyumluluğu ve kullanılabilirliği sürümlere göre değişebilir.

İlk adım, sisteminizin tamamen güncellendiğinden emin olmaktır:

sudo apt-get güncellemesi
sudo apt-get yükseltme

Sonraki komut apache2 web sunucusunu kurmaktır. Minimal bir apache'nin yüklenmesini istiyorsanız, aşağıdaki komuttan belgeleri ve yardımcı programları kaldırın.

sudo apt-get install apache2 apache2-utils apache2-doc -y
sudo hizmeti apache2 başlangıcı

Şimdiye kadar, sisteminizde çalışan bir Apache sunucunuz olmalıdır.

Elasticsearch, Logstash ve Kibana Nasıl Kurulur?

Şimdi ELK yığınını kurmamız gerekiyor. Her aracı ayrı ayrı kuracağız.

Elasticsearch

Elasticsearch'ü kurarak başlayalım. Apt'yi yüklemek için kullanacağız, ancak buradaki resmi indirme sayfasından kararlı bir sürüm alabilirsiniz:

https://www.elastik.ortak/indirilenler/elastik arama

Elasticsearch, Java'nın çalışmasını gerektirir. Neyse ki, en son sürüm bir OpenJDK paketi ile birlikte gelir ve manuel olarak yükleme zorluğunu ortadan kaldırır. Manuel kurulum yapmanız gerekiyorsa, aşağıdaki kaynağa bakın:

https://www.elastik.co/guide/tr/elasticsearch/referans/geçerli/kurulum.html#jvm sürümü

Bir sonraki adımda, şu komutu kullanarak resmi Elastic APT imzalama anahtarını indirip kurmamız gerekiyor:

wget -qO - https://artifacts.elastik.co/GPG-KEY-elasticsearch | sudo apt-anahtar ekleme -

Devam etmeden önce, kuruluma devam etmeden önce bir apt-transport-https paketine (https üzerinden sunulan paketler için gereklidir) ihtiyacınız olabilir.

sudo apt-get install apt-transport-https

Şimdi, apt repo bilgilerini kaynaklara ekleyin.liste.d dosyası.

echo "deb https://artifacts.elastik.ortak/paketler/7.x/apt kararlı ana” | sudo tee /etc/apt/sources.liste.d/elastik-7.x.liste

Ardından sisteminizdeki paket listesini güncelleyin.

sudo apt-get güncellemesi

Aşağıdaki komutu kullanarak Elasticsearch'ü kurun:

sudo apt-get install elastiksearch

Elasticsearch'ü kurduktan sonra, systemctl komutlarıyla önyüklemeyi başlatın ve etkinleştirin:

sudo systemctl arka plan programı yeniden yükleme
sudo systemctl elastik aramayı etkinleştir.hizmet
sudo systemctl elastik aramayı başlat

Hizmetin başlaması biraz zaman alabilir. Birkaç dakika bekleyin ve hizmetin şu komutla çalıştığını doğrulayın:

sudo systemctl durum elastik arama.hizmet

cURL kullanarak, aşağıdaki JSON çıktısında gösterildiği gibi Elasticsearch API'sinin mevcut olup olmadığını test edin:

curl -X GET "localhost:9200/?güzel"

"isim": "debian",
"cluster_name": "elastik arama",
"cluster_uuid": "VZHcuTUqSsKO1ryHqMDWsg",
"sürüm":
"7 numara.10.1",
"build_flavor": "varsayılan",
"build_type": "deb",
"build_hash": "1c34507e66d7db1211f66f3513706fdf548736aa",
"build_date": "2020-12-05T01:00:33.671820Z",
"build_snapshot": yanlış,
"lucene_version": "8.7.0",
"minimum_wire_complete_version": "6.8.0",
"minimum_index_uyumluluk_sürüm": "6.0.0-beta1"
,
"slogan": "Biliyorsunuz, Arama için"

Logstash nasıl kurulur?

Aşağıdaki komutu kullanarak logstash paketini kurun:

sudo apt-get install logstash

Kibana nasıl kurulur?

Kibana'yı kurmak için aşağıdaki komutu girin:

sudo apt-get kurulum kibana

Elasticsearch, Logstash ve Kibana Nasıl Yapılandırılır?

ELK yığınını şu şekilde yapılandırabilirsiniz:

Elasticsearch Nasıl Yapılandırılır?

Elasticsearch'te veriler dizinlere göre sıralanır. Bu dizinlerin her biri bir veya daha fazla parçaya sahiptir. Parça, Elasticsearch içindeki bir kümedeki bir alt küme için dizinleri ve sorguları işlemek ve yönetmek için kullanılan bağımsız bir arama motorudur. Bir parça, bir Lucene endeksinin bir örneği olarak çalışır.

Varsayılan Elasticsearch yüklemesi, her dizin için beş parça ve bir çoğaltma oluşturur. Bu, üretimdeyken iyi bir mekanizmadır. Ancak bu eğitimde, tek bir parçayla ve kopya olmadan çalışacağız.

JSON biçiminde bir dizin şablonu oluşturarak başlayın. Dosyada, eşleşen dizin adları için parça sayısını bir ve sıfır kopya olarak ayarlayacağız (geliştirme amaçları için).

Elasticsearch'te bir dizin şablonu, oluşturma işlemi sırasında dizini ayarlama konusunda Elasticsearch'e nasıl talimat verdiğinizi ifade eder.

json şablon dosyasının içinde (index_template.json), aşağıdaki talimatları girin:


"şablon":"*",
"ayarlar":
"indeks":
"number_of_shards":1,
"number_of_replikas":0


cURL kullanarak, oluşturulan tüm dizinlere uygulanacak şablona json yapılandırmasını uygulayın.

curl -X PUT http://localhost:9200/_template/defaults -H 'Content-Type:application/json' -d @index_template.json
"onaylandı":doğru

Uygulandığında, Elasticsearch kabul edilmiş bir ifadeyle yanıt verir: doğru ifade.

Logstash Nasıl Yapılandırılır?

Logstash'in Apache'den günlükleri toplaması için, günlükleri toplayarak, işleyerek ve ardından günlükleri Elasticsearch'e kaydederek günlüklerdeki değişiklikleri izleyecek şekilde yapılandırmamız gerekir. Bunun olması için Logstash'ta günlük toplama yolunu ayarlamanız gerekir.

/etc/logstash/conf dosyasında Logstash yapılandırması oluşturarak başlayın.d/apache.konf

girdi
dosya
yol => '/var/www/*/logs/access.kayıt'
yazın => "apache"


filtre
grok
maç => "message" => "%COMBINEDAPACHELOG"


çıktı
elastik arama

Şimdi logstash hizmetini etkinleştirdiğinizden ve başlattığınızdan emin olun.

sudo systemctl logstash'i etkinleştir.hizmet
sudo systemctl logstash'i başlat.hizmet

Kibana nasıl etkinleştirilir ve yapılandırılır?

Kibana'yı etkinleştirmek için ana ./etc/kibana/kibana'da bulunan yml yapılandırma dosyası.yml. Aşağıdaki girişleri bulun ve yorumlarını kaldırın. Bittiğinde, Kibana hizmetini başlatmak için systemctl kullanın.

sunucu.bağlantı noktası: 5601
sunucu.ana bilgisayar: "yerel ana bilgisayar"
sudo systemctl kibana'yı etkinleştir.service && sudo systemctl kibana'yı başlat.hizmet

Kibana, işlenen verilere dayalı olarak dizin kalıpları oluşturur. Bu nedenle, Logstash kullanarak günlükleri toplamanız ve bunları Kibana'nın kullanabileceği Elasticsearch'te saklamanız gerekir. Apache'den günlükler oluşturmak için curl kullanın.

Apache'den günlükleri aldıktan sonra, Kibana dizin sayfasını başlatacak olan http://localhost:5601 adresini kullanarak tarayıcınızda Kibana'yı başlatın.

Temel olarak, günlükleri aramak ve raporlar oluşturmak için Kibana tarafından kullanılan dizin modelini yapılandırmanız gerekir. Kibana, varsayılan olarak Logstash tarafından oluşturulan tüm varsayılan dizinlerle eşleşen logstash* dizin modelini kullanır.

Herhangi bir yapılandırmanız yoksa, günlükleri görüntülemeye başlamak için oluştur'u tıklayın.

Kibana Günlükleri Nasıl Görüntülenir?

Apache isteklerini gerçekleştirmeye devam ettikçe Logstash, günlükleri toplayacak ve bunları Elasticsearch'e ekleyecektir. Kibana'da bu logları sol menüde bulunan Keşfet seçeneğine tıklayarak görüntüleyebilirsiniz.

Keşfet sekmesi, sunucu bunları oluştururken günlükleri görüntülemenizi sağlar. Bir günlüğün ayrıntılarını görüntülemek için açılır menüyü tıklamanız yeterlidir.

Apache günlüklerindeki verileri okuyun ve anlayın.

Günlükler Nasıl Aranır?

Kibana arayüzünde, sorgu dizelerini kullanarak veri aramanızı sağlayan bir arama çubuğu bulacaksınız.

Misal: durum:etkin

ELK sorgu dizeleri hakkında daha fazla bilgiyi buradan edinebilirsiniz:

https://www.elastik.co/guide/tr/elasticsearch/referans/5.5/sorgu-dsl-sorgu-dize-sorgu.html#query-string-sözdizimi

Apache günlükleriyle uğraştığımız için olası bir eşleşme durum kodudur. Bu nedenle, arayın:

yanıt:200

Bu kod, durum kodu 200 (OK) olan günlükleri arayacak ve Kibana'ya gösterecektir.

Günlükler Nasıl Görselleştirilir?

Kibana'da Görselleştir sekmesini seçerek görsel panolar oluşturabilirsiniz. Oluşturulacak pano türünü seçin ve arama dizininizi seçin. Varsayılanı test amacıyla kullanabilirsiniz.

Sonuç

Bu kılavuzda, günlükleri yönetmek için ELK yığınının nasıl kullanılacağına ilişkin bir genel bakış tartıştık. Ancak, bu makalenin kapsayabileceği bu teknolojiler için daha fazlası var. Kendi başınıza keşfetmenizi öneririz.

Wesnoth 1 Savaşı.13.6 Geliştirme Yayınlandı
Wesnoth 1 Savaşı.13.Geçen ay yayınlanan 6. sürüm, 1. sürümdeki altıncı geliştirme sürümüdür.13.x serisi ve özellikle kullanıcı arayüzü için bir dizi i...
Ubuntu 14'te League Of Legends Nasıl Kurulur.04
League of Legends hayranıysanız, bu, League of Legends koşusunu test etmeniz için bir fırsattır. Linux kullanıcısıysanız LOL'nin PlayOnLinux'ta destek...
En son OpenRA Strateji Oyununu Ubuntu Linux'a yükleyin
OpenRA, klasik Command & Conquer: Red Alert gibi erken Westwood oyunlarını yeniden yaratan bir Libre/Free Gerçek Zamanlı Strateji oyun motorudur. Dağı...