Takip et

Packetbeat ve ELK Kullanarak Ubuntu 14.04 Üzerinde Altyapı Metrikleri Nasıl Toplanır?

Packetbeat ve ELK Kullanarak Ubuntu 14.04 Üzerinde Altyapı Metrikleri Nasıl Toplanır? Giriş Günümüzün karmaşık bilgi işlem ortamlarında,

Packetbeat ve ELK Kullanarak Ubuntu 14.04 Üzerinde Altyapı Metrikleri Nasıl Toplanır?

Giriş

Günümüzün karmaşık bilgi işlem ortamlarında, altyapının sağlığını ve performansını sürekli olarak izlemek kritik bir öneme sahiptir. Sunucuların, ağ cihazlarının ve uygulamaların sorunsuz çalışmasını sağlamak, olası sorunları proaktif bir şekilde tespit etmek ve performans darboğazlarını gidermek için kapsamlı metrik toplama ve analiz yetenekleri vazgeçilmezdir. Bu bağlamda, Elasticsearch, Logstash ve Kibana’dan oluşan ELK Stack (şimdiki adıyla Elastic Stack), log yönetimi ve metrik analizi için endüstri standardı haline gelmiştir. Bu güçlü üçlüye, özellikle ağ trafiği metriklerini toplamak için tasarlanmış hafif bir veri göndericisi olan Packetbeat entegre edildiğinde, altyapınızın ağ katmanındaki görünürlüğü önemli ölçüde artar.

Bu makale, Ubuntu 14.04 işletim sistemi üzerinde Packetbeat ve ELK Stack’i nasıl kuracağınızı ve yapılandıracağınızı adım adım açıklamaktadır. Ubuntu 14.04 eski bir sürüm olmasına rağmen, birçok kuruluş hala belirli nedenlerle bu sürümü kullanmaya devam etmektedir. Bu nedenle, bu makale, eski sistemlerde bile modern izleme çözümlerinin nasıl uygulanabileceğini göstermektedir. Ağ trafiği, gecikme süreleri, protokol analizleri gibi kritik altyapı metriklerini Packetbeat ile toplayıp, Logstash ile işleyip, Elasticsearch’te depolayıp ve son olarak Kibana ile görselleştirerek altyapınız hakkında derinlemesine bilgi edinmenizi sağlayacağız.

ELK Stack Bileşenleri ve Rolleri

ELK Stack, her biri belirli bir görevi yerine getiren ve birlikte güçlü bir veri analiz platformu oluşturan üç ana bileşenden oluşur:

Elasticsearch: Veri Depolama ve Arama Motoru

Elasticsearch, dağıtılmış, RESTful bir arama ve analiz motorudur. Büyük hacimli verileri neredeyse gerçek zamanlı olarak depolamak, aramak ve analiz etmek için tasarlanmıştır. Ölçeklenebilirliği ve hızı sayesinde, loglar, metrikler ve diğer zaman tabanlı veriler için ideal bir depolama çözümüdür. Metriklerinizi indeksleyerek, hızlı sorgulama ve karmaşık analizler yapmanızı sağlar.

Logstash: Veri Toplama, İşleme ve Zenginleştirme Boru Hattı

Logstash, çeşitli kaynaklardan veri toplayan, bu verileri işleyen ve ardından seçtiğiniz bir hedefe (genellikle Elasticsearch) gönderen bir sunucu tarafı veri işleme boru hattıdır. Çeşitli giriş (input) eklentileri sayesinde log dosyaları, sistem olayları, ağ akışları gibi farklı türdeki verileri alabilir. Filtre (filter) eklentileri ile veriyi ayrıştırabilir, dönüştürebilir, zenginleştirebilir ve anonimleştirebilir. Çıkış (output) eklentileri ile işlenmiş veriyi Elasticsearch’e, Kafka’ya veya başka bir hedefe yönlendirebilir. Packetbeat’ten gelen verileri alıp Elasticsearch’e göndermek için Logstash’i kullanmak, veriler üzerinde daha fazla kontrol ve işleme yeteneği sağlar.

Kibana: Veri Görselleştirme ve Kontrol Paneli

