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
Kullanım Senaryoları
Durum: Dakikada milyonlarca log girişi
Çözüm: READ_WRITE, administrate açık, ILM rollover eşikleri sıkı tutulur
Beklenen Davranış: ILM otomatik rollover yapar; kayıtlar Worker'da arka planda (asenkron) bulk olarak yazılır, istek iş parçacığı Elasticsearch'i beklemez
Durum: Salt okuma sorguları
Çözüm: READ, administrate kapalı, authentication=true
Beklenen Davranış: Cluster sadece sorgu alır, yönetim işlemleri engellenir
Durum: İki veri merkezi
Çözüm: İki HTTPS host, encrypt communication + PKCS#12 CA
Beklenen Davranış: Trafik otomatik olarak sağlıklı host'a yönelir
Durum: Yeni alanlar eklendi
Çözüm: Template adı ve shard/replica güncellenip "Create Index Template" çalıştırılır
Beklenen Davranış: Yeni indexler güncel şema ile açılır
Durum: 90 gün üstü loglar silinecek
Çözüm: ILM delete fazı aktif, minAgeOfDelete=90
Beklenen Davranış: Eski indexler otomatik temizlenir
Durum: TLS zorunlu, internal CA
Çözüm: Encrypt communication açık, CA_IN_PEM_FILE yüklenir
Beklenen Davranış: Sertifikalarla güvenli bağlantı sağlanır
Connection Yapılandırma
Yeni Elasticsearch Connection Oluşturma
Yapılandırma Adımları
- Sol menüden Connection → Elasticsearch bölümüne gidin.
- Sağ üstteki [+ Create] butonuna tıklayın.
- Yeni Elasticsearch Connection oluşturma formu açılır.
Enable Status (Aktif Durumu) Ayarlama:
- Formun üst kısmında Enable Status toggle'ını bulun.
- Toggle'ı Aktif konumuna getirin (varsayılan olarak aktif gelir).
- Connection'ı pasif yapmak isterseniz toggle'ı Pasif konumuna getirin.
- Pasif connection'lar Integration Flow'larda kullanılamaz ancak yapılandırmaları saklanır.
Name (İsim) - Zorunlu Alan:
- Name alanına benzersiz bir connection adı girin.
- İsim örnekleri:
`Production_ElasticLog`,`Test_ElasticConnection`,`Dev_ElasticSearch` - İsim kuralları:
- Boşlukla başlamamalı
- Özel karakterler kullanılmamalı (önerilen: harf, rakam, alt çizgi)
- Maksimum 255 karakter
- İsim yazdıkça sistem otomatik kontrol eder:
- Yeşil tik işareti: İsim kullanılabilir
- Kırmızı çarpı işareti: İsim zaten mevcut, farklı bir isim seçin
Description (Açıklama) - İsteğe Bağlı:
- Description alanına connection'ın amacını açıklayan bir metin girin.
- Örnek açıklamalar:
- "Gateway loglarını production cluster'a yazar"
- "Production ortamı Elasticsearch bağlantısı"
- "Test ortamı için dummy Elasticsearch bağlantısı"
- Maksimum 1000 karakter sınırı vardır.
- Bu alan boş bırakılabilir.
Sayfanın üst kısmındaki işlem butonları alanında, [<> Variable] butonunu kullanarak dinamik değer seçebilir, Global variable ifadeleri sayesinde connection parametrelerini sabit değer yerine değişken tabanlı yönetebilirsiniz. Detaylı bilgi için Dinamik Değişkenler sayfasını inceleyebilirsiniz.
- Environment dropdown menüsünü bulun.
- Dropdown menüyü açın ve aşağıdaki seçeneklerden birini seçin:
- Development: Geliştirme ortamı için
- Test: Test ortamı için
- Production: Üretim ortamı için
- Her ortam için farklı connection parametreleri tanımlanabilir.
- Ortam seçimi, connection'ın hangi ortamda aktif olacağını belirler.
- Aynı isimde connection'lar farklı ortamlar için ayrı ayrı oluşturulabilir.
Scheme Seçimi:
- Her host için Scheme seçin: HTTP veya HTTPS
- HTTPS seçildiğinde Encrypt Communication otomatik açılır.
Host/Port - Zorunlu:
- Host alanına Elasticsearch node'unun adresini girin.
- Port alanına port numarasını girin (varsayılan: 9200).
- Host formatı:
- FQDN (Fully Qualified Domain Name):
`es-prod-01.company.com` - IP adresi:
`192.168.1.100` - Birden fazla host ekleyerek cluster erişimini yedekleyin.
- En az bir host zorunludur.
Connection Type Seçimi:
- Connection Type dropdown menüsünden seçim yapın:
- READ_WRITE: Okuma ve yazma işlemleri için (administrate işlemleri aktif)
- READ: Sadece okuma işlemleri için (administrate devre dışı)
- Connection type seçimi, administrate davranışını belirler.
Birden fazla host ekleyerek yüksek erişilebilirlik sağlayabilirsiniz.
Index Name - Zorunlu:
- Index Name alanına logların yazılacağı indeks adını girin.
- Örnek:
`apinizer-log-apiproxy-default` - Administrate açıkken otomatik oluşturulur; çakışmalar kontrol edilir.
Administrate Ayarlama:
- Administrate toggle'ını bulun.
- Template ve ILM yönetimi için toggle'ı Aktif konumuna getirin.
- Administrate aktifse aşağıdaki alanlar görünür hale gelir:
- Template adı
- Shard sayısı
- Replica sayısı
- Refresh interval
ILM Policy Yapılandırması:
- Edit ILM Policy butonuna tıklayın.
- Açılan modalda hot/warm/cold/delete faz eşiklerini ayarlayın.
- Policy adının benzersiz olduğunu doğrulayın.
- İlk deployment öncesi policy adını kontrol edin.
Data Stream Oluşturma:
- ILM Policy ve Index Template başarıyla oluşturulduktan sonra, ilgili indeks adı için data stream Save and Deploy sırasında otomatik olarak oluşturulur.
- Data stream zaten mevcutsa tekrar oluşturulmaya çalışılmaz.
- Oluşturma başarısız olursa, deploy sonucu diyalogunda hata detayı gösterilir.
Connection Timeout:
- Connection Timeout (ms) alanına değeri girin.
- Varsayılan: 5000 milisaniye
- Bu tek değer; bağlantı kurma, Elasticsearch yanıtını bekleme ve havuzdan bağlantı alma sürelerinin hepsi için aynı anda kullanılır. Ayrı bir "Request Timeout" alanı yoktur.
- UI'da bu alan için yalnızca zorunluluk kontrolü vardır (min/max doğrulaması yok). 1000 ms altındaki değerler, tam sayı bölmesi nedeniyle sunucu tarafında otomatik olarak 5000 ms'ye (5 saniye) döner.
Connection pool boyutu (host başına 20 bağlantı) ve idle bağlantı ayarları (validate-after-inactivity, TTL, keep-alive) sabittir; ekrandan yapılandırılamaz.
Authentication Ayarlama:
- Authenticate toggle'ını bulun.
- Elasticsearch cluster'ınız kimlik doğrulama gerektiriyorsa toggle'ı Aktif konumuna getirin.
- Çoğu production ortamında kimlik doğrulama gerektirir.
Username ve Password:
- Authenticate toggle'ı aktifse Elastic Username alanı görünür hale gelir.
- Elasticsearch kullanıcı adını girin.
- Elastic Password alanına şifreyi girin.
- Şifre güvenlik nedeniyle maskelenmiş görünecektir.
- Hassas bilgiler için secret manager kullanımı önerilir.
Encrypt Communication (TLS):
- En az bir host HTTPS seçildiğinde Encrypt Communication bölümü görünür.
- TLS tipi seçin:
- PKCS#12 CA: PKCS#12 formatında CA dosyası
- PEM CA: PEM formatında CA dosyası
- PKCS#12 cert+key: PKCS#12 formatında sertifika ve anahtar dosyası
- Gerekli dosyaları yükleyin.
- Eksik dosyalarda form hata verir ve kayda izin vermez.
Disable Hostname Verification:
- Disable Hostname Verification toggle'ını bulun.
- Production'da false olarak değiştirin (varsayılan: true).
- Test ortamında true bırakılabilir.
Production ortamında mutlaka SSL/TLS kullanın ve hostname verification'ı aktif tutun.
- Formun alt kısmında veya sağ üst köşede [Test Connection] butonunu bulun.
- Butona tıklayın.
- Sistem bağlantı parametrelerini test eder:
- Elasticsearch cluster'ına bağlantı kurulur
- Kimlik doğrulama yapılır (Authentication aktifse)
- TLS handshake yapılır (Encrypt Communication aktifse)
- Cluster sağlığı kontrol edilir
- Test sonucu:
- Başarılı: Yeşil onay mesajı görüntülenir, "Connection test successful" gibi bir mesaj
- Başarısız: Kırmızı hata mesajı görüntülenir, hata detayları gösterilir
- Hata durumunda:
- Hata mesajını okuyun
- İlgili parametreleri kontrol edin (Host, Port, Username, Password)
- Firewall ve network ayarlarını kontrol edin
- Elasticsearch cluster sağlığını kontrol edin
- Test başarılı olana kadar parametreleri düzeltin ve tekrar test edin.
- Tüm zorunlu alanların doldurulduğundan emin olun.
- Test connection'ın başarılı olduğunu doğrulayın (önerilir).
- Formun sağ üst köşesinde bulunan [Save and Deploy] butonuna tıklayın.
- Sistem connection'ı kaydeder ve seçilen ortama deploy eder.
- Başarılı kayıt sonrası:
- Connection listesi sayfasına yönlendirilirsiniz
- Yeni connection listede görünür
- Connection Enabled durumda olur
- Integration Flow ve Connector adımlarında kullanılabilir hale gelir
Kontrol Listesi (Kaydetmeden Önce):
- Name alanı benzersiz ve geçerli
- En az bir Host ve Port alanları doldurulmuş
- Index Name doldurulmuş
- Connection Type seçilmiş
- Authentication aktifse Username ve Password doldurulmuş
- Environment seçilmiş
- Test Connection başarılı (önerilir)
- Zorunlu alanların hepsi doldurulmuş
Sonuç:
- Connection başarıyla oluşturulur ve kaydedilir
- Seçilen ortamda aktif hale gelir
- Integration Flow ve Connector adımlarında connection seçimi yapılabilir
- Connection listesinde görüntülenir ve yönetilebilir
Connection başarıyla oluşturuldu! Artık Integration Flow ve Connector adımlarında kullanabilirsiniz.
Bağlantı Listesindeki Durum Göstergeleri ve Canlı Durum Kontrolü
Administrate aktif ve Connection Type değeri READ_WRITE olan bağlantılarda, bağlantı listesinde üç durum göstergesi görüntülenir. Ayrıca her satırda, Administrate ayarından bağımsız olarak bir Live Check butonu bulunur.
Administrate aktif ve Connection Type READ_WRITE olan bağlantılarda görünür. Yeşil onay: policy Elasticsearch'te oluşturulmuş; kırmızı: oluşturulmamış. Göstergeye tıklayarak yeniden oluşturmayı deneyebilirsiniz.
Administrate aktif ve Connection Type READ_WRITE olan bağlantılarda görünür. Yeşil onay: template Elasticsearch'te oluşturulmuş; kırmızı: oluşturulmamış. Göstergeye tıklayarak yeniden oluşturmayı deneyebilirsiniz.
Administrate aktif ve Connection Type READ_WRITE olan bağlantılarda görünür. Yeşil onay: data stream Elasticsearch'te oluşturulmuş; kırmızı: oluşturulmamış. ILM Policy ve Index Template göstergelerinin aksine bu gösterge tıklanarak doğrudan oluşturma tetiklenemez; ILM Policy ve Index Template hazır olduğunda data stream Save and Deploy sırasında otomatik olarak oluşturulur.
Bağlantı listesindeki her satırda görünen yenile ikonudur. Tıklandığında ILM Policy, Index Template ve Data Stream'in Elasticsearch cluster'ında gerçekten var olup olmadığı anlık olarak sorgulanır; bağlantı kaydı bu gerçek durumla güncellenir ve son kontrol zamanı butonun altında görüntülenir.
Live Check çalıştırılmadan önce göstergeler yalnızca Apinizer'ın kendi kaydını yansıtır. Bağlantı farklı bir Elasticsearch cluster'ına yönlendirildiğinde eski durum ekranda görünmeye devam edebilir; güncel durumu görmek için Live Check kullanmanız gerekir.
Bağlantı pasif (Disabled) durumdayken Live Check çalıştırılamaz; buton tıklandığında uyarı mesajı gösterilir.
Kontrol tamamlanamazsa (örneğin cluster'a erişilemiyorsa) hata mesajı gösterilir, ancak kayıtlı göstergeler ve son kontrol zamanı değiştirilmez. Erişilemiyor olmak "yok" ile aynı şey değildir — geçici bir kesinti, bilinen doğru durumun üzerine yazmaz.
Connection'ı Silme
Connection'ı silmek için:
- Connection'ın view ekranına gidin.
- Sağ üstteki [Delete] butonuna tıklayın.
- Onay dialogunda silme işlemini onaylayın.
- Connection listesinde satır sonundaki ⋮ menüsünden Delete seçeneğini tıklayın.
- Onay dialogunda silme işlemini onaylayın.
Silmeden Önce Kontrol Edin:
- Integration Flow veya Connector adımlarında kullanılıyor olabilir.
- Gerekirse alternatif bir connection atayın.
- Silmeden önce Export ile yedek alın.
- Silmek yerine view ekranından [Disabled] butonunu kullanın.
- Connection pasif olur ancak silinmez.
- Gerektiğinde [Enabled] butonu ile yeniden etkinleştirilebilir.
Connection'ı Dışa/İçe Aktarma
Bu adımda kullanıcı, mevcut connection'ları yedekleme, farklı ortamlara taşıma veya paylaşma amacıyla dışa aktarabilir (export) ya da daha önce dışa aktarılmış bir connection'ı tekrar içe aktarabilir (import). Bu işlem, sürüm yönetimi, test ve üretim ortamları arasında geçiş veya ekipler arası paylaşım süreçlerinde veri bütünlüğünü korumak için kullanılır.
Dışa Aktarma (Export)
- Connection'ın view ekranına gidin.
- Sağ üstteki [Export] butonuna tıklayın.
- ZIP dosyası otomatik olarak indirilir.
- Connection listesinde satır sonundaki ⋮ menüsünden Export seçeneğini tıklayın.
- ZIP dosyası otomatik olarak indirilir.
Format: {Date}-elasticsearch-integration-{ConnectionName}-export.zip
Örnek: 13 Nov 2025-elasticsearch-integration-Production_ElasticLog-export.zip
- Connection JSON dosyası
- Metadata bilgileri
- Bağımlılık bilgileri (örneğin sertifikalar, key store)
- Yedekleme
- Ortamlar arası taşıma (Test → Prod)
- Versiyonlama
- Ekip veya proje bazlı paylaşım
İçe Aktarma (Import)
- Ana listede [Import Elasticsearch] butonuna tıklayın.
- İndirilen ZIP dosyasını seçin.
- Sistem kontrolleri: Format geçerli mi? İsim çakışması var mı? Bağımlılıklar mevcut mu?
- Ardından [Import] butonuna tıklayın.
Senaryo 1: İsim Çakışması → Eski connection'ın üzerine yazın veya yeni bir isimle oluşturun.
Senaryo 2: Eksik Bağımlılıklar → Eksik sertifikaları veya key store'ları önce oluşturun veya import sırasında çıkarın.
Connection'ın Kullanım Alanları
Adımlar:
- Connection'ı oluşturun.
- Test Connection ile bağlantıyı doğrulayın.
- Save and Deploy ile kaydedin ve etkinleştirin.
- Connection'ın Enabled durumda olduğundan emin olun.
Elasticsearch log, metrik ve arama verilerini gerektiren adımlarda connection seçilir. Örnek: "Elasticsearch Index", "Elasticsearch Query", "Elasticsearch Bulk" gibi adımlar. Bağlantı seçimi bu adımların yapılandırmasında yer alan Connection alanından yapılır.
Zamanlanmış görevlerde (ör. belirli aralıklarla log yazma, index yönetimi vb.) bağlantı seçilerek Elasticsearch cluster'ına erişim sağlanır. Connection değiştiğinde, job çalışma davranışı da buna göre güncellenir.
Connection Test özelliği ile bağlantının doğruluğu Integration Flow'dan bağımsız olarak kontrol edilebilir. Bu test hata ayıklama sürecinde kritik önem taşır.
Best Practices
Yapılması Gerekenler ve En İyi Uygulamalar
Kötü: index1.
İyi: log-prod.
En İyi: `prod-apiproxy-log-{yyyy.MM.dd}`
Kötü: Varsayılanları değiştirmemek.
İyi: Günlük veri büyüklüğüne göre max size ayarlamak.
En İyi: Hem boyut hem yaş eşiği ayarlayıp rollover butonunu düzenli kullanmak
Kötü: Tüm ortamda aynı sertifikayı paylaşmak.
İyi: Ortam bazlı sertifika yüklemek.
En İyi: Sertifika rotasyonunu otomasyonla planlamak ve expiration alarmları kurmak
Kötü: Okuma-only cluster'a READ_WRITE vermek.
İyi: Yetki gereksinimine göre seçim yapmak.
En İyi: Cluster rolü değişirse connection tipini güncellemek
Kötü: Tüm ortamlarda aynı connection parametrelerini kullanmak.
İyi: Her ortam için ayrı connection oluşturmak.
En İyi: Environment seçeneğini kullanarak tek connection'da tüm ortamları yönetmek, ortamlar arası geçişte sadece environment değiştirmek
Kötü: Connection'ı test etmeden kaydetmek ve deploy etmek.
İyi: Kaydetmeden önce Test Connection ile doğrulamak.
En İyi: Her parametre değişikliğinden sonra test etmek, production'a geçmeden önce test ortamında tam entegrasyon testi yapmak
Güvenlik En İyi Uygulamaları
Production cluster için ayrı connection ve RBAC kullanıcıları oluşturun; erişim tokenlarını paylaşmayın
PKCS#12/PEM dosyalarını versiyon kontrolüne koymayın; secret storage üzerinden yükleyin
Disable Hostname Verification yalnızca test için kullanılmalı; production'da false bırakılması önerilir
Kullanıcı adı ve şifre gibi hassas bilgileri environment variable veya secret manager kullanarak saklayın. Kimlik bilgilerini kod veya konfigürasyon dosyalarına hardcode etmeyin. Periyodik olarak şifreleri güncelleyin
Production ortamında mutlaka SSL/TLS aktif edin. Self-signed sertifikalar sadece development ortamında kullanın. Sertifika expiration tarihlerini takip edin ve zamanında yenileyin
Connection yapılandırmasını sadece yetkili kullanıcıların değiştirmesine izin verin. Connection değişiklik loglarını saklayın. Kritik connection'lar için değişiklik approval süreci uygulayın
Kaçınılması Gerekenler
Neden kaçınılmalı: Aynı template'i paylaşan indekslerde çakışma yaratır.
Alternatif: Proje bazlı prefix kullanın
Neden kaçınılmalı: Tek host arızasında tüm akış durur.
Alternatif: En az iki host girin, health check izleyin
Neden kaçınılmalı: Yanlış dosya tipi handshake başarısızlığına yol açar.
Alternatif: HTTPS seçimine uygun sertifika paketini kullanın
Neden kaçınılmalı: Test verileri production sistemine yazılabilir, gerçek kullanıcılar etkilenebilir, güvenlik riski oluşur.
Alternatif: Her ortam için ayrı connection oluşturun, environment parametresini kullanın, connection isimlerini ortama göre prefix ekleyerek ayırın (Test_, Prod_)
Neden kaçınılmalı: Ağ gecikmelerinde connection sürekli timeout olur, Entegrasyon adımları başarısız olur.
Alternatif: Gerçek kullanım senaryolarına göre timeout değerlerini ayarlayın, network latency'yi ölçün ve timeout'ları buna göre belirleyin
Neden kaçınılmalı: Connection pool boyutu host başına sabittir (20); tek host'a karşı yüksek eşzamanlı trafik pool'un tükenmesine yol açabilir.
Alternatif: Yüksek trafikte birden fazla host tanımlayın — toplam pool limiti host sayısıyla orantılı büyür. Pool boyutu ekrandan ayarlanamaz
Performans İpuçları
Öneri: Günlük kayıt hacmine göre shard sayısını belirleyin, replica sayısını cluster kapasitesine göre ayarlayın.
Etki: Arama performansı artar, disk kullanımı dengelenir
Öneri: Hot fazı kısa, cold fazı uzun tutarak depolama maliyetini azaltın.
Etki: Pahalı d üğümlerde gereksiz veri tutulmaz
Öneri: Monitor ekranından bulk/search queue uzunluklarını takip edin; eşikler aşarsa host sayısını artırmayı değerlendirin (pool boyutu host başına sabittir, ekrandan değiştirilemez).
Etki: Kuyrukta bekleyen istek sayısı azalır
Öneri: Pool boyutunun host başına sabit (20) olduğunu ve ekrandan değiştirilemediğini unutmayın; peak trafik için pool kapasitesini artırmanın tek yolu daha fazla host tanımlamaktır.
Etki: Bağlantı açma maliyeti azalır, yanıt süreleri düşer
Öneri: Gerçek network latency'yi ölçün, timeout değerlerini buna göre ayarlayın, çok düşük veya çok yüksek timeout'lardan kaçının.
Etki: Gereksiz beklemeler önlenir, hızlı fail-over sağlanır, kullanıcı deneyimi iyileşir
Öneri: Connection pool kullanımını izleyin, timeout oranlarını takip edin, connection health check yapın, alerting kurun.
Etki: Sorunlar proaktif tespit edilir, performans darboğazları erken belirlenir, kesinti süresi azalır
Sorun Giderme (Troubleshooting)
Index Template Oluşmuyor
Administrate kapalı, Template adı çakışıyor veya Elasticsearch kullanıcı yetkisi yetersiz olabilir.
Administrate'i etkinleştirin.
Template adını değiştirin.
Kullanıcıya manage_index_templates yetkisi verin.
ILM Policy Kaydedilmiyor
Policy adı mevcut, Hot phase devre dışı veya UI modalı kapatılmamış olabilir.
Policy adını benzersiz yapın.
Hot fazı etkinleştirin.
Modalda Save'e basıp tekrar deneyin.
Connection Timeout
Network gecikmesi, hedef sistem yavaş yanıt veriyor veya timeout değeri çok düşük olabilir.
Network connectivity kontrol edin.
Hedef sistem sağlığını kontrol edin.
Timeout değerlerini artırın.
Connection loglarını inceleyin.
Authentication Failed
Yanlış kullanıcı adı/şifre, expired credentials veya yetki problemi olabilir.
Kimlik bilgilerini doğrulayın.
Hedef sistemde kullanıcının aktif olduğunu kontrol edin.
Gerekli yetkilerin verildiğini kontrol edin.
SSL/TLS sertifikalarını kontrol edin.
Pool Exhausted
Connection pool boyutu host başına sabittir (20 bağlantı); tek host'a karşı çok yüksek eşzamanlı trafik veya uzun süren istekler pool'un tükenmesine yol açabilir. Pool boyutu ve idle timeout gibi değerler ekrandan değiştirilemez.
Trafiği birden fazla host'a dağıtmak için ek Elasticsearch host tanımlayın; toplam pool limiti host sayısıyla orantılı büyür.
Elasticsearch cluster tarafında uzun süren veya asılı kalan isteklerin olmadığını kontrol edin.
Connection Timeout değerinin gerçekçi olduğunu doğrulayın; 1000 ms altındaki değerler her durumda 5000 ms'ye döner.
Connection kullanım metriklerini izleyin.
Connection Test Başarılı Ama Entegrasyon Akışı Hata Veriyor
Integration/Connector adımında farklı connection seçili olabilir, adım yanlış yapılandırılmış olabilir veya Flow/Job redeploy edilmemiş olabilir.
Connection'ın enable toggle'ının aktif olduğunu kontrol edin.
Integration Flow'da doğru connection'ın seçildiğini doğrulayın.
Connection'ı tekrar deploy edin.
Integration Flow veya Job'ı redeploy edin.
Gateway loglarını kontrol edin.
Sık Sorulan Sorular (SSS)
Rollover
İki farklı ortam için tek connection kullanabilir miyim?
Ortam dropdown'ı sayesinde aynı connection içinde Development/Test/Production değerleri tutulabilir; ancak erişim politikaları için ayrı connection oluşturmak daha güvenlidir.
Rollover butonu ne yapar?
Belirtilen connection'ın aktif indeksini manuel olarak rollover eder; ILM eşiği dolmadan önce acil durumlarda kullanılabilir.
HTTPS host olmadan Encrypt Communication açılabilir mi?
Hayır, en az bir host HTTPS seçilmedikçe TLS alanları görünmez; güvenlik gereksinimi için host scheme'i güncelleyin.
ILM politikası tüm indekslere uygulanır mı?
Aynı template ve policy adıyla oluşturulan indeksler etkilenir; farklı adlar kullanırsanız manuel atama gerekir.
Monitor ekranındaki thread pool verileri neyi gösterir?
Elasticsearch node'larının bulk/search/ingest queue uzunluklarını, rejection sayılarını ve aktif thread sayısını gösterir; performans tuning için kullanılır.
Aynı connection'ı birden fazla Integration Flow'da kullanabilir miyim?
Evet, aynı connection birden fazla Integration Flow veya Connector adımında kullanılabilir. Bu merkezi yönetim sağlar ve konfigürasyon tutarlılığını garanti eder. Ancak connection'da yapılan değişiklikler tüm kullanım yerlerini etkileyeceği için dikkatli olunmalıdır.
Connection pool boyutu ayarlanabilir mi?
Hayır. Apinizer, Elasticsearch bağlantıları için connection pool'u her zaman otomatik olarak kullanır (host başına 20 bağlantı; toplam limit host sayısıyla orantılı büyür). Pool boyutu veya idle bağlantı ayarları ekrandan yapılandırılamaz.
Test ve Production için farklı connection'lar mı oluşturmalıyım?
Evet, her ortam için ayrı connection oluşturmanız önerilir. Alternatif olarak environment parametresini kullanarak tek connection içinde tüm ortamları yönetebilirsiniz. Bu yaklaşım daha kolay yönetim ve daha az hata riski sağlar.
Test Connection başarılı ama Integration Flow'da çalışmıyor, neden?
Birkaç neden olabilir:
- Connection enable toggle'ı pasif olabilir
- Integration adımında farklı bir connection seçili olabilir
- Connection deploy edilmemiş olabilir
- Integration Flow henüz redeploy edilmemiş olabilir
Live Check butonu ne işe yarar?
ILM Policy, Index Template ve Data Stream'in Elasticsearch cluster'ında gerçekten var olup olmadığını sorgular ve bağlantı kaydını bu gerçek durumla senkronlar. Bağlantı farklı bir Elasticsearch cluster'ına yönlendirildiğinde, göstergelerin eski cluster'a ait durumu göstermeye devam etmesini önler. Kontrol sırasında cluster'a erişilemezse hata mesajı gösterilir ve kayıtlı göstergeler sıfırlanmadan olduğu gibi kalır — geçici bir kesinti "yok" anlamına gelmez.
Data Stream göstergesine tıklayarak data stream oluşturabilir miyim?
Hayır. ILM Policy ve Index Template göstergelerinin aksine Data Stream göstergesi yalnızca durumu gösterir, tıklanamaz. Data stream, ILM Policy ve Index Template hazır olduğunda Save and Deploy sırasında otomatik oluşturulur; mevcut durumu görmek için Live Check butonunu kullanabilirsiniz.