Takip et

Logstash ve Kibana Kullanarak Logları CentOS 7 Üzerinde Merkezileştirme

Logstash ve Kibana Kullanarak Logları CentOS 7 Üzerinde Merkezileştirme Günümüzün karmaşık IT altyapılarında, sunuculardan, ağ cihazları

Logstash ve Kibana Kullanarak Logları CentOS 7 Üzerinde Merkezileştirme

Günümüzün karmaşık IT altyapılarında, sunuculardan, ağ cihazlarından, uygulamalardan ve diğer sistemlerden gelen log verileri, sistem sağlığı, güvenlik ve performans analizi için kritik öneme sahiptir. Ancak bu logları manuel olarak toplamak, analiz etmek ve yönetmek, özellikle çok sayıda sistemin bulunduğu ortamlarda, zaman alıcı ve hataya açık bir süreçtir. İşte bu noktada log merkezileştirme çözümleri devreye girer. Bu makalede, açık kaynak dünyasının güçlü araçlarından Logstash ve Kibana’yı kullanarak CentOS 7 işletim sistemi üzerinde logları nasıl merkezileştireceğinizi ayrıntılı bir şekilde ele alacağız. Bu sayede, loglarınızı tek bir noktadan toplayabilecek, işleyebilecek, depolayabilecek ve görselleştirebileceksiniz.

Neden Logları Merkezileştirmeliyiz?

Logların merkezileştirilmesi, modern IT operasyonlarının vazgeçilmez bir parçasıdır ve birçok önemli avantaj sunar:

Daha Hızlı Sorun Giderme ve Teşhis

Birden fazla sunucudaki logları tek tek kontrol etmek yerine, merkezileştirilmiş bir sistemde tüm loglara anında erişebilir ve sorunları daha hızlı teşhis edebilirsiniz. Farklı sistemlerden gelen logları ilişkilendirerek kök neden analizi yapmak kolaylaşır.

Geliştirilmiş Güvenlik ve Anomali Tespiti

Merkezileştirilmiş loglar, güvenlik olaylarını (başarısız giriş denemeleri, yetkisiz erişimler vb.) gerçek zamanlı olarak izlemenize olanak tanır. Anormal davranışları veya potansiyel güvenlik ihlallerini tespit etmek için loglar üzerinde gelişmiş aramalar ve uyarılar tanımlayabilirsiniz.

Performans İzleme ve Kapasite Planlama

Uygulama ve sistem performans metriklerini içeren logları analiz ederek, darboğazları tespit edebilir, kaynak kullanımını optimize edebilir ve gelecekteki kapasite ihtiyaçlarını tahmin edebilirsiniz.

Uyumluluk ve Denetim Kolaylığı

Birçok sektörde (finans, sağlık vb.) yasal düzenlemeler, logların belirli bir süre saklanmasını ve denetlenebilir olmasını gerektirir. Merkezileştirilmiş bir sistem, bu uyumluluk gereksinimlerini karşılamayı ve denetim süreçlerini kolaylaştırmayı sağlar.

Operasyonel Verimlilik

Logların otomatik olarak toplanması, işlenmesi ve görselleştirilmesi, manuel müdahale ihtiyacını azaltır ve IT ekiplerinin daha stratejik görevlere odaklanmasına olanak tanır.

ELK Stack’i Anlamak: Logstash ve Kibana

Logstash ve Kibana, genellikle Elasticsearch ile birlikte “ELK Stack” olarak bilinen bir üçlünün parçasıdır. Bu makalede odak noktamız Logstash ve Kibana olsa da, Elasticsearch’ün bu yapının temel depolama ve arama motoru olduğunu unutmamak önemlidir.

Logstash: Veri Toplama ve İşleme Hattı

Logstash, çeşitli kaynaklardan log ve diğer olay verilerini toplayan, dönüştüren ve bunları seçilen bir hedefe (genellikle Elasticsearch) gönderen açık kaynaklı, sunucu tarafı bir veri işleme hattıdır. Esnek yapısı sayesinde farklı formatlardaki verileri ayrıştırabilir, zenginleştirebilir ve standartlaştırabilir.