Kibana, Elasticsearch’te depolanan veriler için web tabanlı bir görselleştirme aracıdır. Kullanıcıların verileri keşfetmelerini, görselleştirmeler oluşturmalarını (grafikler, tablolar, haritalar) ve bu görselleştirmeleri interaktif kontrol panellerinde bir araya getirmelerini sağlar. Altyapı metriklerini anlaşılır grafikler ve panolar halinde sunarak, sistem performansını anlık olarak izlemenize, trendleri görmenize ve anormallikleri hızla tespit etmenize olanak tanır.

Packetbeat: Ağ Metrikleri Toplama

Packetbeat, Elastic Stack’in bir parçası olan, sunuculara yüklenen hafif bir veri göndericisidir (shipper). Ağ arayüzlerindeki trafiği dinleyerek, protokolleri (HTTP, MySQL, PostgreSQL, Redis, MongoDB, DNS, TLS vb.) analiz eder ve bu protokollerin performans metriklerini (gecikme süreleri, işlem süreleri, hata oranları) toplar. Topladığı bu verileri doğrudan Elasticsearch’e veya Logstash üzerinden Elasticsearch’e gönderir. Packetbeat, altyapınızdaki ağ iletişimini, uygulama katmanı performansını ve potansiyel ağ sorunlarını anlamak için paha biçilmez bilgiler sağlar.

Sistem Gereksinimleri ve Ön Hazırlık

Ubuntu 14.04 üzerinde bu kurulumu gerçekleştirmek için aşağıdaki ön koşulların karşılandığından emin olun:

* İşletim Sistemi: Ubuntu 14.04 LTS (64-bit).
* Donanım: En az 4GB RAM ve 2 CPU çekirdeği önerilir. Disk alanı, toplayacağınız veri miktarına göre değişir; başlangıç için en az 20GB boş alan idealdir.
* Ağ Bağlantısı: İnternet erişimi (paket indirme için) ve ELK bileşenlerinin birbirleriyle ve Packetbeat ile iletişim kurabilmesi için gerekli ağ portlarının açık olması.
* Root Yetkisi: Tüm kurulum ve yapılandırma adımları için sudo yetkisine sahip bir kullanıcı veya root kullanıcısı.

Java Geliştirme Kiti (JDK) Kurulumu

Elasticsearch ve Logstash’in çalışması için Java gereklidir. Ubuntu 14.04 için OpenJDK 8 önerilir.

sudo apt-get update
sudo apt-get install openjdk-8-jdk -y

Kurulumun başarılı olup olmadığını kontrol etmek için:

java -version

Çıktıda “openjdk version 1.8.x” benzeri bir ifade görmelisiniz.

Elastic Stack Deposu ve GPG Anahtarı Ekleme

Elastic Stack bileşenlerini kolayca kurmak ve güncellemek için Elastic’in APT deposunu sisteminize eklemeniz gerekir.

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list
sudo apt-get update

Burada 5.x sürümünü kullandık, çünkü Ubuntu 14.04 için en uyumlu ve yaygın kullanılan sürümlerden biriydi. Daha yeni sürümler (6.x, 7.x) daha yeni işletim sistemi bağımlılıklarına sahip olabilir.

Güvenlik Duvarı Ayarları (UFW)

Eğer bir güvenlik duvarı kullanıyorsanız (örneğin UFW), ELK bileşenlerinin ve Packetbeat’in iletişim kurabilmesi için gerekli portları açmanız gerekecektir:

* Elasticsearch: 9200 (HTTP API), 9300 (Node to Node iletişim)
* Logstash: 5044 (Beats input için)
* Kibana: 5601 (Web arayüzü)

sudo ufw allow 9200/tcp
sudo ufw allow 9300/tcp
sudo ufw allow 5044/tcp
sudo ufw allow 5601/tcp
sudo ufw enable # Eğer güvenlik duvarı kapalıysa etkinleştirin
sudo ufw status

ELK Stack Kurulumu

Şimdi ELK Stack bileşenlerini kurmaya başlayabiliriz.

Elasticsearch Kurulumu

Elasticsearch’ü daha önce eklediğimiz depodan kurabiliriz.

sudo apt-get install elasticsearch -y

