Takip et

Elasticsearch’ın Ubuntu 16.04 Üzerine Kurulumu ve Yapılandırılması

Elasticsearch’ın Ubuntu 16.04 Üzerine Kurulumu ve Yapılandırılması Giriş Günümüzün veri odaklı dünyasında, büyük hacimli verileri h

Elasticsearch’ın Ubuntu 16.04 Üzerine Kurulumu ve Yapılandırılması

Giriş

Günümüzün veri odaklı dünyasında, büyük hacimli verileri hızlı ve verimli bir şekilde depolamak, aramak ve analiz etmek, işletmeler ve geliştiriciler için kritik bir ihtiyaç haline gelmiştir. Geleneksel veritabanları bu tür görevler için yetersiz kalabilirken, dağıtık arama motorları ve veri analizi çözümleri öne çıkmaktadır. İşte bu noktada Elasticsearch devreye girer. Elasticsearch, açık kaynaklı, dağıtık ve RESTful bir arama ve analiz motorudur. Metin, sayısal, coğrafi ve yapılandırılmış tüm veri türlerini neredeyse gerçek zamanlı olarak depolayabilir, arayabilir ve analiz edebilir.

Elasticsearch Nedir?

Elasticsearch, Apache Lucene üzerine inşa edilmiş, JSON tabanlı bir RESTful API aracılığıyla erişilebilen, ölçeklenebilir bir arama motorudur. Dağıtık mimarisi sayesinde yatay olarak ölçeklenebilir, yani veri hacmi arttıkça sisteme daha fazla düğüm ekleyerek performansını artırabilirsiniz. Logstash ve Kibana ile birlikte Elastic Stack’in (önceden ELK Stack olarak biliniyordu) temelini oluşturur. Bu üçlü, log yönetimi, güvenlik analizi, uygulama performansı izleme ve daha birçok kullanım senaryosunda güçlü bir çözüm sunar.

Neden Elasticsearch Kullanmalıyız?

Elasticsearch’ü tercih etmek için birçok neden vardır:

  • Hız: Neredeyse gerçek zamanlı arama ve analiz yetenekleri sunar.
  • Ölçeklenebilirlik: Dağıtık yapısı sayesinde kolayca yatay olarak ölçeklenebilir.
  • Esneklik: Yapılandırılmamış verilerle bile çalışabilir ve farklı veri türlerini destekler.
  • Zengin API: RESTful API’si sayesinde birçok programlama dili ve platform ile kolayca entegre edilebilir.
  • Açık Kaynak: Geniş bir topluluğa ve sürekli gelişime sahiptir.
  • Veri Analizi: Agregasyon yetenekleri sayesinde karmaşık veri analizleri yapabilir ve görselleştirmeler için Kibana gibi araçlarla entegre olabilir.

Ubuntu 16.04 Neden Seçildi?

Ubuntu 16.04 LTS (Xenial Xerus), uzun süreli destek sağlayan popüler bir Linux dağıtımıdır. Kurumsal ortamlarda ve sunucularda yaygın olarak kullanılmıştır. Her ne kadar artık resmi desteği sona ermiş olsa da, birçok eski sistemde hala aktif olarak kullanılmaktadır. Bu makale, bu tür sistemlerde Elasticsearch kurulumu ve yapılandırması için adım adım bir rehber sunmayı amaçlamaktadır. Anlatılan temel prensipler, daha yeni Ubuntu sürümleri için de büyük ölçüde geçerli olacaktır, ancak paket ve Java sürümlerinde farklılıklar olabilir.

Önkoşullar

Elasticsearch’ü Ubuntu 16.04 üzerine kurmadan önce, sisteminizin belirli gereksinimleri karşıladığından ve gerekli bağımlılıkların yüklü olduğundan emin olmalısınız.

Sistem Gereksinimleri