Logstash’ın Temel Bileşenleri:

* Input (Giriş): Logstash’ın verileri nereden alacağını tanımlar. Örnek olarak, dosyalardan (file), ağ üzerinden (syslog, beats), mesaj kuyruklarından (kafka, rabbitmq) veri alabilir.
* Filter (Filtre): Gelen verileri işlemek, dönüştürmek ve zenginleştirmek için kullanılır. grok ile yapılandırılmamış logları ayrıştırabilir, date ile zaman damgalarını normalleştirebilir, mutate ile alanları ekleyebilir/silebilir/yeniden adlandırabilir veya json ile JSON verilerini ayrıştırabilirsiniz.
* Output (Çıkış): İşlenmiş verilerin nereye gönderileceğini belirtir. Genellikle Elasticsearch’e gönderilir, ancak stdout (konsola yazdırma), file (dosyaya yazma) veya diğer hedeflere de gönderilebilir.

Kibana: Veri Görselleştirme ve Keşif Aracı

Kibana, Elasticsearch’te depolanan verileri görselleştirmek ve keşfetmek için kullanılan bir web arayüzüdür. Kullanıcı dostu arayüzü sayesinde karmaşık sorgular oluşturabilir, çeşitli grafikler (çubuk grafikler, pasta grafikler, çizgi grafikler vb.) oluşturabilir ve bunları interaktif panolarda birleştirebilirsiniz.

Kibana’nın Temel Yetenekleri:

* Discover (Keşfet): Logları gerçek zamanlı olarak aramanızı, filtrelemenizi ve incelemenizi sağlar. Belirli bir zaman aralığındaki olayları kolayca bulabilirsiniz.
* Visualize (Görselleştir): Verilerinizden anlamlı grafikler ve tablolar oluşturmanızı sağlar. Log seviyelerinin dağılımını, en çok hata veren sunucuları veya belirli bir uygulamanın performans trendlerini görselleştirebilirsiniz.
* Dashboard (Pano): Oluşturduğunuz görselleştirmeleri tek bir ekranda birleştirerek sisteminizin veya uygulamanızın genel durumunu hızlıca gözlemleyebileceğiniz interaktif panolar oluşturmanızı sağlar.

Elasticsearch: Veri Depolama ve Arama Motoru (Kısaca)

Logstash’ın işlediği veriler ve Kibana’nın görselleştirdiği veriler, Elasticsearch adı verilen dağıtık, RESTful, arama ve analiz motorunda depolanır. Elasticsearch, büyük hacimli verileri hızlı bir şekilde indeksleyebilir, arayabilir ve analiz edebilir. ELK stack’inin kalbini oluşturur.

Ön Gereksinimler

Bu kurulum rehberine başlamadan önce aşağıdaki ön gereksinimleri sağlamanız gerekmektedir:

* CentOS 7 Sunucusu: ELK stack bileşenlerini kurmak için yeterli kaynağa (CPU, RAM, Disk) sahip bir CentOS 7 sunucusu. Minimum 4GB RAM ve 2 CPU çekirdeği önerilir, ancak üretim ortamları için daha fazlası gerekebilir.
* Java Geliştirme Kiti (JDK): Elasticsearch ve Logstash Java tabanlı uygulamalar olduğu için OpenJDK 8 veya üzeri bir sürümün kurulu olması gerekmektedir.
* Root veya Sudo Yetkileri: Kurulum ve yapılandırma adımları için root kullanıcısı veya sudo yetkilerine sahip bir kullanıcı.
* Ağ Bağlantısı: Sunucuların internete erişimi ve birbirleriyle iletişim kurabilmeleri için gerekli ağ ayarları ve güvenlik duvarı kuralları.

ELK Stack Bileşenlerinin CentOS 7 Üzerine Kurulumu

ELK stack bileşenlerini kurmak için öncelikle Elastic repository’sini sistemimize eklememiz ve ardından yum paket yöneticisini kullanarak kurulumları gerçekleştirmemiz gerekmektedir.

1. Java Kurulumu