Yapılandırma:
Elasticsearch’ün temel yapılandırması /etc/elasticsearch/elasticsearch.yml dosyasında yapılır. Minimum olarak, Elasticsearch’ün hangi IP adresinden dinleyeceğini belirtmemiz gerekir. Tek sunuculu bir kurulum için localhost veya sunucunun özel IP adresini kullanabilirsiniz.

sudo nano /etc/elasticsearch/elasticsearch.yml

Aşağıdaki satırları bulun veya ekleyin:

# ---------------------------------- Network -----------------------------------

Set the bind address to a specific IP (IPv4 or IPv6):

network.host: 0.0.0.0 # Tüm arayüzlerden erişime izin verir, güvenlik için belirli bir IP adresi kullanın

network.host: localhost # Sadece yerel erişim için

# Set a custom port for HTTP:

http.port: 9200

# For more information, consult the network module documentation.

# --------------------------------- Discovery ----------------------------------

# Pass an initial list of hosts to perform discovery on:

The default list of hosts is ["127.0.0.1", "[::1]"]

discovery.zen.ping.unicast.hosts: ["host1", "host2"]

network.host: 0.0.0.0 ayarı, Elasticsearch’ün tüm ağ arayüzlerinden erişilebilir olmasını sağlar. Üretim ortamlarında, güvenlik için belirli bir IP adresine veya localhost‘a kısıtlamanız önerilir.

Servisi Başlatma ve Otomatik Başlatma:
Elasticsearch servisini başlatın ve sistem başlangıcında otomatik başlaması için ayarlayın.

sudo systemctl daemon-reload # systemd tabanlı sistemler için (Ubuntu 14.04 upstart kullanır)
sudo service elasticsearch start
sudo update-rc.d elasticsearch defaults # Upstart tabanlı sistemler için otomatik başlatma

Elasticsearch’ün çalışıp çalışmadığını kontrol etmek için:

curl -X GET 'http://localhost:9200'

Başarılı bir kurulumda, Elasticsearch’ün sürümünü ve cluster bilgilerini içeren bir JSON yanıtı almalısınız.

Logstash Kurulumu

Logstash’i daha önce eklediğimiz depodan kurabiliriz.

sudo apt-get install logstash -y

Yapılandırma:
Logstash’in yapılandırma dosyaları /etc/logstash/conf.d/ dizininde bulunur. Packetbeat’ten gelen verileri dinlemek ve Elasticsearch’e göndermek için bir yapılandırma dosyası oluşturacağız.

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

İçeriği:

input {
  beats {
    port => 5044
    ssl => false # Üretimde SSL kullanılması şiddetle tavsiye edilir
  }
}

Ardından, Elasticsearch’e çıktı göndermek için başka bir dosya oluşturalım:

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

İçeriği:

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    manage_template => false # Packetbeat kendi template'ini yükleyecek
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
    document_type => "%{[@metadata][type]}" # Eski Logstash/Elasticsearch sürümleri için gerekli olabilir
  }
}

Bu yapılandırma, Logstash’in 5044 portunda Packetbeat’ten gelen bağlantıları dinlemesini ve verileri packetbeat-YYYY.MM.dd formatında Elasticsearch’e göndermesini sağlar.

Servisi Başlatma ve Otomatik Başlatma:
Logstash servisini başlatın ve otomatik başlaması için ayarlayın.

sudo service logstash start
sudo update-rc.d logstash defaults

Logstash’in doğru çalıştığından emin olmak için loglarını kontrol edebilirsiniz:

sudo tail -f /var/log/logstash/logstash-plain.log

Kibana Kurulumu

Kibana’yı da depodan kolayca kurabiliriz.

sudo apt-get install kibana -y

Yapılandırma:
Kibana’nın yapılandırma dosyası /etc/kibana/kibana.yml‘dir. Kibana’nın hangi IP adresinden dinleyeceğini ve hangi Elasticsearch örneğine bağlanacağını belirtmemiz gerekir.

sudo nano /etc/kibana/kibana.yml

Aşağıdaki satırları bulun veya ekleyin:

# The port to bind to for incoming HTTP requests.
server.port: 5601

The host to bind to for incoming HTTP requests.

server.host: "0.0.0.0" # Tüm arayüzlerden erişime izin verir, güvenlik için belirli bir IP adresi kullanın

