Elasticsearch ve Kibana (ELK Stack) Kurulumu

📅 24 Aralık 2025Emre Karabulut
⏱️ Yaklaşık 7 dakikalık okuma süresi

Merhaba! Uzman bir sistem yöneticisi olarak, modern veri analizi ve izleme altyapılarının temel taşlarından biri olan Elasticsearch ve Kibana’nın kurulum adımlarını detaylı bir şekilde ele alacağız. Bu teknik blog yazısında, ELK Stack’in bu iki önemli bileşenini Debian/Ubuntu tabanlı bir sistem üzerinde nasıl kuracağınızı adım adım göstereceğim.

Bu rehber, Elasticsearch ve Kibana’nın 8.x sürümleri için geçerlidir. Kurulum sırasında güvenlik ayarlarının varsayılan olarak etkin olduğunu unutmayın, bu da kurulum adımlarını bir miktar etkileyecektir.

Elasticsearch ve Kibana (ELK Stack) Kurulumu

Elasticsearch, dağıtılmış, RESTful bir arama ve analiz motorudur. Büyük veri kümeleriyle çalışmak için tasarlanmıştır ve metin, sayısal, coğrafi, yapısal ve yapılandırılmamış tüm veri türlerini neredeyse gerçek zamanlı olarak depolayabilir, arayabilir ve analiz edebilir. Kibana ise Elasticsearch üzerinde depolanan verileri görselleştirmek ve keşfetmek için kullanılan açık kaynaklı bir platformdur. Grafikler, tablolar ve haritalar oluşturarak verilerinizi anlamlandırmanıza yardımcı olur.

Ön Koşullar

Kuruluma başlamadan önce sisteminizin bazı gereksinimleri karşıladığından emin olmalısınız:

  • İşletim Sistemi: Debian veya Ubuntu tabanlı bir Linux dağıtımı (örneğin, Ubuntu 20.04 LTS veya üstü).
  • Java: Elasticsearch, Java Runtime Environment (JRE) gerektirir. OpenJDK 17 veya üstü önerilir.
  • Sistem Kaynakları: En az 2 GB RAM (Elasticsearch için önerilen minimum 4 GB), yeterli disk alanı ve uygun CPU kaynakları. Üretim ortamları için daha fazla kaynak gereklidir.

Java Kurulumu (Gerekliyse)

Sisteminizde Java yüklü değilse, aşağıdaki komutlarla OpenJDK 17’yi kurabilirsiniz:


sudo apt update
sudo apt install openjdk-17-jdk -y

Kurulumu doğrulayın:


java -version

Elasticsearch Kurulumu

Elasticsearch’ü kurmanın en güvenli ve önerilen yolu, Elastic deposunu sisteminize eklemektir.

1. GPG Anahtarını ve Depoyu Ekleyin

Elasticsearch paketlerinin bütünlüğünü doğrulamak için Elastic GPG anahtarını sisteminize eklemelisiniz.


sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates wget
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
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
sudo apt-get update

2. Elasticsearch’ü Kurun

Depoyu ekledikten ve güncelledikten sonra Elasticsearch’ü kurabiliriz:


sudo apt-get install elasticsearch

3. Elasticsearch’ü Yapılandırma

Elasticsearch’ün ana yapılandırma dosyası /etc/elasticsearch/elasticsearch.yml adresindedir. En önemli ayarları düzenleyelim:


sudo nano /etc/elasticsearch/elasticsearch.yml

Aşağıdaki satırları bulun veya ekleyin/değiştirin:


# Kümeye benzersiz bir isim verin.
cluster.name: my-elk-cluster

# Düğümünüz için benzersiz bir isim verin.
node.name: node-1

# Elasticsearch'ün hangi IP adreslerini dinleyeceğini belirtin.
# Sadece localhost'tan erişime izin vermek için 127.0.0.1 kullanın.
# Dışarıdan erişime izin vermek için 0.0.0.0 kullanın (dikkatli olun!).
network.host: 0.0.0.0

# HTTP portu (varsayılan: 9200)
http.port: 9200

# Tek düğümlü bir kurulum için bu satırı ekleyin/güncelleyin:
discovery.seed_hosts: ["localhost"]

# Tek düğümlü bir kurulum için bu satırı yorumdan çıkarın veya ekleyin:
cluster.initial_master_nodes: ["node-1"]

Değişiklikleri kaydedin ve dosyayı kapatın (Ctrl+O, Enter, Ctrl+X).

4. Elasticsearch’ü Başlatın ve Etkinleştirin


sudo systemctl daemon-reload
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

5. Elasticsearch Durumunu Kontrol Edin

Servisin çalışıp çalışmadığını ve sağlıklı olup olmadığını kontrol edin:


sudo systemctl status elasticsearch

HTTP API aracılığıyla da kontrol edebilirsiniz (güvenlik nedeniyle ilk başta hata verebilir):


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

Eğer 8.x sürümünde güvenlik otomatik olarak etkinleşmişse, bu komut başarısız olabilir. Bu normaldir. Şimdi güvenlik ayarlarını yapılandıralım.

6. Elasticsearch Temel Güvenlik Ayarları (8.x için Önemli)

Elasticsearch 8.x’te güvenlik varsayılan olarak etkindir. Kullanıcılar (örneğin elastic, kibana_system) için parolalar oluşturmamız gerekecek.