Elasticsearch ve Logstash için Java’ya ihtiyacımız var. OpenJDK 8’i kuracağız:

sudo yum update
sudo yum install java-1.8.0-openjdk-devel -y

Kurulumun ardından Java sürümünü kontrol edebilirsiniz:

java -version

Çıktı aşağıdaki gibi olmalıdır:

openjdk version "1.8.0_..."
OpenJDK Runtime Environment (build 1.8.0_...)
OpenJDK 64-Bit Server VM (build 25.x-bxx, mixed mode)

2. Elastic Deposu Ekleme

Elasticsearch, Logstash ve Kibana’nın resmi paketlerini almak için Elastic reposunu sistemimize eklememiz gerekiyor. Öncelikle GPG anahtarını import edelim:

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Şimdi /etc/yum.repos.d/elastic.repo adında bir repo dosyası oluşturalım ve içeriğini aşağıdaki gibi dolduralım:

sudo vi /etc/yum.repos.d/elastic.repo

Dosya içeriği:

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Bu depo, Elasticsearch, Logstash ve Kibana’nın 7.x sürümlerini içerecektir.

3. Elasticsearch Kurulumu

Elasticsearch’ü kurmak için yum komutunu kullanın:

sudo yum install elasticsearch -y

Kurulum tamamlandıktan sonra, Elasticsearch’ü yapılandırmamız gerekiyor. Ana yapılandırma dosyası /etc/elasticsearch/elasticsearch.yml adresindedir.

sudo vi /etc/elasticsearch/elasticsearch.yml

Aşağıdaki satırları bulun ve düzenleyin (veya ekleyin):

# Cluster adı. Aynı cluster'daki tüm düğümler aynı adı kullanmalıdır.
cluster.name: my-elk-cluster

Elasticsearch'ün hangi ağ arayüzünde dinleyeceğini belirtir.

Üretim ortamında sunucunuzun IP adresini kullanın. Test için 0.0.0.0 kullanılabilir.

network.host: 0.0.0.0 # veya sunucunuzun özel IP adresi

HTTP portu

http.port: 9200

Elasticsearch'ün başlatıldığında otomatik olarak keşfedeceği düğümleri listeler.

Tek düğümlü kurulum için kendi IP adresinizi belirtin.

discovery.seed_hosts: ["127.0.0.1"]

Değişiklikleri kaydedip çıktıktan sonra, Elasticsearch servisini etkinleştirip başlatalım:

sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

Servisin durumunu kontrol edin:

sudo systemctl status elasticsearch

Elasticsearch’ün çalıştığını test etmek için curl kullanabilirsiniz:

curl -X GET "localhost:9200/"

Başarılı bir kurulumda JSON formatında sunucu bilgileri görmelisiniz.

Güvenlik Duvarı Ayarları: Elasticsearch’e dışarıdan erişim sağlamak için 9200 portunu açmanız gerekebilir:

sudo firewall-cmd --add-port=9200/tcp --permanent
sudo firewall-cmd --reload

4. Logstash Kurulumu

Logstash’ı kurmak için yum komutunu kullanın:

sudo yum install logstash -y

Logstash’ın kendisi kurulu, ancak çalışması için bir yapılandırma dosyasına ihtiyacı var. Yapılandırma dosyalarını /etc/logstash/conf.d/ dizinine yerleştiririz. Şimdilik Logstash servisini etkinleştirip başlatmayacağız, çünkü bir yapılandırma dosyası olmadan hata verecektir.

5. Kibana Kurulumu

Kibana’yı kurmak için yum komutunu kullanın:

sudo yum install kibana -y

Kibana’yı yapılandırmak için /etc/kibana/kibana.yml dosyasını düzenleyin:

sudo vi /etc/kibana/kibana.yml

Aşağıdaki satırları bulun ve düzenleyin (veya ekleyin):

# Kibana'nın dinleyeceği port
server.port: 5601

Kibana'nın hangi ağ arayüzünde dinleyeceğini belirtir.

Üretim ortamında sunucunuzun IP adresini kullanın. Test için 0.0.0.0 kullanılabilir.