server.host: "localhost" # Sadece yerel erişim için

The URL of the Elasticsearch instance to use for all your queries.

elasticsearch.url: "http://localhost:9200"

Kibana uses an index in Elasticsearch to store saved objects such as

dashboards, visualizations, and saved searches. Kibana creates a new index

if the index doesn't already exist.

kibana.index: ".kibana"

server.host: "0.0.0.0" ayarı, Kibana’nın tüm ağ arayüzlerinden erişilebilir olmasını sağlar. Üretim ortamlarında, güvenlik için belirli bir IP adresine kısıtlamanız veya bir ters proxy (Nginx, Apache) arkasına koymanız önerilir.

Servisi Başlatma ve Otomatik Başlatma:
Kibana servisini başlatın ve otomatik başlaması için ayarlayın.

sudo service kibana start
sudo update-rc.d kibana defaults

Kibana’nın çalışıp çalışmadığını kontrol etmek için, web tarayıcınızdan http://:5601 adresine gidin. Kibana arayüzünü görmelisiniz.

Packetbeat Kurulumu ve Yapılandırması

ELK Stack hazır olduğuna göre, şimdi Packetbeat’i kurup yapılandırabiliriz.

Packetbeat Kurulumu

Packetbeat, Elastic Stack’in bir parçası olduğu için, daha önce eklediğimiz Elastic deposundan kurulabilir.

sudo apt-get install packetbeat -y

Packetbeat Yapılandırması

Packetbeat’in ana yapılandırma dosyası /etc/packetbeat/packetbeat.yml‘dir. Bu dosyayı düzenleyerek hangi ağ arayüzlerini dinleyeceğini, hangi protokolleri analiz edeceğini ve verileri nereye göndereceğini belirleyeceğiz.

sudo nano /etc/packetbeat/packetbeat.yml

1. Ağ Arayüzleri:
Packetbeat’in hangi ağ arayüzlerini dinlemesini istediğinizi belirtin. Genellikle any (tüm arayüzler) veya belirli bir arayüz adı (örneğin eth0) kullanılır.

# Select the network interfaces to sniff the traffic from. You can specify

the name of the interface "eth0", "en0", "lo", "any". Or you can specify

the address "192.168.1.20".

interfaces: - device: any # Tüm arayüzleri dinle # type: pcap # snapshot_length: 65535 # buffer_size_mb: 100 # timeout: 0s # bpf_filter: "tcp or udp" # Sadece TCP ve UDP paketlerini yakala

2. Protokoller:
Packetbeat’in analiz etmesini istediğiniz protokolleri etkinleştirin. Varsayılan olarak bazıları etkin gelir. İhtiyaçlarınıza göre ekleme veya çıkarma yapabilirsiniz.

# List of the protocols that should be enabled.
protocols:
- type: http
  ports: [80, 8080, 8000, 5000, 8002] # HTTP trafiği için portlar
- type: mysql
  ports: [3306]
- type: postgresql
  ports: [5432]
- type: redis
  ports: [6379]
- type: mongodb
  ports: [27017]
- type: dns
  ports: [53]
- type: tls
  ports: [443, 993, 995, 585, 8443, 9243] # TLS/SSL trafiği için portlar

... Diğer protokoller ...

3. Çıktı (Output) Yapılandırması:
Packetbeat’in verileri Logstash’e göndermesini sağlayın. Bu, Logstash’in veri işleme yeteneklerinden faydalanmanızı sağlar.

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

  # Optional SSL. By default is off.
  # List of root certificates for SSL/TLS verification
  #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"]

  # Certificate for SSL client authentication
  #ssl.certificate: "/etc/pki/client/cert.pem"

  # Client Certificate Key
  #ssl.key: "/etc/pki/client/cert.key"

---------------------------- Elasticsearch Output ------------------------

output.elasticsearch:

# Array of hosts to connect to. # hosts: ["localhost:9200"] # protocol: "http" # username: "elastic" # password: "changeme"

output.logstash bölümünü etkinleştirin ve hosts değerini Logstash sunucunuzun IP adresi ve Beats input portu ile güncelleyin. Eğer Packetbeat ve Logstash aynı sunucudaysa, localhost:5044 kullanabilirsiniz. output.elasticsearch bölümünü yorum satırı yaparak devre dışı bırakın.