sudo /usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto

Bu komut, elastic, kibana_system, logstash_system, beats_system, remote_monitoring_user kullanıcıları için otomatik olarak parolalar oluşturacak ve bunları size gösterecektir. Bu parolaları MUTLAKA bir yere not alın. Özellikle kibana_system kullanıcısının parolası Kibana’nın Elasticsearch’e bağlanması için gereklidir.

Kibana Kurulumu

Elasticsearch kurulduktan ve güvenlik ayarları yapıldıktan sonra Kibana’yı kurabiliriz.

1. Depoyu ve GPG Anahtarını Ekleyin (Zaten Yapıldıysa Atlayın)

Elasticsearch için eklediğiniz depo ve GPG anahtarı Kibana için de geçerlidir. Eğer Elasticsearch’ü yeni kurduysanız, bu adımı atlayabilirsiniz. Aksi takdirde, yukarıdaki “Elasticsearch Kurulumu” altındaki 1. adımı tekrarlayın.

2. Kibana’yı Kurun


sudo apt-get install kibana

3. Kibana’yı Yapılandırma

Kibana’nın ana yapılandırma dosyası /etc/kibana/kibana.yml adresindedir.


sudo nano /etc/kibana/kibana.yml

Aşağıdaki satırları bulun veya ekleyin/değiştirin:


# Kibana'nın dinleyeceği port (varsayılan: 5601)
server.port: 5601

# Kibana'nın hangi IP adreslerini dinleyeceğini belirtin.
# Sadece localhost'tan erişime izin vermek için "localhost" kullanın.
# Dışarıdan erişime izin vermek için "0.0.0.0" kullanın (dikkatli olun!).
server.host: "0.0.0.0"

# Elasticsearch kümesine bağlanmak için URL.
# Varsayılan olarak HTTPS kullanır. Eğer Elasticsearch'e HTTP ile bağlanıyorsanız,
# yani Elasticsearch tarafında SSL/TLS yapılandırması yapmadıysanız, bunu "http" olarak değiştirin.
elasticsearch.hosts: ["http://localhost:9200"]

# Kibana'nın Elasticsearch'e bağlanmak için kullanacağı kullanıcı adı ve parola.
# "elasticsearch-setup-passwords" komutundan aldığınız kibana_system parolasını kullanın.
elasticsearch.username: "kibana_system"
elasticsearch.password: "BURAYA_KIBANA_SYSTEM_PAROLASINI_YAZIN"

BURAYA_KIBANA_SYSTEM_PAROLASINI_YAZIN kısmını, elasticsearch-setup-passwords auto komutuyla aldığınız kibana_system kullanıcısının parolasıyla değiştirmeyi unutmayın.
Değişiklikleri kaydedin ve dosyayı kapatın.

4. Kibana’yı Başlatın ve Etkinleştirin


sudo systemctl daemon-reload
sudo systemctl enable kibana
sudo systemctl start kibana

5. Kibana Durumunu Kontrol Edin


sudo systemctl status kibana

Erişim ve İlk Giriş

Kibana başarıyla başlatıldıktan sonra, web tarayıcınızdan http://<sunucu_ip_adresiniz>:5601 adresine giderek arayüze erişebilirsiniz.

Kibana ilk açıldığında sizden bir kullanıcı adı ve parola isteyecektir. Burada elastic kullanıcısını ve elasticsearch-setup-passwords auto komutuyla aldığınız parolasını kullanabilirsiniz.

Giriş yaptıktan sonra, Kibana size Elasticsearch ile iletişim kurmak için bir “enrollment token” veya “verification code” girmenizi isteyebilir. Genellikle bu adımı atlayabilir veya aşağıdaki komutla yeni bir token oluşturabilirsiniz (eğer Kibana otomatik olarak bağlanmazsa):


sudo /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana

Oluşturulan token’ı Kibana arayüzüne yapıştırın.

Alternatif olarak, /etc/kibana/kibana.yml içindeki elasticsearch.username ve elasticsearch.password ayarlarını doğru yaptıysanız, Kibana otomatik olarak bağlanmalı ve sizden sadece elastic kullanıcısı ile giriş yapmanızı istemelidir.

Sonuç

Tebrikler! Elasticsearch ve Kibana’yı başarıyla kurdunuz ve yapılandırdınız. Artık merkezi günlükleme, izleme ve veri analizi ihtiyaçlarınız için güçlü bir temele sahipsiniz.

Bir sonraki adım olarak, Logstash veya Filebeat gibi veri toplayıcıları (ingest agent’ları) kullanarak sunucularınızdan ve uygulamalarınızdan Elasticsearch’e veri aktarmaya başlayabilirsiniz. Kibana’nın gücünü keşfetmek için gösterge tabloları (dashboards) ve görselleştirmeler oluşturmayı deneyin.

Unutmayın, bu temel bir kurulum rehberidir. Üretim ortamları için sistem kaynaklarını, ağ güvenliğini (güvenlik duvarı kuralları), yedekleme stratejilerini ve daha gelişmiş Elasticsearch ve Kibana yapılandırmalarını gözden geçirmelisiniz.

Emre Karabulut
📊 Bu yazı 6 kez okundu.