server.host: "0.0.0.0" # veya sunucunuzun özel IP adresi

Kibana'nın bağlanacağı Elasticsearch instance(ları)

elasticsearch.hosts: ["http://localhost:9200"] # veya Elasticsearch sunucunuzun IP adresi

Değişiklikleri kaydedip çıktıktan sonra, Kibana servisini etkinleştirip başlatalım:

sudo systemctl enable kibana
sudo systemctl start kibana

Servisin durumunu kontrol edin:

sudo systemctl status kibana

Güvenlik Duvarı Ayarları: Kibana’ya web tarayıcınızdan erişmek için 5601 portunu açmanız gerekebilir:

sudo firewall-cmd --add-port=5601/tcp --permanent
sudo firewall-cmd --reload

Şimdi bir web tarayıcısı açıp http://:5601 adresine giderek Kibana arayüzüne erişebilmelisiniz.

Logstash’ı Log Toplama İçin Yapılandırma

Logstash’ın kalbi, giriş, filtre ve çıkış bölümlerinden oluşan yapılandırma dosyalarıdır. Bu bölümde, Logstash’ı çeşitli logları toplamak ve Elasticsearch’e göndermek için nasıl yapılandıracağımızı göreceğiz. En yaygın yöntemlerden biri, istemci sunuculardan logları Filebeat aracılığıyla almaktır.

Logstash Yapılandırma Dosyası Yapısı

Logstash yapılandırma dosyaları, /etc/logstash/conf.d/ dizini altında bulunur ve .conf uzantılıdır. Her dosya genellikle üç ana bölüm içerir:

input {
  # Logstash'ın verileri nereden alacağını tanımlar
}

filter {
  # Gelen verileri işlemek, dönüştürmek ve zenginleştirmek için kullanılır
}

output {
  # İşlenmiş verilerin nereye gönderileceğini belirtir
}

Örnek Logstash Yapılandırması: Filebeat Girişi

Bu örnekte, istemci sunuculardan Filebeat aracılığıyla gönderilen logları Logstash’ın nasıl alacağını ve işleyeceğini göstereceğiz.

/etc/logstash/conf.d/02-beats-input.conf adında bir dosya oluşturalım:

sudo vi /etc/logstash/conf.d/02-beats-input.conf

İçeriği aşağıdaki gibi olsun:

input {
  beats {
    port => 5044
    # SSL/TLS şifrelemesi kullanmak isterseniz aşağıdaki satırları etkinleştirin
    # ssl => true
    # ssl_certificate => "/etc/pki/tls/certs/logstash-beats.crt"
    # ssl_key => "/etc/pki/tls/private/logstash-beats.key"
  }
}

Bu yapılandırma, Logstash’ın 5044 portunda Filebeat bağlantılarını dinlemesini sağlar.

Şimdi bu logları Elasticsearch’e gönderecek bir çıkış yapılandırması oluşturalım. /etc/logstash/conf.d/30-elasticsearch-output.conf adında bir dosya oluşturalım:

sudo vi /etc/logstash/conf.d/30-elasticsearch-output.conf

İçeriği aşağıdaki gibi olsun:

output {
  elasticsearch {
    hosts => ["localhost:9200"] # Elasticsearch sunucunuzun IP adresi ve portu
    index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
    # Logstash'ın Elasticsearch'e göndereceği index adı.
    # Bu format, Filebeat'ten gelen veriler için yaygın olarak kullanılır.
  }
  # Hata ayıklama için logları konsola yazdırmak isterseniz aşağıdaki satırları etkinleştirin
  # stdout { codec => rubydebug }
}

Bu yapılandırma, Logstash’ın işlenmiş verileri Elasticsearch’e göndermesini sağlar. index alanı, logların Elasticsearch’te hangi indeks adı altında saklanacağını belirler.

Logstash Yapılandırmasını Doğrulama ve Başlatma

Yapılandırma dosyalarını oluşturduktan sonra, herhangi bir hata olup olmadığını kontrol etmek iyi bir uygulamadır:

sudo -u logstash /usr/share/logstash/bin/logstash -t -f /etc/logstash/conf.d/