4. Kibana Panoları ve Dizin Şablonu (Index Template) Yükleme:
Packetbeat, Kibana’da kullanıma hazır panolar ve Elasticsearch için dizin şablonları içerir. Bunları otomatik olarak yüklemek için setup.kibana ve setup.template ayarlarını kullanın.

# =============================== Kibana ===============================
setup.kibana:
  # Kibana host is used to ensure the dashboards are created in the Kibana instance.
  host: "localhost:5601" # Kibana sunucunuzun adresi

=============================== Dashboards ===============================

These settings allow to load the dashboards to Kibana.

setup.dashboards: # The URL of the Elasticsearch instance to use for loading the dashboards. # This is only needed if Kibana is not connected to the same Elasticsearch # as Packetbeat. # hosts: ["localhost:9200"] # The username and password for connecting to Elasticsearch # username: "elastic" # password: "changeme" # If you use a different index pattern than 'packetbeat-*' you need to adjust this. # index: "packetbeat-*"

=============================== Index Template ===============================

These settings allow to load the index template to Elasticsearch.

setup.template: # The URL of the Elasticsearch instance to use for loading the template. # This is only needed if Packetbeat is not connected to the same Elasticsearch # as Kibana. # hosts: ["localhost:9200"] # The username and password for connecting to Elasticsearch # username: "elastic" # password: "changeme" # If you use a different index pattern than 'packetbeat-*' you need to adjust this. # name: "packetbeat" # pattern: "packetbeat-*" # The path to the index template file. # path: "/etc/packetbeat/packetbeat.template.json"

setup.kibana.host değerini Kibana sunucunuzun IP adresi ve portu ile güncelleyin.

5. Dizin Şablonunu ve Panoları Yükleme:
Yapılandırma dosyasını kaydettikten sonra, Packetbeat’in dizin şablonunu Elasticsearch’e ve örnek panoları Kibana’ya yüklemesini sağlayın.

sudo packetbeat setup --template -E output.logstash.enabled=false -E output.elasticsearch.hosts=['localhost:9200']
sudo packetbeat setup --dashboards -E output.logstash.enabled=false -E output.elasticsearch.hosts=['localhost:9200']

Bu komutlar, Packetbeat’in doğrudan Elasticsearch’e bağlanarak şablonları ve panoları yüklemesini sağlar. Normalde Packetbeat veriyi Logstash’e gönderirken, bu setup komutları için geçici olarak doğrudan Elasticsearch’e bağlanması gerekir.

Servisi Başlatma ve Otomatik Başlatma:
Packetbeat servisini başlatın ve sistem başlangıcında otomatik başlaması için ayarlayın.

sudo service packetbeat start
sudo update-rc.d packetbeat defaults

Test Etme:
Packetbeat’in doğru çalıştığından ve veri gönderdiğinden emin olmak için:
1. Packetbeat loglarını kontrol edin:

sudo tail -f /var/log/packetbeat/packetbeat

Burada herhangi bir hata mesajı görmemelisiniz.
2. Elasticsearch’te yeni dizinlerin oluşup oluşmadığını kontrol edin:

curl -X GET 'http://localhost:9200/_cat/indices?v'

packetbeat-YYYY.MM.dd formatında dizinler görmelisiniz.
3. Kibana’ya gidin ve packetbeat-* index pattern’ini oluşturun.

Verilerin Kibana’da Görselleştirilmesi

Packetbeat verileri Elasticsearch’e akmaya başladığında, bu verileri Kibana’da görselleştirmeye başlayabiliriz.

