Merhaba değerli okuyucularım,
Bugün, modern altyapı yönetiminin vazgeçilmez araçlarından biri haline gelen ELK Stack’in (Elasticsearch, Logstash, Kibana) temelini oluşturan Elasticsearch ve Kibana’nın kurulum adımlarını detaylıca inceleyeceğiz. Bu rehber, bir sistem yöneticisi perspektifinden, stabil ve güvenilir bir kurulum sağlamayı hedeflemektedir.
Elasticsearch ve Kibana (ELK Stack) Kurulumu: Adım Adım Rehber
ELK Stack, log yönetimi, arama ve analitik alanında güçlü bir çözümdür. Elasticsearch, verilerin depolanması ve aranması için dağıtık, RESTful bir arama ve analiz motorudur. Kibana ise Elasticsearch’teki verileri görselleştirmek ve keşfetmek için kullanılan açık kaynaklı bir platformdur. Bu rehberde Ubuntu 22.04 LTS tabanlı bir sistemi kullanacağız, ancak adımlar çoğu Debian tabanlı Linux dağıtımı için benzerdir.
Ön Gereksinimler
- Minimum 4GB RAM (üretim ortamları için daha fazlası önerilir)
- Minimum 2 CPU çekirdeği
- Sudo yetkilerine sahip bir kullanıcı
- Güvenilir bir internet bağlantısı
Adım 1: Java (JDK) Kurulumu
Elasticsearch, Java sanal makinesi (JVM) üzerinde çalışır. Bu nedenle, Elasticsearch’ü kurmadan önce Java Development Kit (JDK) kurmamız gerekmektedir. Elasticsearch 7.x ve üzeri için OpenJDK 11 veya üzeri önerilir.
Sistem Paketlerini Güncelleme
sudo apt update
sudo apt upgrade -y
OpenJDK 11 Kurulumu
sudo apt install openjdk-11-jdk -y
Java Sürümünü Doğrulama
java -version
Çıktı olarak OpenJDK 11’i görmelisiniz.
Adım 2: Elasticsearch Kurulumu
Elasticsearch’ü resmi Elastic deposunu kullanarak kurmak, en güncel sürümü ve otomatik güncellemeleri almanızı sağlar.
Elasticsearch GPG Anahtarını Ekleme
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
Elasticsearch Deposunu Ekleme
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
Yeni Depoyu Algılamak için Paket Listesini Güncelleme
sudo apt update
Elasticsearch Kurulumu
sudo apt install elasticsearch -y
Elasticsearch Yapılandırması
Elasticsearch’ün ana yapılandırma dosyası /etc/elasticsearch/elasticsearch.yml konumundadır. Temel olarak aşağıdaki ayarları yapmamız gerekmektedir:
network.host: Elasticsearch’ün hangi IP adreslerinden erişilebilir olacağını belirler. Genellikle0.0.0.0(tüm arayüzler) veya sunucunuzun özel IP adresi olarak ayarlanır.http.port: Elasticsearch’ün HTTP isteklerini dinleyeceği port (varsayılan 9200).cluster.name: Kümenizin benzersiz adı.
Yapılandırma dosyasını bir metin düzenleyici ile açın:
sudo nano /etc/elasticsearch/elasticsearch.yml
Aşağıdaki satırları bulun ve düzenleyin (veya ekleyin):
#cluster.name: my-application
#node.name: node-1
#network.host: 192.168.1.1
#http.port: 9200
Örnek yapılandırma:
cluster.name: my-elk-cluster
node.name: node-1
network.host: 0.0.0.0 # Veya sunucunuzun özel IP adresi, örn: 192.168.1.10
http.port: 9200
Önemli Not: Elasticsearch’ün 8.x sürümleri varsayılan olarak güvenlik (TLS ve kimlik doğrulama) ile gelir. Bu ilk kurulumda kolaylık sağlamak için network.host: 0.0.0.0 ayarladığınızda güvenlik uyarıları alabilirsiniz. Üretim ortamlarında güvenlik ayarlarını (HTTPS, kullanıcı kimlik doğrulama) mutlaka yapılandırmalısınız.
Kernel Parametresi Ayarlaması
Elasticsearch’ün düzgün çalışabilmesi için vm.max_map_count kernel parametresinin en az 262144 olarak ayarlanması gerekmektedir.
sudo sysctl -w vm.max_map_count=262144
Bu ayarın kalıcı olması için /etc/sysctl.conf dosyasına ekleyin:
echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf
Elasticsearch Servisini Başlatma ve Etkinleştirme
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
Elasticsearch Durumunu Kontrol Etme
sudo systemctl status elasticsearch
Durumun “active (running)” olduğunu görmelisiniz.
Elasticsearch’e Erişimi Doğrulama
Bir terminalden aşağıdaki komutu çalıştırarak Elasticsearch’ün çalışıp çalışmadığını kontrol edebilirsiniz:
curl -X GET "localhost:9200"
JSON formatında Elasticsearch hakkında bilgiler içeren bir çıktı almalısınız.
Adım 3: Kibana Kurulumu
Kibana, Elasticsearch’ten gelen verileri görselleştirmemizi sağlayan arayüzdür. Aynı Elastic deposundan kurulur.
Kibana Kurulumu
sudo apt install kibana -y
Kibana Yapılandırması
Kibana’nın ana yapılandırma dosyası /etc/kibana/kibana.yml konumundadır. Aşağıdaki ayarları kontrol edin ve düzenleyin:
server.port: Kibana’nın HTTP isteklerini dinleyeceği port (varsayılan 5601).server.host: Kibana’ya hangi IP adreslerinden erişilebileceğini belirler. Genellikle0.0.0.0veya sunucunuzun özel IP adresi olarak ayarlanır.elasticsearch.hosts: Kibana’nın bağlanacağı Elasticsearch ana bilgisayarlarının listesi.
Yapılandırma dosyasını bir metin düzenleyici ile açın:
sudo nano /etc/kibana/kibana.yml
Aşağıdaki satırları bulun ve düzenleyin (veya ekleyin):
#server.port: 5601
#server.host: "localhost"
#elasticsearch.hosts: ["http://localhost:9200"]
Örnek yapılandırma:
server.port: 5601
server.host: "0.0.0.0" # Veya sunucunuzun özel IP adresi
elasticsearch.hosts: ["http://localhost:9200"] # Veya Elasticsearch'ün IP adresi
Eğer Elasticsearch 8.x ile güvenlik aktifse, Kibana’nın Elasticsearch’e bağlanabilmesi için ek güvenlik ayarları (örneğin kimlik doğrulama tokenları veya sertifikalar) yapmanız gerekebilir. Bu rehberin kapsamı dışında olup, ileri düzey güvenlik yapılandırmaları için Elastic dokümantasyonuna bakmanız önerilir.
Kibana Servisini Başlatma ve Etkinleştirme
sudo systemctl start kibana
sudo systemctl enable kibana
Kibana Durumunu Kontrol Etme
sudo systemctl status kibana
Durumun “active (running)” olduğunu görmelisiniz.
Adım 4: Güvenlik Duvarı (Firewall) Yapılandırması
Eğer sunucunuzda bir güvenlik duvarı (örn. UFW) etkinse, Elasticsearch (9200) ve Kibana (5601) portlarına dışarıdan erişime izin vermeniz gerekmektedir.
UFW Kurulumu (Gerekliyse)
sudo apt install ufw -y
sudo ufw enable
Gerekli Portları Açma
sudo ufw allow 9200/tcp comment "Elasticsearch HTTP"
sudo ufw allow 5601/tcp comment "Kibana Web UI"
sudo ufw reload
Açık Portları Kontrol Etme
sudo ufw status
Adım 5: Kibana Web Arayüzüne Erişim
Artık Kibana’ya web tarayıcınızdan erişebilirsiniz. Tarayıcınızı açın ve aşağıdaki adrese gidin:
http://<sunucu_IP_adresi_veya_domaininiz>:5601
Kibana giriş ekranını görmelisiniz. Eğer Elasticsearch 8.x’in varsayılan güvenlik ayarları aktifse, sizden bir token isteyebilir. Bu token’ı Elasticsearch kurulumu sırasında konsolda verilen talimatları izleyerek alabilirsiniz.
Son Kontroller ve İlk Adımlar
Kurulumu başarıyla tamamladınız. Artık Elasticsearch verilerinizi depolamaya ve Kibana bu verileri görselleştirmeye hazır.
- Veri Enjeksiyonu: Logstash, Filebeat, Metricbeat gibi Elastic Stack bileşenlerini kullanarak loglarınızı, metriklerinizi ve diğer verilerinizi Elasticsearch’e gönderebilirsiniz.
- Kibana Keşfet: Kibana arayüzünde “Discover” sekmesini kullanarak Elasticsearch’teki verileri sorgulayabilir ve inceleyebilirsiniz.
- Kibana Panoları: Verilerinizi görselleştirmek için panolar (dashboards) ve görselleştirmeler (visualizations) oluşturabilirsiniz.
Sonuç
Bu rehberde, bir sistem yöneticisi olarak Elasticsearch ve Kibana’yı Ubuntu tabanlı bir sisteme nasıl kuracağınızı adım adım öğrendiniz. Artık log yönetimi, uygulama performansı izleme veya herhangi bir veri analizi ihtiyacınız için güçlü bir temeliniz var. Unutmayın, üretim ortamlarında güvenlik, yedekleme ve performans optimizasyonu gibi konulara daha fazla dikkat etmeniz gerekecektir. Elastic’in kapsamlı dokümantasyonu, bu ileri düzey konular için değerli bir kaynaktır.
Başarılar dilerim!