Elasticsearch’ı Ubuntu VPS Üzerine Kurulum Rehberi
Elasticsearch, dağıtık, RESTful bir arama ve analiz motorudur. Büyük veri kümelerini gerçek zamanlı olarak depolamak, aramak ve analiz etmek için tasarlanmıştır. Metin aramasından log analizine, güvenlik analitiğinden iş zekasına kadar geniş bir kullanım alanına sahiptir. Bu kapsamlı rehberde, Elasticsearch’ın en son sürümünü bir Ubuntu Sanal Özel Sunucu (VPS) üzerine adım adım nasıl kuracağınızı, yapılandıracağınızı ve güvenliğini sağlayacağınızı anlatacağız. Amaç, tek bir düğüm üzerinde çalışan, üretim ortamına yakın bir Elasticsearch kurulumu gerçekleştirmektir.
Giriş: Elasticsearch ve Önemi
Günümüz dünyasında veri, işletmelerin ve uygulamaların can damarıdır. Büyük hacimli verilerin hızlı bir şekilde depolanması, indekslenmesi ve sorgulanması kritik öneme sahiptir. Elasticsearch, bu ihtiyacı karşılamak üzere tasarlanmış, açık kaynaklı ve güçlü bir araçtır. Lucene tabanlı yapısı sayesinde tam metin arama, yapılandırılmış arama, analitik ve karmaşık sorgular için olağanüstü performans sunar.
Elasticsearch’ın temel kullanım alanları şunlardır:
* Log ve Metrik Analizi: Sunucu logları, uygulama logları, ağ trafiği gibi zaman serisi verilerini toplar, indeksler ve görselleştirir (genellikle Kibana ile birlikte).
* Tam Metin Arama: E-ticaret siteleri, içerik yönetim sistemleri veya belge yönetim sistemleri için yüksek performanslı arama motorları oluşturmak.
* Güvenlik Analitiği: SIEM (Security Information and Event Management) çözümlerinde güvenlik olaylarını izlemek ve analiz etmek.
* İş Zekası: Kullanıcı davranışlarını, satış verilerini veya diğer iş metriklerini analiz ederek değerli içgörüler elde etmek.
Bu rehber, Elasticsearch’ın Ubuntu VPS üzerinde sorunsuz bir şekilde çalışmasını sağlamak için gerekli tüm adımları detaylandıracaktır.
Ön Gereksinimler
Elasticsearch kurulumuna başlamadan önce aşağıdaki ön gereksinimleri karşıladığınızdan emin olun:
* Ubuntu VPS: Ubuntu 20.04 LTS veya 22.04 LTS işletim sistemine sahip bir VPS. Minimum 2 GB RAM (tercihen 4 GB veya daha fazla) ve 2 CPU çekirdeği önerilir. Elasticsearch belleği yoğun kullanan bir uygulama olduğundan, yeterli RAM kritik öneme sahiptir.
* Sudo Yetkileri: VPS’nize SSH üzerinden erişim ve sudo yetkilerine sahip bir kullanıcı.
* Java Development Kit (JDK): Elasticsearch, Java sanal makinesi (JVM) üzerinde çalışır. Bu nedenle, uyumlu bir JDK sürümünün kurulu olması gerekir. Bu rehberde OpenJDK 17 kullanacağız.
* Ağ Ayarları: Gelen ve giden bağlantılar için gerekli portların (özellikle 9200 ve 5601) güvenlik duvarında açık olması gerekecektir.
Sistem Güncelleme ve Temel Araçların Kurulumu
Kuruluma başlamadan önce sisteminizin güncel olduğundan ve gerekli temel araçların yüklü olduğundan emin olalım.
Sistemi Güncelleme
VPS’nize SSH ile bağlandıktan sonra, paket listelerini güncelleyin ve yüklü paketleri yükseltin:
sudo apt update
sudo apt upgrade -y
Bu komutlar, sisteminizin en son güvenlik yamalarına ve yazılım güncellemelerine sahip olmasını sağlar.
Gerekli Yardımcı Programların Kurulumu
Elasticsearch deposunu eklemek ve paketleri indirmek için curl, wget ve apt-transport-https gibi bazı yardımcı programlara ihtiyacımız olacak.
sudo apt install -y curl wget apt-transport-https
Java (OpenJDK) Kurulumu
Elasticsearch, Java sanal makinesi (JVM) üzerinde çalıştığı için sisteminizde uyumlu bir Java sürümünün yüklü olması gerekir. Elasticsearch 8.x serisi, OpenJDK 17 ile uyumludur ve bu sürüm önerilir.
OpenJDK 17 Kurulumu
Aşağıdaki komutla OpenJDK 17’yi kolayca kurabilirsiniz:
sudo apt install -y openjdk-17-jdk
Kurulum tamamlandıktan sonra, Java sürümünü doğrulayabilirsiniz:
java -version
Çıktı, openjdk version "17.0.x" benzeri bir şey olmalıdır.
JAVA_HOME Ortam Değişkenini Ayarlama (İsteğe Bağlı ama Önerilir)
Bazı uygulamalar veya betikler JAVA_HOME ortam değişkeninin ayarlanmış olmasını bekleyebilir. Bu, Java’nın yüklü olduğu dizini gösterir.
Öncelikle Java’nın tam yolunu bulalım:
sudo update-alternatives --config java
Bu komut, sisteminizdeki Java kurulumlarını listeler ve size yolunu gösterir (genellikle /usr/lib/jvm/java-17-openjdk-amd64/bin/java). Bizim ihtiyacımız olan, bin dizininin bir üst dizinidir.
Şimdi, JAVA_HOME ortam değişkenini kalıcı olarak ayarlayabiliriz. Bunun için /etc/environment dosyasını düzenlemek iyi bir yöntemdir:
sudo nano /etc/environment
Dosyanın sonuna aşağıdaki satırı ekleyin (yolu kendi sisteminizdeki yola göre ayarlayın):
JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
Kaydedip çıktıktan sonra, değişikliklerin etkili olması için oturumu yeniden yükleyin veya aşağıdaki komutu çalıştırın:
source /etc/environment
echo $JAVA_HOME
Elasticsearch Kurulumu
Elasticsearch’ı resmi Elastic deposundan kurmak en kolay ve önerilen yöntemdir. Bu sayede güncellemeleri kolayca yönetebilirsiniz.
Elastic GPG Anahtarını ve Depoyu Ekleme
Elasticsearch paketlerinin doğruluğunu sağlamak için Elastic’in genel anahtarını sisteminize eklemeniz gerekir:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
Bu komut, Elastic GPG anahtarını indirir ve apt tarafından güvenilir anahtar olarak kullanılmak üzere elasticsearch-keyring.gpg dosyasına kaydeder.
Şimdi, Elastic deposunu apt kaynak listenize ekleyin. Bu rehberde, Elasticsearch 8.x serisini kuracağımız için ilgili depoyu ekliyoruz:
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
Depoyu ekledikten sonra, yeni paketleri tanımak için apt paket listesini güncelleyin:
sudo apt update
Elasticsearch Paketini Kurma
Artık Elasticsearch paketini kurmaya hazırsınız:
sudo apt install elasticsearch
Kurulum tamamlandığında, Elasticsearch servisi otomatik olarak başlar ve sistem başlangıcında etkinleştirilir.
Elasticsearch Yapılandırması
Elasticsearch’ın varsayılan yapılandırması genellikle tek bir düğüm için yeterli değildir veya üretim ortamları için optimize edilmemiştir. Yapılandırma dosyası /etc/elasticsearch/elasticsearch.yml konumundadır.
Yapılandırma Dosyasını Düzenleme
Yapılandırma dosyasını bir metin düzenleyici ile açın:
sudo nano /etc/elasticsearch/elasticsearch.yml
Aşağıdaki önemli ayarları gözden geçirelim ve gerektiğinde değiştirelim:
* cluster.name: Elasticsearch kümenizin adını tanımlar. Birden fazla küme çalıştırıyorsanız, her birinin benzersiz bir adı olmalıdır.
cluster.name: my-elastic-cluster
* node.name: Bu Elasticsearch düğümünün adını tanımlar. İsteğe bağlıdır ancak kümedeki düğümleri tanımlamak için faydalıdır.
node.name: node-1
* network.host: Elasticsearch’ın hangi ağ arayüzlerinde dinleyeceğini belirler.
* localhost veya 127.0.0.1: Sadece yerel bağlantılara izin verir.
* 0.0.0.0: Tüm ağ arayüzlerinde dinler (VPS için dışarıdan erişime izin vermek istiyorsanız bu gereklidir).
* Belirli bir IP adresi: Sadece o IP adresinde dinler.
VPS’nizin dışarıdan erişilebilir olmasını istiyorsanız, genellikle 0.0.0.0 olarak ayarlamanız gerekir. Ancak güvenlik açısından, sadece belirli IP adreslerinden erişime izin vermek daha iyidir. Şimdilik 0.0.0.0 olarak ayarlayalım, güvenlik duvarı ile erişimi kısıtlayacağız.
network.host: 0.0.0.0
* http.port: Elasticsearch’ın HTTP API’si için kullanacağı portu belirler (varsayılan 9200).
http.port: 9200
* discovery.seed_hosts: Kümedeki diğer düğümleri bulmak için kullanılan başlangıç düğümlerinin listesi. Tek düğümlü bir kurulum için bu ayarı yorum satırı yapabilir veya boş bırakabilirsiniz. Eğer birden fazla düğümlü bir küme kuruyorsanız, diğer düğümlerin IP adreslerini buraya eklemeniz gerekir.
#discovery.seed_hosts: ["host1", "host2"]
* cluster.initial_master_nodes: Yeni bir küme oluştururken, bu ayar hangi düğümlerin ilk master düğüm adayı olacağını belirtir. Tek düğümlü bir kurulumda, kendi düğümünüzün adını buraya eklemelisiniz.
cluster.initial_master_nodes: ["node-1"]
* X-Pack Güvenlik Ayarları: Elasticsearch 8.x ile birlikte güvenlik (X-Pack) varsayılan olarak etkindir.
xpack.security.enabled: true
xpack.security.enrollment.enabled: true
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.verification_mode: certificate
xpack.security.http.ssl.keystore.path: http.p12
xpack.security.http.ssl.truststore.path: http.p12
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: transport.p12
xpack.security.transport.ssl.truststore.path: transport.p12
Bu ayarlar genellikle varsayılan olarak gelir ve değiştirmeniz gerekmez. Elasticsearch 8.x, TLS/SSL şifrelemesini ve kimlik doğrulamasını varsayılan olarak etkinleştirir.
Ayarları kaydettikten sonra (Ctrl+X, Y, Enter), Elasticsearch servisini yeniden başlatmanız gerekir.
Bellek Ayarları (JVM Options)
Elasticsearch performansını etkileyen en önemli faktörlerden biri JVM bellek tahsisidir. Bu ayarlar /etc/elasticsearch/jvm.options dosyasında bulunur.
sudo nano /etc/elasticsearch/jvm.options
Burada Xms ve Xmx parametreleri, JVM’ye tahsis edilecek başlangıç ve maksimum heap belleğini belirler. Genellikle, bu iki değerin eşit ayarlanması önerilir. Kural olarak, sunucunuzdaki toplam RAM’in yarısı kadar bellek tahsis etmelisiniz, ancak 32 GB’ı geçmemelisiniz. Örneğin, 4 GB RAM’e sahip bir VPS için 2 GB tahsis edebilirsiniz:
-Xms2g
-Xmx2g
Bu değerleri VPS’nizin RAM’ine göre ayarlayın. Yetersiz bellek, Elasticsearch’ın performansını düşürebilir veya kararsız çalışmasına neden olabilir. Aşırı bellek tahsisi ise işletim sisteminin veya diğer uygulamaların çalışması için yeterli RAM bırakmayabilir.
Değişiklikleri kaydettikten sonra, Elasticsearch servisini yeniden başlatmanız gerekir.
Elasticsearch Servisini Başlatma ve Yönetme
Yapılandırma değişikliklerini uyguladıktan sonra, Elasticsearch servisini yeniden başlatın:
sudo systemctl restart elasticsearch
Servisin durumunu kontrol etmek için:
sudo systemctl status elasticsearch
Çıktıda active (running) ibaresini görmelisiniz. Ayrıca, sistem başlangıcında Elasticsearch’ın otomatik olarak başlamasını sağlamak için:
sudo systemctl enable elasticsearch
Elasticsearch loglarını kontrol etmek için:
sudo journalctl -u elasticsearch
Veya daha detaylı loglar için:
sudo tail -f /var/log/elasticsearch/my-elastic-cluster.log
Güvenlik Yapılandırması (Elasticsearch 8.x için Önemli)
Elasticsearch 8.x ile güvenlik varsayılan olarak etkindir. Bu, ilk kurulumda otomatik olarak güçlü bir elastic kullanıcısı parolası ve sertifikalar oluşturulduğu anlamına gelir. Bu parolaları kaydetmek kritik öneme sahiptir.
İlk başarılı başlatmanın ardından, journalctl -u elasticsearch çıktısında veya /var/log/elasticsearch/my-elastic-cluster.log dosyasında aşağıdaki gibi bir çıktı göreceksiniz:
Password for the elastic user: YOUR_ELASTIC_PASSWORD
Bu parolayı mutlaka güvenli bir yere kaydedin! Bu parola, elastic kullanıcısı ile Elasticsearch’a erişmek için kullanılacaktır.
Eğer bu parolayı kaçırırsanız veya değiştirmek isterseniz, aşağıdaki komutu kullanabilirsiniz:
sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
Bu komut size yeni bir parola oluşturacaktır.
Enrollment Token Oluşturma (Kibana Bağlantısı İçin)
Kibana gibi diğer Elastic Stack bileşenlerini Elasticsearch’a bağlamak için bir “enrollment token” oluşturmanız gerekecektir. Bu token, Kibana’nın güvenli bir şekilde Elasticsearch’a kaydolmasını sağlar.
Kibana için bir enrollment token oluşturmak üzere aşağıdaki komutu çalıştırın:
sudo /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
Bu komut size tek kullanımlık bir token verecektir. Bu tokenı da Kibana kurulumunda kullanmak üzere kaydedin.
Güvenlik Duvarı Ayarları (UFW)
VPS’nizin güvenliğini sağlamak için güvenlik duvarını (UFW – Uncomplicated Firewall) yapılandırmanız önemlidir. Yalnızca gerekli portlara erişime izin vermelisiniz.
* SSH (22/tcp): Sunucunuza erişim için gereklidir.
* Elasticsearch (9200/tcp): Elasticsearch API’sine erişim için gereklidir.
* Kibana (5601/tcp): Eğer Kibana kuracaksanız, Kibana web arayüzüne erişim için gereklidir.
Öncelikle, UFW’nin etkin olup olmadığını kontrol edin:
sudo ufw status
Eğer inactive ise, aşağıdaki komutlarla gerekli kuralları ekleyin ve etkinleştirin:
sudo ufw allow OpenSSH
sudo ufw allow 9200/tcp
sudo ufw allow 5601/tcp # Kibana kuracaksanız ekleyin
sudo ufw enable
sudo ufw status
sudo ufw enable komutunu çalıştırdığınızda, mevcut SSH bağlantınızın kesilebileceği konusunda bir uyarı alabilirsiniz. OpenSSH kuralını eklediğinizden emin olun.
Elasticsearch’ün Çalıştığını Doğrulama
Elasticsearch’ın doğru bir şekilde çalıştığını doğrulamak için curl komutunu kullanabilirsiniz. Elasticsearch 8.x HTTPS kullandığı için, sertifika yetkilisini belirtmeniz ve elastic kullanıcısı parolasıyla kimlik doğrulamanız gerekecektir.
Elasticsearch’ın sertifika yetkilisi (CA) sertifikası genellikle /etc/elasticsearch/certs/http_ca.crt konumundadır.
curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic:YOUR_ELASTIC_PASSWORD https://localhost:9200
YOUR_ELASTIC_PASSWORD yerine daha önce kaydettiğiniz elastic kullanıcısının parolasını yazın.
Başarılı bir yanıt, Elasticsearch kümesi hakkında bilgi içeren bir JSON çıktısı olmalıdır. Eğer VPS dışından erişimi test etmek isterseniz, localhost yerine VPS’nizin genel IP adresini kullanın:
curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic:YOUR_ELASTIC_PASSWORD https://YOUR_VPS_IP:9200
Bu komutlar başarılı olursa, Elasticsearch’ınız düzgün çalışıyor demektir.
Kibana Kurulumu (İsteğe Bağlı ama Önemli)
Kibana, Elasticsearch verilerini görselleştirmek ve yönetmek için kullanılan bir web arayüzüdür. Elasticsearch ile birlikte genellikle bir bütün olarak kullanılır.
Kibana Paketini Kurma
Elasticsearch deposunu zaten eklediğimiz için, Kibana’yı doğrudan kurabiliriz:
sudo apt install kibana
Kibana servisi de otomatik olarak başlar ve etkinleştirilir.
Kibana Yapılandırması
Kibana’nın yapılandırma dosyası /etc/kibana/kibana.yml konumundadır.
sudo nano /etc/kibana/kibana.yml
Aşağıdaki önemli ayarları gözden geçirelim:
* server.port: Kibana’nın dinleyeceği port (varsayılan 5601).
server.port: 5601
* server.host: Kibana’nın hangi ağ arayüzlerinde dinleyeceğini belirler. Dışarıdan erişilebilir olmasını istiyorsanız 0.0.0.0 olarak ayarlayın.
server.host: "0.0.0.0"
* elasticsearch.hosts: Bağlanılacak Elasticsearch düğümlerinin listesi. Elasticsearch HTTPS kullandığı için https:// ile başlamalıdır.
elasticsearch.hosts: ["https://localhost:9200"]
* elasticsearch.username ve elasticsearch.password: Kibana’nın Elasticsearch’a bağlanmak için kullanacağı kimlik bilgileri. elastic kullanıcısı ve parolası yeterli olacaktır.
elasticsearch.username: "kibana_system" # veya "elastic"
elasticsearch.password: "YOUR_ELASTIC_PASSWORD" # elastic kullanıcısının parolası
Not: Elasticsearch 8.x’te, Kibana’nın bağlanması için genellikle kibana_system kullanıcısı ve enrollment token kullanmak daha güvenli ve önerilen bir yöntemdir. Ancak hızlı başlangıç için elastic kullanıcısını da kullanabilirsiniz. kibana_system kullanıcısının parolasını daha önce elasticsearch-reset-password komutu ile ayarlayabilirsiniz.
* elasticsearch.ssl.certificateAuthorities: Elasticsearch’ın CA sertifikasının yolu.
elasticsearch.ssl.certificateAuthorities: ["/etc/elasticsearch/certs/http_ca.crt"]
Ayarları kaydettikten sonra (Ctrl+X, Y, Enter), Kibana servisini yeniden başlatın:
sudo systemctl restart kibana
Kibana’nın durumunu kontrol edin:
sudo systemctl status kibana
Kibana’ya Erişim
Web tarayıcınızdan https://YOUR_VPS_IP:5601 adresine giderek Kibana arayüzüne erişebilirsiniz. İlk erişimde, sizden bir enrollment token veya kimlik bilgileri isteyecektir.
Eğer enrollment token kullanıyorsanız, daha önce oluşturduğunuz tokenı girin. Eğer elastic kullanıcısıyla bağlanıyorsanız, elastic kullanıcı adı ve parolasını girin.
Başarılı bir şekilde giriş yaptığınızda, Kibana’nın ana panosunu göreceksiniz.
Performans İpuçları ve En İyi Uygulamalar
Üretim ortamlarında Elasticsearch’ın optimum performansla çalışmasını sağlamak için bazı en iyi uygulamaları ve performans ipuçlarını göz önünde bulundurmalısınız.
Bellek Yönetimi
* Heap Boyutunu Doğru Ayarlayın: Daha önce bahsettiğimiz gibi, Xms ve Xmx değerlerini sunucunuzdaki toplam RAM’in yaklaşık yarısı olarak ayarlayın (ancak 32 GB’ı geçmeyin). Bu, hem Elasticsearch’ın etkin çalışmasını sağlar hem de işletim sisteminin önbellek ve diğer süreçler için yeterli belleğe sahip olmasını sağlar.
* Swapping’i Devre Dışı Bırakın: Elasticsearch, disk I/O yerine bellekte çalışmayı tercih eder. Swapping (belleğin disk üzerine yazılması) performansı ciddi şekilde düşürür. vm.swappiness değerini düşük tutarak veya tamamen devre dışı bırakarak swapping’i önleyebilirsiniz.
/etc/sysctl.conf dosyasını düzenleyin:
sudo nano /etc/sysctl.conf
Aşağıdaki satırı ekleyin veya değiştirin:
vm.swappiness = 1
Değişiklikleri uygulamak için:
sudo sysctl -p
vm.swappiness = 1 değeri, çekirdeğin mümkün olduğunca az swap yapmasını sağlar. 0 olarak ayarlamak teorik olarak tamamen devre dışı bırakır ancak bazı durumlarda kararlılık sorunlarına yol açabilir, bu yüzden 1 genellikle daha güvenli bir seçenektir.
Dosya Tanımlayıcı Limitleri
Elasticsearch, her bir bağlantı, dosya ve soket için dosya tanımlayıcıları kullanır. Varsayılan limitler genellikle yetersizdir. ulimit ayarlarını artırmak önemlidir.
/etc/security/limits.conf dosyasını düzenleyin:
sudo nano /etc/security/limits.conf
Dosyanın sonuna aşağıdaki satırları ekleyin (burada elasticsearch kullanıcısı için):
elasticsearch - nofile 65536
elasticsearch - memlock unlimited
nofile ayarı, Elasticsearch’ın açabileceği maksimum dosya sayısını artırır. memlock unlimited ise JVM’nin belleği kilitlemesini ve swap’lenmemesini sağlar. Bu ayarların etkili olması için oturumu yeniden başlatmanız gerekebilir.
Disk Performansı
* SSD Kullanımı: Elasticsearch, indeksleme ve arama işlemleri sırasında yoğun disk I/O’su yapar. SSD (Solid State Drive) kullanmak, HDD’lere göre önemli ölçüde daha iyi performans sağlar.
* Yeterli Disk Alanı: Veri boyutunuzun büyüklüğüne göre yeterli disk alanı ayırın. Elasticsearch, verileri replikalarla birlikte depoladığı için daha fazla alana ihtiyaç duyabilir.
Sistem Kaynaklarını İzleme
Elasticsearch’ın performansını sürekli izlemek, potansiyel sorunları erken tespit etmenize yardımcı olur. top, htop, iostat, vmstat gibi araçları kullanarak CPU, bellek, disk I/O ve ağ kullanımını izleyebilirsiniz. Kibana’daki Stack Monitoring özelliği de Elasticsearch ve Kibana’nın durumunu izlemek için harika bir yoldur.
Sorun Giderme
Kurulum veya çalıştırma sırasında karşılaşabileceğiniz bazı yaygın sorunlar ve çözümleri:
* Elasticsearch Başlamıyor:
* Logları Kontrol Edin: En önemli adım, Elasticsearch loglarını kontrol etmektir.
sudo journalctl -u elasticsearch --since "5 minutes ago"
sudo tail -f /var/log/elasticsearch/my-elastic-cluster.log
Loglarda genellikle hatanın nedeni (bellek yetersizliği, yapılandırma hatası, dosya izinleri vb.) belirtilir.
* Bellek Sorunları: jvm.options dosyasındaki Xms ve Xmx ayarlarının sunucunuzun RAM’ine uygun olduğundan emin olun.
* Yapılandırma Dosyası Hataları: elasticsearch.yml dosyasındaki YAML sözdizimi hatalarını kontrol edin. Boşluklar (indentation) önemlidir.
* Bağlantı Sorunları:
* Güvenlik Duvarı: UFW veya başka bir güvenlik duvarının 9200 (Elasticsearch) ve 5601 (Kibana) portlarını engellemediğinden emin olun.
* network.host Ayarı: elasticsearch.yml dosyasındaki network.host ayarının doğru olduğundan emin olun. Dışarıdan erişim için 0.0.0.0 veya VPS’nizin IP adresi olmalıdır.
* HTTPS/Sertifikalar: Elasticsearch 8.x HTTPS kullandığı için curl komutunda --cacert parametresi ile CA sertifikasını belirtmeyi unutmayın.
* Güvenlik (Parolalar/Kimlik Doğrulama):
* elastic kullanıcısının parolasını doğru girdiğinizden emin olun. Parolayı kaçırdıysanız elasticsearch-reset-password komutu ile sıfırlayabilirsiniz.
* Kibana’nın Elasticsearch’a bağlanmak için doğru kullanıcı adı ve parolayı veya enrollment token’ı kullandığından emin olun.
* Dosya İzinleri: Elasticsearch’ın çalıştığı elasticsearch kullanıcısının /var/lib/elasticsearch ve /var/log/elasticsearch dizinlerine yazma izinleri olduğundan emin olun. Genellikle apt kurulumu bu izinleri otomatik olarak ayarlar.
Sonuç
Bu rehberde, Elasticsearch’ı bir Ubuntu VPS üzerine başarıyla kurmak, temel yapılandırmaları yapmak, güvenliği sağlamak ve Kibana ile entegre etmek için gerekli tüm adımları detaylı bir şekilde ele aldık. Elasticsearch’ın gücünden tam olarak yararlanmak için sistem kaynaklarını optimize etmek, güvenlik duvarı kurallarını sıkı tutmak ve düzenli olarak logları kontrol etmek önemlidir.
Artık Ubuntu VPS’nizde çalışan bir Elasticsearch kümeniz var. Verilerinizi indekslemeye, aramaya ve analiz etmeye başlayabilirsiniz. İleri düzey kullanımlar için shard ve replica ayarlamaları, snapshot ve restore işlemleri, kümeleme ve performans optimizasyonları gibi konuları araştırmanız önerilir. Elastic Stack ekosistemindeki diğer araçlar (Logstash, Beats) ile entegrasyon yaparak veri alımını otomatikleştirebilir ve daha zengin analizler yapabilirsiniz. Bu kurulum, büyük veri analizi ve arama projeleriniz için sağlam bir temel oluşturacaktır.