1. Kibana Arayüzüne Erişim: Web tarayıcınızdan http://:5601 adresine gidin.
2. Index Pattern Oluşturma:
* Kibana’nın sol gezinme menüsünden “Management” (Yönetim) bölümüne tıklayın.
* “Index Patterns” (Dizin Desenleri) seçeneğini seçin.
* “Create Index Pattern” (Dizin Deseni Oluştur) düğmesine tıklayın.
“Index pattern” alanına packetbeat- yazın ve “Next step” (Sonraki adım) düğmesine tıklayın.
* “Time Filter field name” (Zaman Filtresi Alan Adı) olarak @timestamp‘i seçin ve “Create index pattern” (Dizin deseni oluştur) düğmesine tıklayın.
3. Önceden Yüklenmiş Panoları Kullanma:
* Sol gezinme menüsünden “Dashboards” (Panolar) bölümüne tıklayın.
* Packetbeat kurulumu sırasında yüklediğimiz panoları burada görmelisiniz (örneğin, “[Packetbeat] Overview”). Bu panolara tıklayarak ağ metriklerinizi görselleştirmeye başlayabilirsiniz. HTTP trafiği, DNS sorguları, MySQL işlemleri gibi birçok farklı metrik türünü burada bulabilirsiniz.
4. Özel Görselleştirmeler ve Panolar Oluşturma:
* “Visualize” (Görselleştir) veya “Dashboard” (Pano) bölümlerini kullanarak kendi özel grafiklerinizi ve panolarınızı oluşturabilirsiniz. Örneğin, en çok ağ trafiği oluşturan IP adreslerini gösteren bir çubuk grafik, belirli bir uygulamanın gecikme sürelerini gösteren bir çizgi grafik veya belirli bir protokoldeki hata oranlarını gösteren bir gösterge paneli oluşturabilirsiniz.

Önemli Hususlar ve En İyi Uygulamalar

Performans ve Kaynak Tüketimi

* Packetbeat: Ağ trafiğinin yoğunluğuna bağlı olarak CPU ve RAM tüketimi artabilir. Yüksek trafikli ortamlarda, bpf_filter kullanarak sadece ilgilendiğiniz trafiği yakalamak, snapshot_length değerini optimize etmek ve buffer_size_mb değerini ayarlamak performansı artırabilir.
* Elasticsearch: Disk I/O, RAM ve CPU yoğun bir uygulamadır. Yeterli kaynak tahsis edildiğinden emin olun. Özellikle disk performansı önemlidir. SSD kullanılması şiddetle tavsiye edilir. JVM heap boyutunu sunucunun RAM’inin %50’sine (ancak 31GB’ı geçmeyecek şekilde) ayarlamak performansı optimize eder.
* Veri Saklama Politikaları: Ubuntu 14.04 ve ELK 5.x ortamında Index Lifecycle Management (ILM) özelliği mevcut değildir. Bu nedenle, disk alanı dolmasını önlemek için eski dizinleri manuel olarak veya curator gibi araçlarla düzenli olarak silmeniz veya arşivlemeniz gerekecektir.

Güvenlik

* Ağ Güvenliği: Tüm ELK bileşenlerinin ve Packetbeat’in çalıştığı sunucularda güvenlik duvarı (UFW) kullanarak sadece gerekli portların açıldığından emin olun. Özellikle Kibana ve Elasticsearch’e dışarıdan erişimi kısıtlayın.
* Erişim Kontrolü: ELK 5.x sürümünde X-Pack (şimdi Elastic Stack Security) ücretli bir eklentiydi. Eğer güvenlik özellikleri gerekiyorsa, açık kaynaklı alternatifler (örneğin Search Guard) veya daha yeni sürümlerdeki temel güvenlik özelliklerini değerlendirmeniz gerekebilir. En azından Kibana’yı bir ters proxy (Nginx, Apache) arkasına koyarak temel HTTP kimlik doğrulaması ekleyebilirsiniz.
* SSL/TLS: Logstash ve Packetbeat arasındaki iletişimi SSL/TLS ile şifrelemek, verilerin aktarımı sırasında güvenliği artırır. Üretim ortamlarında bu şiddetle tavsiye edilir.

Ölçeklenebilirlik

* Bu kurulum tek bir sunucu üzerinde yapılmıştır. Daha büyük ortamlar için ELK bileşenlerini ayrı sunuculara dağıtmanız gerekebilir. Elasticsearch’ü bir küme olarak, Logstash’i birden fazla örnek olarak ve Kibana’yı ayrı bir sunucuda çalıştırmak daha iyi performans ve yüksek erişilebilirlik sağlar.
* Logstash, veri işleme boru hattında bir darboğaz haline gelebilir. Filtrelerinizi optimize edin ve gerekirse birden fazla Logstash örneği çalıştırın.