Elasticsearch, performanslı çalışabilmek için belirli sistem kaynaklarına ihtiyaç duyar. Tek bir düğüm (node) için minimum gereksinimler şunlardır:

  • RAM: En az 2 GB RAM önerilir, ancak üretim ortamları için 8 GB veya daha fazlası tercih edilir. Elasticsearch, JVM belleği için sistem RAM’inin yaklaşık yarısını kullanır.
  • CPU: En az 2 çekirdekli bir CPU önerilir.
  • Disk Alanı: Depolayacağınız veri miktarına bağlıdır. En az 10 GB boş alan başlangıç için yeterli olabilir, ancak üretimde terabaytlarca alan gerekebilir. SSD diskler, performans açısından HDD’lere göre çok daha avantajlıdır.

Bu makale, tek bir düğüm (single-node) kurulumuna odaklanacaktır. Üretim ortamlarında genellikle birden fazla düğümle bir küme (cluster) oluşturulur.

Java Geliştirme Kiti (JDK) Kurulumu

Elasticsearch, Java sanal makinesi (JVM) üzerinde çalışır. Bu nedenle, sisteme uyumlu bir Java Geliştirme Kiti (JDK) kurulu olması zorunludur. Elasticsearch 5.x ve 6.x sürümleri genellikle Java 8 ile uyumludur. Ubuntu 16.04 deposunda OpenJDK 8 bulunur ve bu sürüm Elasticsearch için idealdir.

Sistem Paket Listesini Güncelleme

Kuruluma başlamadan önce, sisteminizin paket listesini güncelleyerek en son paket bilgilerine sahip olduğunuzdan emin olun:

sudo apt update
sudo apt upgrade -y
OpenJDK 8 Kurulumu

Şimdi OpenJDK 8’i kurabiliriz:

sudo apt install openjdk-8-jdk -y
Java Sürümünü Doğrulama

Kurulum tamamlandıktan sonra, Java’nın doğru bir şekilde kurulup kurulmadığını ve sürümünü kontrol edebilirsiniz:

java -version

Çıktı aşağıdaki gibi veya benzer bir şey olmalıdır, “1.8.0” ile başlayan bir sürüm numarasını göstermelidir:

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

Eğer farklı bir Java sürümü kuruluysa veya hiç kurulu değilse, yukarıdaki adımları tekrarlayın ve Java’nın doğru bir şekilde kurulduğundan emin olun.

Elasticsearch Kurulumu

Elasticsearch’ü Ubuntu 16.04 üzerine kurmanın en kolay ve önerilen yolu, Elastic’in kendi APT deposunu kullanmaktır. Bu sayede hem en güncel sürümü alabilir hem de gelecekteki güncellemeleri kolayca yönetebilirsiniz.

Elasticsearch APT Deposunu Ekleme

Elasticsearch paketlerini indirmeden önce, Elastic’in GPG anahtarını sisteminize eklemeniz ve ardından APT deposunu yapılandırmanız gerekir.

GPG Anahtarını İndirme ve Ekleme

Elasticsearch paketlerinin bütünlüğünü doğrulamak için Elastic’in genel anahtarını indirin ve APT anahtar zincirinize ekleyin:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Bu komut, Elastic’in anahtarını indirir ve apt-key add komutuyla sisteme ekler. Komutun başarılı olduğunu belirten bir “OK” çıktısı görmelisiniz.

APT Deposunu Ekleme

Şimdi Elasticsearch deposunu sisteminizin kaynak listesine ekleyin. Ubuntu 16.04 için Elasticsearch 6.x serisini kurmak genellikle daha uygun olacaktır, zira 7.x ve üzeri sürümler daha yeni Java versiyonları ve sistem gereksinimleri bekleyebilir. Bu makalede 6.x serisine odaklanacağız. Depo URL’si, kurmak istediğiniz Elasticsearch sürümüne göre değişebilir. Örneğin, 6.x serisi için:

echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

Bu komut, /etc/apt/sources.list.d/ dizini altına elastic-6.x.list adında yeni bir dosya oluşturur ve içine Elastic 6.x deposunun URL’sini yazar. Bu, APT’nin Elasticsearch paketlerini nereden bulacağını bilmesini sağlar.

Not: Eğer daha yeni bir sürüm (örneğin 7.x) kurmak isterseniz, yukarıdaki komutta 6.x yerine 7.x yazmanız ve Java 11 veya üzeri kurmanız gerekebilir.