Eğer çıktı Configuration OK ise, Logstash servisini etkinleştirip başlatabilirsiniz:

sudo systemctl enable logstash
sudo systemctl start logstash

Servisin durumunu kontrol edin:

sudo systemctl status logstash

Güvenlik Duvarı Ayarları: Logstash’ın 5044 portunu açmanız gerekmektedir, böylece istemci sunucular Filebeat aracılığıyla log gönderebilir:

sudo firewall-cmd --add-port=5044/tcp --permanent
sudo firewall-cmd --reload

İstemci Sunucularda Filebeat Kurulumu ve Yapılandırması

Filebeat, log dosyalarını izlemek ve bunları Logstash veya Elasticsearch’e iletmek için tasarlanmış hafif bir veri aktarıcısıdır. İstemci sunucularınıza Filebeat kurarak logları merkezi Logstash sunucunuza güvenli ve verimli bir şekilde gönderebilirsiniz.

1. Filebeat Kurulumu

İstemci CentOS 7 sunucunuzda, yukarıda yaptığımız gibi Elastic repository’sini ekleyin (GPG anahtarı ve /etc/yum.repos.d/elastic.repo dosyası) ve ardından Filebeat’i kurun:

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
sudo vi /etc/yum.repos.d/elastic.repo # Yukarıdaki içeriği kopyalayın
sudo yum install filebeat -y

2. Filebeat Yapılandırması

Filebeat’in ana yapılandırma dosyası /etc/filebeat/filebeat.yml adresindedir. Bu dosyayı düzenleyerek hangi log dosyalarını izleyeceğimizi ve bunları nereye göndereceğimizi belirtmeliyiz.

sudo vi /etc/filebeat/filebeat.yml

Aşağıdaki bölümleri düzenleyin:

filebeat.inputs Bölümü: Bu bölümde, Filebeat’in hangi log dosyalarını okuyacağını tanımlarız.

# ============================== Filebeat inputs ===============================

filebeat.inputs:

- type: log
  enabled: true
  paths:
    - /var/log/messages
    - /var/log/secure
    - /var/log/maillog
    # Diğer log dosyalarınızı buraya ekleyebilirsiniz, örneğin Apache/Nginx erişim logları
    # - /var/log/httpd/access_log
    # - /var/log/nginx/access.log
  # Logları parse etmek için işlemci ekleyebilirsiniz. Örneğin, syslog modülü için:
  # processors:
  #   - add_host_metadata: ~
  #   - add_cloud_metadata: ~
  #   - decode_json_fields:
  #       fields: ["message"]
  #       target: "json"
  #       overwrite_keys: true

output.logstash Bölümü: Bu bölüm, Filebeat’in logları Logstash sunucunuza göndermesini sağlar. output.elasticsearch bölümünü yorum satırı yapın ve output.logstash bölümünü etkinleştirin.

# ---------------------------- Logstash Output -----------------------------
output.logstash:
  # The Logstash hosts
  hosts: [":5044"] # Logstash sunucunuzun IP adresi ve portu

  # Optional SSL. Used by clients to authenticate a Logstash instance.
  # ssl.certificate_authorities: ["/etc/pki/tls/certs/logstash-beats.crt"]
  # ssl.verification_mode: "full"

yerine Logstash’ı kurduğunuz sunucunun IP adresini yazmayı unutmayın.

3. Filebeat Modüllerini Etkinleştirme (İsteğe Bağlı)

Filebeat, yaygın log formatları için önceden yapılandırılmış modüllerle birlikte gelir (örneğin, Apache, Nginx, MySQL, System). Bu modüller, logları otomatik olarak ayrıştırmak ve ilgili alanları çıkarmak için Logstash ile birlikte çalışır.

Örneğin, sistem logları için system modülünü etkinleştirebilirsiniz:

sudo filebeat modules enable system

Etkinleştirilen modüllerin yapılandırma dosyaları /etc/filebeat/modules.d/ dizininde bulunur. Bu dosyaları inceleyebilir ve ihtiyaçlarınıza göre düzenleyebilirsiniz.