Ubuntu 14.04 Sınırlamaları

* Ubuntu 14.04, uzun zaman önce destek sonuna ulaşmış eski bir işletim sistemidir. Güvenlik güncellemeleri almamaktadır. Üretim ortamlarında kullanılması tavsiye edilmez. Bu makaledeki adımlar bu eski platformda bile ELK’nin nasıl kurulabileceğini göstermekle birlikte, mümkünse daha yeni ve desteklenen bir Ubuntu sürümüne (örneğin 20.04 LTS veya 22.04 LTS) geçiş yapmanız şiddetle önerilir.
* Eski ELK sürümleri (5.x gibi), modern sürümlerde bulunan birçok gelişmiş özelliğe (ILM, Machine Learning, gelişmiş güvenlik vb.) sahip değildir.

Sorun Giderme

Kurulum veya yapılandırma sırasında sorunlarla karşılaşırsanız, aşağıdaki adımları izleyerek sorunları gidermeye çalışın:

1. Log Dosyalarını Kontrol Edin:
Elasticsearch: /var/log/elasticsearch/.log
* Logstash: /var/log/logstash/logstash-plain.log
* Kibana: /var/log/kibana/kibana.stderr (veya syslog)
* Packetbeat: /var/log/packetbeat/packetbeat
Bu log dosyaları, hatanın kaynağı hakkında önemli ipuçları sağlar.
2. Servis Durumlarını Kontrol Edin:

sudo service elasticsearch status
    sudo service logstash status
    sudo service kibana status
    sudo service packetbeat status

Her servisin running durumda olduğundan emin olun.
3. Ağ Bağlantılarını Kontrol Edin:
netstat veya ss komutlarını kullanarak portların dinlenip dinlenmediğini kontrol edin:

sudo netstat -tulnp | grep 9200
    sudo netstat -tulnp | grep 5044
    sudo netstat -tulnp | grep 5601

Gerekirse ping ve telnet (veya nc) kullanarak bileşenler arasındaki bağlantıyı test edin.
4. Yapılandırma Dosyalarını Gözden Geçirin: Tüm .yml ve .conf dosyalarını dikkatlice kontrol edin. YAML dosyalarında girintileme hataları veya yazım yanlışları yaygın sorunlardır.
5. Packetbeat Yapılandırmasını Test Edin:

sudo packetbeat test config -c /etc/packetbeat/packetbeat.yml -e
    sudo packetbeat test output -c /etc/packetbeat/packetbeat.yml -e

Bu komutlar yapılandırma dosyasının ve çıktı hedeflerinin doğru olup olmadığını kontrol eder.

Sonuç

Bu makalede, Ubuntu 14.04 üzerinde Packetbeat ve ELK Stack’i (Elasticsearch, Logstash, Kibana) kurarak altyapı metriklerini nasıl toplayacağınızı ve görselleştireceğinizi adım adım öğrendiniz. Packetbeat, ağ katmanındaki kritik bilgileri (protokol performansı, gecikmeler, trafik akışları) toplayarak altyapınızın sağlığı ve performansı hakkında derinlemesine görünürlük sağlar. Logstash, bu verileri işleyerek Elasticsearch’e gönderirken, Elasticsearch verileri depolayıp indeksler ve Kibana ise bu verileri interaktif panolar aracılığıyla anlaşılır bir şekilde sunar.

Bu çözüm, altyapınızdaki ağ sorunlarını proaktif bir şekilde tespit etmenize, performans darboğazlarını belirlemenize ve genel sistem sağlığını iyileştirmenize olanak tanır. Her ne kadar Ubuntu 14.04 eski bir işletim sistemi olsa da, bu kurulum size modern izleme araçlarının temel prensiplerini ve uygulamalarını göstermiştir. Ancak, uzun vadeli güvenlik ve gelişmiş özellikler için sistemlerinizi desteklenen ve güncel işletim sistemi sürümlerine yükseltmeniz şiddetle tavsiye edilir. Bu sayede, Elastic Stack’in en yeni özelliklerinden ve güvenlik güncellemelerinden tam olarak faydalanabilirsiniz.

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

Gönder

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.
Exit mobile version