Elasticsearch
Genel Bakış
Amacı Nedir?
Connection (Bağlantı) Integration Flow veya Connector adımlarının log, metrik ve arama verilerini merkezi Elasticsearch cluster'ına iletir.
Çoklu host (HTTP/HTTPS) tanımıyla yüksek erişilebilirlik sağlayan REST isteklerini yönetir.
Index Template ve Index Lifecycle Policy (ILM) otomasyonuyla cluster yönetişimini standartlaştırır.
Rollover, template oluşturma ve policy senkronizasyonu gibi bakım görevlerini tek tuşla tetikler.
Çalışma Prensibi
Integration Flow veya Connector içerisinden Elasticsearch Connection (Bağlantı) talep edildiğinde, sistem yapılandırılmış connection parametrelerini okur.
HTTP client, host başına sabit boyutlu bir bağlantı havuzu kullanır (host başına 20 bağlantı; toplam limit tanımlı host sayısıyla orantılı büyür). Bu değerler kullanıcı tarafından yapılandırılamaz.
Basic Authentication sağlandığında kullanıcı adı/şifre gönderilir; aksi halde anonim erişim veya IP tabanlı güvenlik kullanılır.
REST endpoint'lerine HTTP/HTTPS üzerinden JSON gövdeli CRUD istekleri gönderilir; socket ayarları (keep-alive, reuse) aktarım sürekliliğini sağlar.
İşlem tamamlanınca bağlantı pool'a geri döner, açık socket'ler keep-alive süreleri dolunca kapanır.
Bağlantı hatası, timeout veya authentication hatasında Apinizer Message Service bilgilendirme üretir; deployment result diyalogunda detay gösterilir.
Kullanım Alanları
Gateway loglarını merkezi Elasticsearch indekslerine yazmak
Arama/raporlama amacıyla okuma-only cluster'lara erişmek
ILM ve template otomasyonu gerektiren yüksek hacimli log kümelerini yönetmek
Disaster recovery veya geo-yedekli Elasticsearch kümelerine trafik yönlendirmek
Teknik Özellikler ve Yetenekler
Temel Özellikler
HTTP/HTTPS scheme, host ve port kombinasyonları ile cluster node'ları arasında yük dağıtımı sağlar.
Shard/replica sayıları ve refresh interval değerleri UI üzerinden yönetilir.
Administrate seçeneği açıkken Index Template, ILM Policy oluşturma ve rollover tetikleme butonları etkinleşir. Bağlantı listesinde ILM Policy, Index Template ve Data Stream durumunu gösteren göstergeler ile bu durumu Elasticsearch üzerinden sorgulayan Live Check butonu bulunur.
Her ortam (Development, Test, Production) için ayrı connection parametreleri tanımlama imkanı.
Connection'ı aktif veya pasif hale getirme (enable/disable toggle). Pasif durumda bağlantı kullanılamaz ancak yapılandırması saklanır.
İleri Düzey Özellikler
Hot/Warm/Cold/Delete fazları için yaş, boyut ve replikasyon eşikleri modal üzerinden kontrol edilir.
PKCS#12 veya PEM tabanlı CA/keystore dosyaları yüklenerek SSL/TLS iletişimi güvenceye alınır.
READ_WRITE modunda administrate işlemleri aktif, READ modunda yalnızca sorgu yapılır.
"Test Connection" butonu ile bağlantı parametrelerini kaydetmeden önce doğrulama imkanı.
Connection yapılandırmasını ZIP dosyası olarak export etme. Farklı ortamlara (Development, Test, Production) import etme. Versiyon kontrolü ve yedekleme imkanı.
Bağlantı sağlığı, pool durumu ve performans metriklerini izleme.
Connection Parametreleri
Zorunlu Parametreler
Açıklama: Connection adı (benzersiz olmalı)
Örnek Değer: Production_ElasticLog
Notlar: Boşlukla başlamaz, özel karakterler kullanılmamalı
Açıklama: Logların yazılacağı indeks adı
Örnek Değer: apinizer-log-apiproxy-default
Notlar: Administrate açıkken otomatik oluşturulur; çakışmalar kontrol edilir
Açıklama: Her host için scheme/host/port
Örnek Değer: HTTPS : es-prod-01 : 9243
Notlar: En az bir host zorunlu; host ve port alanları boş bırakılamaz
Açıklama: Bağlantı kurma, yanıt bekleme ve pool'dan bağlantı alma süreleri için kullanılan tek değer
Örnek Değer: 5000
Notlar: Varsayılan 5000; UI'da yalnızca zorunluluk kontrolü vardır (min/max yok). Ayrıntı için aşağıdaki "Timeout Davranışı" bölümüne bakın.
Açıklama: READ_WRITE veya READ modu
Örnek Değer: READ_WRITE
Notlar: READ seçilirse administrate devre dışı kalır
İsteğe Bağlı Parametreler
Açıklama: Connection amacı açıklaması
Varsayılan Değer: Boş
Önerilen Değer: Operasyonel bilgi içeren kısa metin
Açıklama: Basic Authentication aç/kapa
Varsayılan Değer: false
Önerilen Değer: Production'da gereksinime göre true
Açıklama: Kullanıcı adı
Varsayılan Değer: Boş
Önerilen Değer: Authentication aktifse zorunlu
Açıklama: Parola
Varsayılan Değer: Boş
Önerilen Değer: Secret manager üzerinden girilmesi önerilir
Açıklama: Template/ILM yönetimi
Varsayılan Değer: true (READ_WRITE)
Önerilen Değer: Harici ekip yönetiyorsa kapatılabilir
Açıklama: TLS hostname doğrulaması
Varsayılan Değer: true
Önerilen Değer: Production'da false olarak değiştirin
Timeout Davranışı ve Sabit Connection Pool Ayarları
Connection Timeout tek bir değerdir ve üç farklı amaç için kullanılır. Ayrı bir "Request Timeout" alanı yoktur. Girilen Connection Timeout (ms) değeri, gateway tarafında aynı anda şu üç süre için kullanılır:
- Bağlantı kurma (connect) süresi
- Elasticsearch yanıtını bekleme (response) süresi
- Havuzdan bağlantı alma (connection request) süresi
1000 ms altındaki değerler, tam sayı bölmesi (ms / 1000) nedeniyle sunucu taraf ında 0'a düşer ve otomatik olarak varsayılan 5 saniyeye (5000 ms) geri döner. Bu bir doğrulama kuralı değildir, bölme işleminin bir yan etkisidir — UI'da bu alan için min/max doğrulaması yoktur, yalnızca zorunluluk kontrolü vardır.
Açıklama: Bağlantı kurma + yanıt bekleme + pool'dan bağlantı alma için kullanılan tek değer
Varsayılan: 5000
Birim: milisaniye
Notlar: UI'da yalnızca zorunluluk kontrolü var; min/max yok. 1000 ms altı değerler 5000 ms'ye döner.
Açıklama: Host başına eşzamanlı bağlantı sayısı
Değer: 20 (sabit)
Toplam Limit: 20 × tanımlı host sayısı
Notlar: Kullanıcı tarafından yapılandırılamaz
Açıklama: Havuzdaki idle bağlantının tekrar kullanılmadan önce doğrulanma eşiği
Değer: 10 saniye (sabit)
Notlar: Kullanıcı tarafından yapılandırılamaz
Açıklama: Bir bağlantının havuzda kalabileceği maksimum süre
Değer: 3 dakika (sabit)
Notlar: Keep-alive stratejisi 30 saniyedir; her ikisi de kullanıcı tarafından yapılandırılamaz