Paket Listesini Güncelleme

Yeni depoyu ekledikten sonra, APT’nin yeni depodaki paket bilgilerini alması için paket listesini tekrar güncellemeniz gerekir:

sudo apt update

Bu komut, Elastic deposundan Elasticsearch paket bilgilerini indirecektir.

Elasticsearch Paketini Kurma

Artık Elasticsearch paketini kurmaya hazırsınız. Belirli bir sürümü kurmak isterseniz, paket adının sonuna = ekleyebilirsiniz (örneğin elasticsearch=6.8.23). Aksi takdirde, depoda bulunan en son 6.x sürümü kurulacaktır:

sudo apt install elasticsearch -y

Kurulum tamamlandığında, Elasticsearch servisi otomatik olarak yapılandırılır ve sisteminize yüklenir. Ancak henüz başlatılmamış olabilir.

Elasticsearch Yapılandırması

Elasticsearch kurulduktan sonra, ihtiyaçlarınıza göre yapılandırmanız önemlidir. Temel yapılandırma dosyası /etc/elasticsearch/elasticsearch.yml konumunda bulunur. Ayrıca JVM bellek ayarları için /etc/elasticsearch/jvm.options dosyasını da düzenlemeniz gerekebilir. Yapılandırma dosyası YAML formatındadır, bu da girinti (indentation) konusunda dikkatli olmanız gerektiği anlamına gelir.

Yapılandırma Dosyasına Genel Bakış (/etc/elasticsearch/elasticsearch.yml)

Bu dosya, Elasticsearch düğümünüzün temel davranışlarını tanımlar. Bir metin düzenleyici (örneğin nano veya vim) kullanarak dosyayı açın:

sudo nano /etc/elasticsearch/elasticsearch.yml