4. Filebeat Servisini Başlatma

Yapılandırma tamamlandıktan sonra, Filebeat servisini etkinleştirip başlatalım:

sudo systemctl enable filebeat
sudo systemctl start filebeat

Servisin durumunu kontrol edin:

sudo systemctl status filebeat

Artık istemci sunucunuzdaki loglar, Filebeat tarafından okunacak ve Logstash sunucunuza 5044 portu üzerinden gönderilecektir. Logstash da bu logları işleyip Elasticsearch’e aktaracaktır.

Kibana ile Logları Keşfetme ve Görselleştirme

Loglar Elasticsearch’e ulaştığında, Kibana’yı kullanarak bunları keşfetme, arama ve görselleştirme zamanı gelmiştir.

1. Kibana Arayüzüne Erişme

Web tarayıcınızı açın ve Kibana sunucunuzun IP adresi ile 5601 portundan erişin: http://:5601.

2. Bir Dizin Kalıbı (Index Pattern) Oluşturma

Kibana’nın Elasticsearch’teki logları gösterebilmesi için bir dizin kalıbı oluşturmanız gerekir. Logstash ve Filebeat tarafından oluşturulan indeksler genellikle filebeat-7.x-YYYY.MM.DD veya logstash-YYYY.MM.DD gibi bir formatta olur.

* Kibana arayüzünde sol menüden “Stack Management” -> “Index Patterns” bölümüne gidin.
* “Create index pattern” butonuna tıklayın.
“Index pattern name” alanına filebeat- (Filebeat kullanıyorsanız) veya logstash-* (Logstash output’unuzda farklı bir indeks adı belirlediyseniz) yazın. Kibana, mevcut indeksleri gösterecektir.
* “Next step” butonuna tıklayın.
* “Time field” açılır menüsünden @timestamp seçeneğini seçin. Bu, Kibana’nın logları zaman damgalarına göre filtrelemesini sağlar.
* “Create index pattern” butonuna tıklayın.

Artık Kibana, Elasticsearch’teki loglarınıza erişebilir durumda.

3. Discover (Keşfet) Sekmesinde Logları İnceleme

* Sol menüden “Analytics” -> “Discover” sekmesine gidin.
* Burada, Elasticsearch’e gönderilen tüm logları görebilirsiniz.
* Sağ üst köşedeki zaman aralığı seçicisini kullanarak belirli bir zaman dilimindeki logları görüntüleyebilirsiniz (örneğin, “Last 15 minutes”, “Last 24 hours”).
* Arama çubuğunu kullanarak loglar arasında metin tabanlı aramalar yapabilirsiniz (örneğin, level:error, message:"failed login").
* Sol taraftaki “Available fields” bölümünden ilgilendiğiniz alanları seçerek log tablolarına ekleyebilir veya kaldırabilirsiniz.

4. Visualize (Görselleştir) Sekmesinde Görselleştirmeler Oluşturma

* Sol menüden “Analytics” -> “Visualize” sekmesine gidin.
* “Create new visualization” butonuna tıklayın ve istediğiniz grafik türünü seçin (örneğin, “Vertical bar”, “Pie”, “Data table”).
* Örneğin, “Vertical bar” seçeneğini seçelim.
Oluşturduğunuz dizin kalıbını (filebeat-) seçin.
* Sol panelde, Y ekseni için bir toplama (aggregation) (örneğin, “Count”) ve X ekseni için bir kova (bucket) (örneğin, “Date Histogram” ile @timestamp alanı) tanımlayabilirsiniz.
* Ayrıca, log seviyelerine göre dağılımı görmek için “Split series” veya “Split slices” (pasta grafik için) seçeneklerini kullanarak log.level.keyword gibi bir alan ekleyebilirsiniz.
* “Save” butonuna tıklayarak görselleştirmenizi kaydedin.

5. Dashboard (Pano) Sekmesinde Panolar Oluşturma