Dosyayı açtığınızda birçok yorum satırı (başında # olan satırlar) ve varsayılan ayarlar göreceksiniz. Önemli olanları açıklayalım:

Temel Yapılandırma Ayarları

Küme ve Düğüm Ayarları
  • cluster.name: Elasticsearch kümenizin adını tanımlar. Tüm düğümlerin aynı küme adına sahip olması gerekir. Varsayılan olarak elasticsearch‘tir. Üretim ortamında benzersiz bir isim kullanmanız önerilir.
cluster.name: my-application-cluster
  • node.name: Bu düğümün adını tanımlar. Her düğümün küme içinde benzersiz bir adı olmalıdır. Varsayılan olarak sunucu ana bilgisayar adıdır.
  • node.name: node-1
    Ağ Ayarları
    • network.host: Elasticsearch’ün hangi ağ arayüzünde dinleyeceğini belirler. Varsayılan olarak 127.0.0.1 (localhost) olarak ayarlanmıştır, bu da sadece yerel makineden erişilebileceği anlamına gelir. Eğer diğer makinelerden erişim sağlamak istiyorsanız, sunucunuzun IP adresini veya 0.0.0.0 (tüm arayüzler) olarak ayarlamanız gerekir. Ancak güvenlik nedeniyle 0.0.0.0 yerine belirli bir IP adresi kullanmak daha iyidir.
    network.host: 192.168.1.100 # Sunucunuzun IP adresi
    

    veya sadece localhost'tan erişim için:

    network.host: localhost

  • http.port: Elasticsearch’ün HTTP isteklerini dinleyeceği portu belirler. Varsayılan olarak 9200‘dür.
  • http.port: 9200
  • transport.port: Düğümler arası iletişim için kullanılan port. Varsayılan olarak 9300‘dür.
  • transport.port: 9300
    Keşif Ayarları (Discovery Settings)

    Elasticsearch 6.x ve üzeri sürümlerde, küme keşfi için yeni mekanizmalar kullanılır. Tek düğümlü bir kurulum için bu ayarları doğru yapmak önemlidir.

    • discovery.seed_hosts: Kümedeki diğer düğümlerin IP adreslerini veya ana bilgisayar adlarını içeren bir liste. Tek düğümlü bir kurulumda bu ayarı yorum satırı yapabilir veya boş bir liste olarak bırakabilirsiniz. Ancak Elastic 6.x’ten itibaren, tek bir düğümün kendisini master olarak belirleyebilmesi için cluster.initial_master_nodes ayarı gereklidir.
    # discovery.seed_hosts: ["host1", "host2"] # Tek düğümlü kurulumda yorum satırı yapın veya boş bırakın
  • cluster.initial_master_nodes: Kümenin ilk başlatıldığında master adayı olabilecek düğümlerin listesi. Tek düğümlü bir küme için, bu ayarı o düğümün node.name değeriyle doldurmanız GEREKİR. Aksi takdirde küme başlatılamaz.
  • cluster.initial_master_nodes: ["node-1"] # Yukarıda belirlediğiniz node.name ile aynı olmalı

    Yapılandırma dosyasında yaptığınız değişiklikleri kaydedip çıkın (nano için Ctrl+O, Enter, Ctrl+X).

    JVM Bellek Ayarları (/etc/elasticsearch/jvm.options)

    Elasticsearch, JVM üzerinde çalıştığı için bellek yönetimi kritik öneme sahiptir. JVM’ye ayrılan maksimum ve minimum bellek miktarı (Xms ve Xmx) /etc/elasticsearch/jvm.options dosyasında ayarlanır. Bu ayarların varsayılan değeri genellikle 1 GB’tır.

    Önemli Kural: Elasticsearch’e ayrılan bellek miktarı (Xms ve Xmx değerleri aynı olmalıdır), sistem RAM’inin yarısını geçmemelidir. Ayrıca, bu değer asla 30-32 GB’ı geçmemelidir, çünkü bu, JVM’nin sıkıştırılmış işaretçileri (compressed ordinary object pointers – oops) kullanmasını engeller ve performansı olumsuz etkileyebilir.

    Dosyayı açın:

    sudo nano /etc/elasticsearch/jvm.options

    Şu satırları bulun ve sisteminizin RAM’ine göre ayarlayın. Örneğin, sunucunuzda 8 GB RAM varsa, 4 GB ayırabilirsiniz:

    -Xms4g
    -Xmx4g

    Değişiklikleri kaydedip çıkın.

    Sistem Ayarları

    Elasticsearch’ün en iyi performansı göstermesi için bazı sistem seviyesi ayarlarının yapılması önerilir:

    Swapping Kapatma

    Elasticsearch, JVM’nin disk belleğine (swap) yazmasını önlemek için fiziksel belleği kullanmayı tercih eder. Swapping, performans düşüşüne neden olabilir. Bu nedenle, vm.swappiness değerini düşürmek veya tamamen kapatmak önerilir.

    Geçici olarak swappiness’i kontrol etmek ve değiştirmek için:

    cat /proc/sys/vm/swappiness
    sudo sysctl -w vm.swappiness=1

    Kalıcı olarak değiştirmek için /etc/sysctl.conf dosyasını düzenleyin:

    sudo nano /etc/sysctl.conf

    Dosyanın sonuna aşağıdaki satırı ekleyin:

    vm.swappiness=1

    Değişiklikleri uygulamak için:

    sudo sysctl -p

    Ayrıca, Elasticsearch’ün swap’i tamamen devre dışı bırakmasını sağlamak için bootstrap.memory_lock ayarını da etkinleştirebilirsiniz. Bu, Elasticsearch’ün bellek sayfalarını kilitlemesini sağlar ve işletim sisteminin onları diske takas etmesini engeller. Bu ayarı /etc/elasticsearch/elasticsearch.yml dosyasına ekleyin:

    bootstrap.memory_lock: true

    Bu ayarı kullanabilmek için, Elasticsearch kullanıcısının belleği kilitleme iznine sahip olması gerekir. Bunun için /etc/security/limits.conf dosyasını düzenlemeniz gerekecektir.

    Max File Descriptors (Maksimum Dosya Tanımlayıcıları)

    Elasticsearch, çok sayıda dosya tanımlayıcısına ihtiyaç duyar. Varsayılan limitler genellikle yetersizdir. /etc/security/limits.conf dosyasını düzenleyerek Elasticsearch kullanıcısı için bu limitleri artırın:

    sudo nano /etc/security/limits.conf

    Dosyanın sonuna aşağıdaki satırları ekleyin:

    elasticsearch - nofile 65536
    elasticsearch - memlock unlimited

    İlk satır, Elasticsearch kullanıcısı için maksimum açık dosya sayısını 65536’ya ayarlar. İkinci satır ise bootstrap.memory_lock: true ayarının çalışması için gerekli olan memlock limitini sınırsız yapar. Bu değişikliklerin etkili olması için oturumu kapatıp tekrar açmanız veya sunucuyu yeniden başlatmanız gerekebilir.

    Elasticsearch Servisini Yönetme

    Yapılandırma ayarlarını tamamladıktan sonra, Elasticsearch servisini başlatabilir ve yönetebilirsiniz. Elasticsearch, systemd ile entegre bir şekilde gelir, bu da servis yönetimini kolaylaştırır.

    Servisi Başlatma

    Elasticsearch servisini başlatmak için aşağıdaki komutu kullanın:

    sudo systemctl start elasticsearch

    Servisi Etkinleştirme (Önyüklemede Otomatik Başlama)

    Sistemin her yeniden başlatıldığında Elasticsearch’ün otomatik olarak başlamasını sağlamak için servisi etkinleştirin:

    sudo systemctl enable elasticsearch

    Servisin Durumunu Kontrol Etme

    Elasticsearch servisinin durumunu kontrol etmek ve herhangi bir hata olup olmadığını görmek için:

    sudo systemctl status elasticsearch

    Eğer her şey yolundaysa, çıktıda active (running) ibaresini görmelisiniz. Herhangi bir hata durumunda, logları kontrol etmek için aşağıdaki komutu kullanabilirsiniz:

    sudo journalctl -u elasticsearch.service -f

    Servisi Durdurma/Yeniden Başlatma

    Yapılandırma dosyalarında değişiklik yaptıktan sonra servisi yeniden başlatmanız gerekir:

    sudo systemctl restart elasticsearch

    Servisi durdurmak için:

    sudo systemctl stop elasticsearch

    Elasticsearch’ü Test Etme

    Elasticsearch servisi çalışmaya başladıktan sonra, RESTful API’sini kullanarak erişilebilirliğini ve durumunu test edebilirsiniz. Bunun için curl komut satırı aracını kullanacağız.

    Curl ile API Erişimi

    Elasticsearch Düğüm Bilgilerini Alma

    Elasticsearch düğümünüze bir HTTP GET isteği göndererek temel bilgileri alabilirsiniz:

    curl -X GET "localhost:9200"

    Eğer network.host ayarını localhost dışında bir IP adresine ayarladıysanız, o IP adresini kullanmanız gerekir:

    curl -X GET "192.168.1.100:9200"

    Başarılı bir yanıt alırsanız, çıktı JSON formatında düğümün adını, küme adını, sürümünü ve diğer meta verileri içerecektir:

    {
      "name" : "node-1",
      "cluster_name" : "my-application-cluster",
      "cluster_uuid" : "...",
      "version" : {
        "number" : "6.8.23",
        "build_flavor" : "default",
        "build_type" : "deb",
        "build_hash" : "...",
        "build_date" : "...",
        "build_snapshot" : false,
        "lucene_version" : "7.7.2",
        "minimum_wire_compatibility_version" : "5.6.0",
        "minimum_index_compatibility_version" : "5.0.0"
      },
      "tagline" : "You Know, for Search"
    }
    Küme Sağlık Durumunu Kontrol Etme

    Kümenizin genel sağlık durumunu kontrol etmek için _cat/health API’sini kullanabilirsiniz. ?v parametresi, daha okunabilir bir formatta çıktı almanızı sağlar (verbose):

    curl -X GET "localhost:9200/_cat/health?v"

    Çıktı aşağıdaki gibi olacaktır:

    epoch      timestamp cluster                  status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
    167889xxxx 14:00:00  my-application-cluster   green         1         1      0   0    0    0        0             0                  -                100.0%

    status alanının green olması, kümenizin sağlıklı ve tüm birincil ve kopya parçaların (primary and replica shards) atanmış olduğunu gösterir. Tek düğümlü bir kurulumda, kopya parçalar atanamadığı için başlangıçta yellow olabilir, ancak verileri indekslemeye başladığınızda ve kopya parçalar için yeterli düğüm olmadığında bu normaldir.

    Düğümleri Listeleme

    Kümedeki düğümleri listelemek için _cat/nodes API’sini kullanın:

    curl -X GET "localhost:9200/_cat/nodes?v"

    Çıktı, kümenizdeki düğümlerin listesini gösterecektir:

    ip         heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
    127.0.0.1          25          50   0    0.00    0.01     0.05 mdi       *      node-1

    Bu testler başarılı olursa, Elasticsearch’ünüz doğru bir şekilde kurulmuş ve çalışıyor demektir.

    Güvenlik İpuçları

    Elasticsearch kurulumunuzu güvende tutmak, özellikle üretim ortamlarında kritik öneme sahiptir. Varsayılan kurulum, genellikle dışarıdan erişime açıktır (eğer network.host 0.0.0.0 olarak ayarlandıysa) ve herhangi bir kimlik doğrulama mekanizması içermez. Bu durum, hassas verilerinizin kötü niyetli erişime açık olmasına neden olabilir.

    Güvenlik Duvarı Yapılandırması (UFW)

    Ubuntu’da varsayılan güvenlik duvarı olan UFW (Uncomplicated Firewall) kullanarak Elasticsearch’e erişimi kısıtlamanız şiddetle tavsiye edilir.

    UFW’yi Etkinleştirme
    sudo ufw enable
    Gerekli Portlara İzin Verme

    Elasticsearch’ün HTTP API’si varsayılan olarak 9200 portunda, düğümler arası iletişim ise 9300 portunda çalışır. Eğer Elasticsearch’e sadece yerel makineden (Kibana gibi aynı sunucuda çalışan uygulamalar) erişilecekse, dışarıdan bu portlara erişimi tamamen kapatabilirsiniz.

    Sadece belirli bir IP adresinden (örneğin Kibana sunucunuzun IP’si) 9200 portuna izin vermek için:

    sudo ufw allow from 192.168.1.50 to any port 9200

    Eğer kümede başka düğümler varsa ve 9300 portu üzerinden iletişim kurmaları gerekiyorsa, bu düğümlerin IP adreslerinden 9300 portuna da izin vermeniz gerekir:

    sudo ufw allow from 192.168.1.51 to any port 9300

    Sadece localhost’tan erişime izin vermek ve diğer tüm dış bağlantıları engellemek için:

    sudo ufw default deny incoming
    sudo ufw default allow outgoing
    sudo ufw allow from 127.0.0.1 to any port 9200
    sudo ufw allow from 127.0.0.1 to any port 9300

    UFW kurallarını kontrol etmek için:

    sudo ufw status verbose

    Kullanıcı Kimlik Doğrulaması ve Yetkilendirme

    Elasticsearch’ün varsayılan kurulumu herhangi bir kimlik doğrulama mekanizması içermez. Bu, API’ye erişebilen herkesin tüm verilere erişebileceği anlamına gelir. Bu durumu düzeltmek için:

    • X-Pack Security: Elastic Stack’in bir parçası olan X-Pack, kimlik doğrulama (authentication), yetkilendirme (authorization), şifreleme (encryption), denetim (auditing) gibi gelişmiş güvenlik özellikleri sunar. Ancak X-Pack’in bazı özellikleri ücretlidir.
    • Reverse Proxy (Nginx/Apache): Elasticsearch’in önüne bir ters proxy (reverse proxy) kurarak HTTP temel kimlik doğrulaması (Basic Auth) veya daha gelişmiş kimlik doğrulama yöntemleri uygulayabilirsiniz. Bu yöntem, Elasticsearch API’sine doğrudan erişimi engeller ve tüm isteklerin proxy üzerinden geçmesini sağlar.
    • Search Guard / Open Distro for Elasticsearch: Üçüncü taraf açık kaynak çözümler de bulunmaktadır. Ancak bunlar kurulum ve yönetim açısından daha karmaşık olabilir.

    HTTP Erişimi (HTTPS)

    Eğer Elasticsearch’e ağ üzerinden erişiliyorsa, verilerin şifrelenmesi için HTTPS kullanmanız şiddetle tavsiye edilir. X-Pack Security, TLS/SSL şifrelemesini kolayca yapılandırmanıza olanak tanır. Alternatif olarak, bir ters proxy (Nginx veya Apache) kullanarak SSL/TLS sonlandırması yapabilir ve proxy ile Elasticsearch arasındaki iletişimi şifreleyebilirsiniz.

    Ağ Erişimi Kısıtlaması

    Mümkünse, Elasticsearch sunucusunu yalnızca güvenilir ağlardan veya VPN üzerinden erişilebilecek şekilde yapılandırın. Genel internetten doğrudan erişimi kesinlikle önleyin.

    Ek Bileşenler

    Elasticsearch tek başına güçlü bir araç olsa da, Elastic Stack’in diğer bileşenleriyle birleştiğinde gerçek potansiyelini ortaya çıkarır. Bu bileşenler, veri toplama, işleme ve görselleştirme görevlerini üstlenir.

    Kibana Kurulumu

    Kibana, Elasticsearch verilerini görselleştirmek ve keşfetmek için kullanılan açık kaynaklı bir veri görselleştirme ve yönetim aracıdır. Elasticsearch’e indekslediğiniz veriler üzerinde grafikler, tablolar ve gösterge tabloları oluşturmanıza olanak tanır. Genellikle Elasticsearch ile aynı sunucuya veya ayrı bir sunucuya kurulur ve Elasticsearch’ün REST API’si üzerinden veri çeker.

    Kibana’nın kurulumu da Elasticsearch’e benzer şekilde Elastic APT deposu üzerinden yapılır. Ancak bu makalenin kapsamı dışında olup, ayrı bir kurulum rehberini gerektirir.

    Logstash Kurulumu

    Logstash, farklı kaynaklardan (log dosyaları, veritabanları, Kafka vb.) veri toplayan, bu verileri işleyen (filtreleme, dönüştürme) ve ardından Elasticsearch gibi bir hedef depolama birimine gönderen açık kaynaklı bir veri işleme ardışık düzenidir (data pipeline). Logstash, çeşitli eklentileri sayesinde neredeyse her türlü veri kaynağını ve formatını destekler.

    Logstash’in kurulumu ve yapılandırması da kendi başına karmaşık bir konudur ve bu makalenin kapsamı dışındadır.

    Sonuç

    Bu makalede, Elasticsearch’ün Ubuntu 16.04 sunucusu üzerine nasıl kurulacağını ve temel düzeyde nasıl yapılandırılacağını adım adım ele aldık. Java Geliştirme Kiti’nin kurulumundan başlayarak, Elastic APT deposunu eklemeyi, Elasticsearch paketini kurmayı, ana yapılandırma dosyalarını düzenlemeyi (özellikle elasticsearch.yml ve jvm.options), sistem seviyesi optimizasyonları (swap ve dosya tanımlayıcıları) yapmayı ve son olarak Elasticsearch servisini yönetmeyi ve test etmeyi öğrendik.

    Ayrıca, Elasticsearch kurulumunuzu güvende tutmak için önemli güvenlik ipuçlarına (güvenlik duvarı yapılandırması, kimlik doğrulama ve HTTPS kullanımı) değindik. Son olarak, Elastic Stack’in diğer temel bileşenleri olan Kibana ve Logstash’ten kısaca bahsederek, bu güçlü ekosistemin tam potansiyelini nasıl kullanabileceğinize dair bir fikir verdik.

    Artık Ubuntu 16.04 üzerinde çalışan, temel olarak yapılandırılmış ve güvenliği sağlanmış bir Elasticsearch düğümüne sahipsiniz. Bu kurulum, veri indeksleme, arama ve analiz projeleriniz için sağlam bir temel oluşturacaktır. İleri düzey kullanımlar için Elasticsearch’ün resmi belgelerini incelemeniz ve Elastic Stack’in diğer bileşenlerini keşfetmeniz önerilir.

    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