* Sol menüden “Analytics” -> “Dashboard” sekmesine gidin.
* “Create new dashboard” butonuna tıklayın.
* “Add” butonuna tıklayın ve daha önce kaydettiğiniz görselleştirmeleri panonuza ekleyin.
* Görselleştirmeleri sürükleyip bırakarak boyutlarını ve konumlarını ayarlayabilirsiniz.
* Panolar, sistemlerinizin veya uygulamalarınızın genel durumunu tek bir yerden izlemenizi sağlar.
* “Save” butonuna tıklayarak panonuzu kaydedin.

Güvenlik Hususları

ELK stack’i kurduktan sonra, güvenliği göz ardı etmemek önemlidir:

* Güvenlik Duvarı Kuralları: Sadece gerekli portları (9200, 5044, 5601) açın ve mümkünse belirli IP adresleriyle sınırlayın.
* Kimlik Doğrulama ve Yetkilendirme: Üretim ortamlarında, Elasticsearch ve Kibana’ya erişimi güvence altına almak için Elastic Stack’in X-Pack güvenlik özelliklerini (ücretli), Nginx gibi bir ters proxy kullanarak temel kimlik doğrulamayı veya Open Distro for Elasticsearch gibi alternatifleri kullanmayı düşünün.
* TLS/SSL Şifrelemesi: Logstash ile Filebeat arasındaki iletişimi, Kibana ile Elasticsearch arasındaki iletişimi ve Kibana’ya web erişimini TLS/SSL ile şifreleyin.
* Ayrıcalıkların Kısıtlanması: Elasticsearch, Logstash ve Kibana servislerini, minimum ayrıcalık ilkesine uygun olarak, kendi özel kullanıcıları altında çalıştırın.

Performans ve Ölçeklendirme

Log hacminiz arttıkça veya daha fazla istemci sunucu ekledikçe, ELK stack’inizin performansını ve ölçeklenebilirliğini göz önünde bulundurmanız gerekecektir:

* Donanım Kaynakları: Özellikle Elasticsearch için yeterli RAM, hızlı disk (SSD önerilir) ve CPU sağlayın. Logstash da yüksek log hacimlerini işlerken önemli miktarda CPU ve RAM kullanabilir.
* Bileşenleri Ayırma: Büyük ortamlarda, Elasticsearch, Logstash ve Kibana’yı farklı sunuculara ayırmayı düşünün.
* Elasticsearch Kümesi: Yüksek kullanılabilirlik ve ölçeklenebilirlik için birden fazla Elasticsearch düğümünden oluşan bir küme kurun.
* Logstash İşlemcileri: Gerekirse birden fazla Logstash instance’ı kurarak gelen logları dengeleyebilirsiniz.
* İndeks Yaşam Döngüsü Yönetimi (ILM): Elasticsearch’te eski indeksleri otomatik olarak silmek veya daha yavaş depolama katmanlarına taşımak için ILM politikalarını kullanın. Bu, disk alanını yönetmenize yardımcı olur.

Sonuç

Bu makalede, Logstash ve Kibana’yı kullanarak CentOS 7 üzerinde logları nasıl merkezileştireceğinizi ayrıntılı bir şekilde ele aldık. Elasticsearch’ün temel depolama katmanı olduğunu varsayarak, bu güçlü açık kaynak araçlarıyla loglarınızı toplama, işleme, depolama ve görselleştirme yeteneği kazandınız. Logların merkezileştirilmesi, sorun giderme sürelerini kısaltmaktan, güvenlik duruşunuzu iyileştirmeye ve operasyonel verimliliği artırmaya kadar birçok kritik fayda sağlar.

Artık temel bir merkezi loglama sistemine sahipsiniz. Bu sistemin yeteneklerini daha da genişletmek için çeşitli Logstash filtrelerini keşfedebilir, daha karmaşık Kibana görselleştirmeleri ve panoları oluşturabilir, Elasticsearch’ün gelişmiş arama özelliklerini kullanabilir ve hatta uyarılar veya makine öğrenimi tabanlı anomali tespiti gibi ileri düzey özelliklere yönelebilirsiniz. Log yönetimi sürekli gelişen bir alandır ve ELK stack’i bu yolculukta size güçlü bir temel sunar.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.