Ana içeriğe geç

Elasticsearch

Son Güncelleme: 15 Kasım 2025

Hedef Kitle: Sistem Yöneticileri, Backend Geliştiriciler, DevOps Mühendisleri, Entegrasyon Uzmanları

AlanDeğer
Connection AdıElasticsearch Connection (Bağlantı)
ÖzetREST tabanlı Elasticsearch cluster erişimi ve log indeks otomasyonunu yönetir
KategoriDatabase
ProtocolREST
Desteklenen OrtamlarDevelopment, Test, Production

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

Bağlantı Başlatma: Integration Flow veya Connector içerisinden Elasticsearch Connection (Bağlantı) talep edildiğinde, sistem yapılandırılmış connection parametrelerini okur.

Connection Pool Yönetimi: HTTP client, kod içinde sabit değerlerle çalışan bir bağlantı havuzu kullanır (host başına 20 eşzamanlı bağlantı, toplamda 20 × host sayısı); bu havuz büyüklüğü connection formundan ayarlanamaz.

Kimlik Doğrulama: Basic Authentication sağlandığında kullanıcı adı/şifre gönderilir; aksi halde anonim erişim veya IP tabanlı güvenlik kullanılır.

Veri İletişimi: REST endpoint'lerine HTTP/HTTPS üzerinden JSON gövdeli CRUD istekleri gönderilir; keep-alive süresi sabit 30 saniyedir (ayrı bir "Socket Keep Alive" veya "Socket Reuse Address" alanı yoktur).

Bağlantı Yönetimi: İşlem tamamlanınca bağlantı pool'a geri döner; inaktivite sonrası doğrulama süresi 10 saniye, bağlantı yaşam süresi (TTL) 3 dakikadır (bunlar da sabit değerlerdir).

Hata Yönetimi: Bağlantı hatası, timeout veya authentication hatasında Apinizer Message Service bilgilendirme üretir; deployment result diyalogunda detay gösterilir. Log yazımı sırasında Worker'da oluşan hatalar (bkz. "Asenkron Yazım ve Failover Davranışı" bölümü) failover connector'ı tetikler.

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

Çoklu Host Yönetimi: HTTP/HTTPS scheme, host ve port kombinasyonları ile cluster node'ları arasında yük dağıtımı sağlar.

Index Şablonu Otomasyonu: Shard/replica sayıları ve refresh interval değerleri UI üzerinden yönetilir.

İdari İşlemler: 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 (bkz. "Bağlantı Listesindeki Durum Göstergeleri ve Canlı Durum Kontrolü").

Ortam Bazlı Yapılandırma: Her ortam (Development, Test, Production) için ayrı connection parametreleri tanımlama imkanı.

Enable/Disable Kontrolü: 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

İndeks Yaşam Döngüsü Düzenleyicisi: Hot/Warm/Cold/Delete fazları için yaş, boyut ve replikasyon eşikleri modal üzerinden kontrol edilir.

TLS Sertifika Esnekliği: PKCS#12 veya PEM tabanlı CA/keystore dosyaları yüklenerek SSL/TLS iletişimi güvenceye alınır.

Okuma/Yazma Modu: READ_WRITE modunda administrate işlemleri aktif, READ modunda yalnızca sorgu yapılır.

Connection Test Özelliği: "Test Connection" butonu ile bağlantı parametrelerini kaydetmeden önce doğrulama imkanı.

Export/Import Özelliği: Connection yapılandırmasını ZIP dosyası olarak export etme. Farklı ortamlara (Development, Test, Production) import etme. Versiyon kontrolü ve yedekleme imkanı.

Connection Monitoring: Bağlantı sağlığı, pool durumu ve performans metriklerini izleme.

Connection Parametreleri

Zorunlu Parametreler

ParametreAçıklamaÖrnek DeğerNotlar
NameConnection adı (benzersiz olmalı)Production_ElasticLogBoşlukla başlamaz, özel karakterler kullanılmamalı
Index NameLogların yazılacağı indeks adıapinizer-log-apiproxy-defaultAdministrate açıkken otomatik oluşturulur; çakışmalar kontrol edilir
Elastic Host (Host & Port)Her host için scheme/host/portHTTPS : es-prod-01 : 9243En az bir host zorunlu; host ve port alanları boş bırakılamaz
Connection Timeout (ms)Bağlantı kurulumu için bekleme süresi — aynı değer yanıt bekleme ve havuzdan bağlantı alma süresi için de kullanılır (bkz. "Asenkron Yazım ve Failover Davranışı")5000UI'da yalnızca zorunluluk (required) doğrulaması vardır; ayrı bir min/max sınırı yoktur
Connection TypeREAD_WRITE veya READ moduREAD_WRITEREAD seçilirse administrate devre dışı kalır
Elasticsearch Major VersionBağlanılan cluster'ın major sürümüAUTO_DETECTZorunlu alan; AUTO_DETECT veya boş bırakılırsa client varsayılan olarak ES 7 sürüm davranışına düşer

İsteğe Bağlı Parametreler

ParametreAçıklamaVarsayılan DeğerÖnerilen Değer
DescriptionConnection amacı açıklamasıBoşOperasyonel bilgi içeren kısa metin
AuthenticateBasic Authentication aç/kapatrueKimlik doğrulama gerekmiyorsa kapatılabilir
Elastic UsernameKullanıcı adıBoşAuthentication aktifse zorunlu
Elastic PasswordParolaBoşSecret manager üzerinden girilmesi önerilir
AdministrateTemplate/ILM yönetimitrue (READ_WRITE)Harici ekip yönetiyorsa kapatılabilir
Disable Hostname VerificationTLS hostname doğrulamasıAlan boş (null) bırakılır; sistem bunu etkin varsayılan true (doğrulama kapalı/gevşetilmiş) olarak yorumlarProduction'da bilinçli olarak false seçilmelidir

Index Template Parametreleri

ParametreAçıklamaVarsayılanNerede
Index Template NameOluşturulacak index template'in adıapinizer-log-apiproxy-template-defaultUI; Administrate açıkken zorunlu
indexTemplateNumberOfShardsTemplate'teki shard sayısı1UI
indexTemplateNumberOfReplicasTemplate'teki replica sayısı0UI
indexTemplateRefreshIntervalTemplate'in refresh interval değeri"5s"UI

Timeout Parametresi — Gerçek Davranış

Apinizer, bağlantı kurma / yanıt bekleme / havuzdan bağlantı alma için ayrı ayrı timeout alanları sunmaz. Tek bir Connection Timeout değeri, HTTP Client 5 üzerinde üç ayrı timeout ayarına birden uygulanır:

ParametreAçıklamaVarsayılanBirim
Connection Timeout (connectionTimeoutInMs)Bağlantı kurma (connect), yanıt bekleme (response) ve havuzdan bağlantı alma (connection request) sürelerinin üçünde birden kullanılan tek değer5000milisaniye

Davranışla ilgili bilinmesi gerekenler:

  • Ayrı bir "Request Timeout" alanı yoktur — yanıtı bekleme süresi de Connection Timeout ile aynı değeri kullanır.
  • Milisaniye cinsinden girilen değer saniyeye çevrilirken tam sayı bölmesi uygulanır (connectionTimeoutInMs / 1000).
  • Bölme sonucu 0 veya daha küçükse (yani 1000 ms'nin altındaki her değer — 0 ve negatif değerler dahil), saniye değeri otomatik olarak 5'e (5000 ms) sabitlenir. Bu bir form doğrulaması değil, tam sayı bölmesi ve kod içindeki >0 kontrolünün bir yan etkisidir — dolayısıyla 1000 ms altı bir değer girmenin pratik bir etkisi yoktur.

Sabit (Ayarlanamaz) Connection Pool Değerleri

Aşağıdaki değerler kod içinde sabittir; bu connection formu üzerinden değiştirilemez:

DeğerSabit AyarAçıklama
Host başına maksimum bağlantı20setMaxConnPerRoute(20)
Toplam bağlantı havuzu20 × host sayısısetMaxConnTotal(...)
Inaktivite sonrası doğrulama10 saniyeHavuzdan alınan bağlantı bu süreden uzun beklemişse yeniden doğrulanır
Bağlantı yaşam süresi (TTL)3 dakikaBu sürenin sonunda bağlantı havuzdan atılır
Keep-alive stratejisi30 saniyeSabit; ayrı bir "Socket Keep Alive"/"Socket Reuse Address" alanı yoktur

Yalnızca APIops İle Ayarlanabilen Parametreler

Aşağıdaki üç alan Connection UI formunda yer almaz; yalnızca APIops (Connection DTO) üzerinden ayarlanabilir ve asenkron log yazım kuyruğunun davranışını belirler:

ParametreAçıklamaVarsayılan
bulkBufferCapacityAsenkron yazım kuyruğunun (bellek içi, ArrayBlockingQueue) kapasitesi50000
bulkFlushIntervalMsKuyruğun Elasticsearch'e ne sıklıkla flush edileceği100 (ms)
bulkMaxBatchSizeTek bir _bulk çağrısında gönderilecek maksimum kayıt sayısı2500

Asenkron Yazım ve Failover Davranışı

Elasticsearch connection'ı log yazarken istek iş parçacığını bekletmez; yazım tamamen asenkron ilerler:

  • index* metodları, kaydı kapasitesi bulkBufferCapacity olan bellek içi bir kuyruğa (ArrayBlockingQueue) bırakıp hemen döner — isteği işleyen thread Elasticsearch'in yanıtını beklemez.
  • Kuyruktaki kayıtlar, adı es-bulk-flusher- ile başlayan ayrı bir zamanlanmış thread havuzu tarafından her bulkFlushIntervalMs milisaniyede bir, en fazla bulkMaxBatchSize kayıtlık _bulk çağrılarıyla Elasticsearch'e gönderilir.
  • Bu flusher yalnızca Worker sürecinde başlar. Manager sürecinde asenkron log yazımı yoktur; Manager'ın Elasticsearch çağrıları (rapor/sorgu ekranları) tamamen senkrondur ve Connection Timeout bu sorguların üst sınırını doğrudan belirler.
  • Sonuç olarak Connection Timeout, log yazan istek thread'ini değil; Worker'daki flusher thread'ini veya Manager'daki rapor sorgusunu bağlar.
  • Failover: Bulk çağrısı herhangi bir nedenle başarısız olursa (bağlantı kurulamaması, yanıt timeout'u, kuyruğun dolması vb.) kayıt otomatik olarak yapılandırılmış failover connector'a gönderilir. Failover yalnızca "hiç bağlanamama" durumunda değil, timeout dahil her hata türünde tetiklenir.

Kullanım Senaryoları

SenaryoDurumÇözüm (Connection Yapılandırması)Beklenen Davranış / Sonuç
Yüksek Hacimli Log YazımıDakikada milyonlarca log girişiREAD_WRITE, administrate açık, APIops ile bulkBufferCapacity ve bulkMaxBatchSize trafiğe göre artırılır, ILM rollover eşikleri sıkılaştırılırAsenkron kuyruk taşmadan işlenir, ILM otomatik rollover yapar; kuyruk yine de dolarsa kayıtlar failover connector'a düşer
Raporlama KümesiSalt okuma sorgularıREAD, administrate kapalı, authentication=trueCluster sadece sorgu alır, yönetim işlemleri engellenir
Çoklu Host Failoverİki veri merkeziİki HTTPS host, encrypt communication + PKCS#12 CATrafik otomatik olarak sağlıklı host'a yönelir
Şema GüncellemesiYeni alanlar eklendiTemplate adı ve shard/replica güncellenip "Create Index Template" çalıştırılırYeni indexler güncel şema ile açılır
Veri Saklama Politikası90 gün üstü loglar silinecekILM delete fazı aktif, minAgeOfDelete=90Eski indexler otomatik temizlenir
Güvenli TünelTLS zorunlu, internal CAEncrypt communication açık, CA_IN_PEM_FILE yüklenirSertifikalarla güvenli bağlantı sağlanır

Connection Yapılandırma

Bu adımda, kullanıcı yeni bir connection oluşturabilir ya da mevcut connection parametrelerini yapılandırarak bağlantı kurallarını belirleyebilir. Tanımlanan parametreler, connection'ın çalışma şeklini doğrudan etkiler ve Integration Flow veya Connector adımlarında kullanılabilir hale gelir.

Yeni Elasticsearch Connection Oluşturma

Image 2024 9 9 15 35 35 Pn

Yapılandırma Adımları

Oluşturma Sayfasına Gitme
  • 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.
Temel Bilgileri Girme

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.
Environment (Ortam) Seçimi
  • 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.
Elasticsearch Host Parametreleri

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.
Index Template ve ILM Yapılandırması

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.
Timeout Ayarı ve Connection Pool

Connection Timeout:

  • Connection Timeout (ms) alanına bağlantı kurulumu için bekleme süresini girin.
  • Varsayılan: 5000 milisaniye.
  • Form yalnızca alanın doldurulmuş olmasını zorunlu kılar; ayrı bir minimum/maksimum sınır doğrulaması yoktur.
  • Bu tek değer üç ayrı süreyi birden belirler: bağlantı kurma (connect), Elasticsearch yanıtını bekleme (response) ve havuzdan bağlantı alma (connection request). Ayrı bir "Request Timeout" alanı yoktur.
  • 1000 ms'nin altındaki değerler (0 ve negatif dahil) tam sayı bölmesi nedeniyle otomatik olarak 5000 ms'ye döner — bu nedenle çok düşük bir değer girmenin pratik bir etkisi olmaz.

Connection Pool (Sabit Değerler):

  • Bu formda ayarlanabilir bir "IO Threads", "Max Connection Per Host" veya "Max Connection Total" alanı yoktur.
  • Bağlantı havuzu kod içinde sabittir: host başına 20 eşzamanlı bağlantı, toplamda 20 × host sayısı.
  • Keep-alive süresi sabit 30 saniyedir; ayrı bir "Socket Keep Alive" veya "Socket Reuse Address" toggle'ı yoktur.

Asenkron Yazım Ayarları (yalnızca APIops):

  • bulkBufferCapacity, bulkFlushIntervalMs ve bulkMaxBatchSize alanları bu UI formunda görünmez; yalnızca APIops üzerinden ayarlanabilir.
  • Bu değerler, log kayıtlarının Worker'da asenkron olarak Elasticsearch'e nasıl toplu (bulk) gönderileceğini belirler (bkz. "Asenkron Yazım ve Failover Davranışı" bölümü).
Güvenlik ve Authentication Ayarları

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 hesabınızın 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.
Test Connection (Bağlantı Testi)
  • 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.
Kaydetme ve Deploy Etme
  • 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

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.

Gösterge / ButonGörünürlükAçıklama
ILM Policy GöstergesiAdministrate aktif + Connection Type = READ_WRITEYeşil onay: policy Elasticsearch'te oluşturulmuş; kırmızı: oluşturulmamış. Tıklanarak yeniden oluşturma denenebilir
Index Template GöstergesiAdministrate aktif + Connection Type = READ_WRITEYeşil onay: template Elasticsearch'te oluşturulmuş; kırmızı: oluşturulmamış. Tıklanarak yeniden oluşturma denenebilir
Data Stream GöstergesiAdministrate aktif + Connection Type = READ_WRITEYeşil onay: data stream Elasticsearch'te oluşturulmuş; kırmızı: oluşturulmamış. Tıklanamaz — ILM Policy ve Index Template hazır olduğunda data stream Save and Deploy sırasında otomatik oluşturulur
Live Check ButonuHer satırda (Administrate ayarından bağımsız)Tıklandığında ILM Policy, Index Template ve Data Stream'in Elasticsearch cluster'ında gerçekten var olup olmadığı sorgulanır; bağlantı kaydı bu gerçek durumla güncellenir, son kontrol zamanı butonun altında görüntülenir. Bağlantı pasif (Disabled) durumdayken çalıştırılamaz

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 kalabilir.

Live Check tamamlanamazsa (örneğin cluster'a erişilemiyorsa) hata mesajı gösterilir, ancak kayıtlı göstergeler ve son kontrol zamanı değiştirilmez — erişilemeyen bir cluster "yok" anlamına gelmez.

Connection'ı Silme

Bölüm / AdımAçıklama ve İşlevler
Silme İşlemiSatır sonundaki menüsünden Delete seçin veya connection detay sayfasında [Delete] butonuna tıklayın
Silme İpuçları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
Alternatif: Deaktif EtmeSilmek yerine Disable seçeneğini kullanın. Connection pasif olur ancak silinmez. Gerektiğinde 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.

Bölüm / AdımAçıklama ve İşlevler
Dışa Aktarma (Export)Yöntem 1: Eylem menüsünden ⋮ → Export seçin. ZIP dosyası otomatik indirilir. Yöntem 2: Connection detay sayfasında [Export] butonuna tıklayın. ZIP dosyası indirilir
Dosya FormatıFormat: Tarih-connection-ConnectionAdı-export.zip. Örnek: `13 Nov 2025-connection-Production_ElasticLog-export.zip`
ZIP İçeriğiConnection JSON dosyası, Metadata bilgileri, Bağımlılık bilgileri (örneğin sertifikalar, key store)
Kullanım Alanları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
İçe Aktarma Senaryoları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ı

Bu adımda kullanıcı, oluşturduğu Elasticsearch connection'ını sistemin farklı bileşenlerinde kullanabilir. Connection'lar Integration Flow, Connector adımları veya Scheduled Job'larda seçilerek kullanılır.

Kullanım YeriAçıklama ve İşlevler
Connection Oluşturma ve Aktif EtmeAdımlar: 1. Connection'ı oluşturun. 2. Test Connection ile bağlantıyı doğrulayın. 3. Save and Deploy ile kaydedin ve etkinleştirin. 4. Connection'ın Enabled durumda olduğundan emin olun
Integration / Connector Adımlarında KullanımElasticsearch 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
Scheduled Job KullanımıZamanlanmış görevlerde (ör. belirli aralıklarla mesaj gönderme, dosya işleme vb.) bağlantı seçilerek dış sistemlere erişim sağlanır. Connection değiştiğinde, job çalışma davranışı da buna göre güncellenir
Test Amaçlı KullanımConnection 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

KategoriAçıklama / Öneriler
Index İsimlendirmeKötü: index1. İyi: log-prod. En İyi: `prod-apiproxy-log-{yyyy.MM.dd}`
ILM Politikaları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
TLS Sertifika YönetimiKötü: Tüm ortamda aynı sertifikayı paylaşmak. İyi: Ortam bazlı sertifika yüklemek. En İyi: Sertifika rotasyonunu otomasyonla planlamak ve expiration alarmları kurmak
Connection Türü SeçimiKö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
Ortam YönetimiKö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
Connection TestKö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ı

Güvenlik AlanıAçıklama / Uyarılar
Erişim SegmentasyonuProduction cluster için ayrı connection ve RBAC kullanıcıları oluşturun; erişim tokenlarını paylaşmayın
Dosya YükleriPKCS#12/PEM dosyalarını versiyon kontrolüne koymayın; secret storage üzerinden yükleyin
Hostname DoğrulamaDisable Hostname Verification yalnızca test için kullanılmalı; production'da false bırakılması önerilir
Kimlik Bilgileri YönetimiKullanı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
SSL/TLS Kullanımı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
Erişim Kontrolü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

KategoriAçıklama / Uyarılar
İndex Adı Yeniden KullanımıNeden kaçınılmalı: Aynı template'i paylaşan indekslerde çakışma yaratır. Alternatif: Proje bazlı prefix kullanın
Eksik Host TanımıNeden kaçınılmalı: Tek host arızasında tüm akış durur. Alternatif: En az iki host girin, health check izleyin
İzin Verilmeyen TLS TipleriNeden kaçınılmalı: Yanlış dosya tipi handshake başarısızlığına yol açar. Alternatif: HTTPS seçimine uygun sertifika paketini kullanın
Production Connection'ı Test Ortamında KullanmaNeden 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_)
Çok Düşük Timeout DeğerleriNeden kaçınılmalı: 1000 ms altındaki değerler zaten otomatik olarak 5000 ms'ye döner (bkz. Timeout bölümü); asıl risk normal aralıkta ama gerçek ağ gecikmesine göre çok düşük seçilen bir değerin yavaş ağlarda sürekli timeout üretmesidir. Alternatif: Gerçek network latency'yi ölçün ve Connection Timeout'u buna göre belirleyin; bu değerin aynı zamanda yanıt bekleme süresini de kapsadığını unutmayın
Asenkron Yazım Kuyruğunu Trafiğe Göre AyarlamamakNeden kaçınılmalı: bulkBufferCapacity trafiğe göre düşük kalırsa yoğun anlarda kuyruk dolar ve kayıtlar hedef indekse değil failover connector'a yazılır. Alternatif: APIops üzerinden bulkBufferCapacity/bulkMaxBatchSize/bulkFlushIntervalMs değerlerini trafik hacmine göre ayarlayın, failover connector'a düşen kayıtları izleyin

Performans İpuçları

KriterÖneri / Etki
Shard/Replica PlanlamasıÖ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
ILM Faz SüreleriÖneri: Hot fazı kısa, cold fazı uzun tutarak depolama maliyetini azaltın. Etki: Pahalı düğümlerde gereksiz veri tutulmaz
Thread Pool İzlemeÖneri: Monitor ekranının Thread Pools sekmesinden Elasticsearch node'larının bulk/search queue uzunluklarını ve rejected sayılarını takip edin; kuyruk sürekli doluyorsa cluster kapasitesini artırın veya APIops ile bulkMaxBatchSize/bulkFlushIntervalMs değerlerini trafiğe göre ayarlayın. Etki: Kuyrukta bekleyen istek sayısı azalır
Connection PoolNot: Bağlantı havuzu (host başına 20, toplam = 20 × host sayısı) koddan gelen sabit değerlerdir ve bu formdan değiştirilemez. Yüksek hacimli yazımda gerçek performans kaldıracı, APIops ile ayarlanan bulkBufferCapacity/bulkMaxBatchSize/bulkFlushIntervalMs değerleridir. Etki: Asenkron kuyruk trafiğe göre boyutlandırılır, taşma riski azalır
Timeout Değeri OptimizasyonuÖneri: Gerçek network latency'yi ölçün, Connection Timeout değerini buna göre ayarlayın; bu tek değerin bağlantı kurma, yanıt bekleme ve havuzdan bağlantı alma sürelerinin üçünde birden kullanıldığını unutmayın. Etki: Gereksiz beklemeler önlenir, hızlı failover sağlanır, kullanıcı deneyimi iyileşir
Connection MonitoringÖ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)

ProblemOlası NedenlerÇözüm Adımları
Index Template OluşmuyorAdministrate kapalı, Template adı çakışıyor, Elasticsearch kullanıcı yetkisi yetersiz1. Administrate'i etkinleştirin. 2. Template adını değiştirin. 3. Kullanıcıya manage_index_templates yetkisi verin
ILM Policy KaydedilmiyorPolicy adı mevcut, Hot phase devre dışı, UI modalı kapatılmamış1. Policy adını benzersiz yapın. 2. Hot fazı etkinleştirin. 3. Modalda Save'e basıp tekrar deneyin
Connection TimeoutNetwork gecikmesi, Hedef sistem yavaş yanıt veriyor, Timeout değeri çok düşük (unutmayın: aynı değer bağlantı kurma + yanıt bekleme + havuzdan bağlantı alma için birden kullanılır)1. Network connectivity kontrol edin. 2. Hedef sistem sağlığını kontrol edin. 3. Connection Timeout değerini artırın (1000 ms altı değerlerin otomatik 5000 ms'ye döndüğünü unutmayın). 4. Connection loglarını inceleyin
Authentication FailedYanlış kullanıcı adı/şifre, Expired credentials, Yetki problemi1. Kimlik bilgilerini doğrulayın. 2. Hedef sistemde kullanıcının aktif olduğunu kontrol edin. 3. Gerekli yetkilerin verildiğini kontrol edin. 4. SSL/TLS sertifikalarını kontrol edin
Asenkron Yazım Kuyruğu DoluyorbulkBufferCapacity trafiğe göre düşük kalmış, Elasticsearch cluster yavaş yanıt veriyor, Flusher kuyruğa yetişemiyor1. APIops ile bulkBufferCapacity/bulkMaxBatchSize değerlerini artırın. 2. Elasticsearch cluster sağlığını ve yanıt sürelerini kontrol edin. 3. Kayıtların failover connector'a düştüğünü doğrulayın (kuyruk dolması da failover'ı tetikler). 4. apinizer_es_log_buffer_size / apinizer_es_log_buffer_capacity metriklerini izleyin
Connection Test Başarılı Ama Entegrasyon Akışı Hata VeriyorIntegration/Connector adımında farklı connection seçili olabilir, Adım yanlış yapılandırılmış olabilir, Flow/Job redeploy edilmemiş olabilir1. Connection'ın enable toggle'ının aktif olduğunu kontrol edin. 2. Integration Flow'da doğru connection'ın seçildiğini doğrulayın. 3. Connection'ı tekrar deploy edin. 4. Integration Flow veya Job'ı redeploy edin. 5. Gateway loglarını kontrol edin

Sık Sorulan Sorular (SSS)

KategoriSoru (S)Cevap (C)
Genelİ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
GenelRollover butonu ne yapar?Belirtilen connection'ın aktif indeksini manuel olarak rollover eder; ILM eşiği dolmadan önce acil durumlarda kullanılabilir
TeknikHTTPS 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
TeknikILM 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
KullanımMonitor 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
GenelAynı 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
TeknikConnection pool'u kapatabilir miyim?Hayır. Elasticsearch connection'ı için bağlantı havuzu her zaman aktiftir ve kod içinde sabit değerlerle çalışır (host başına 20 bağlantı, toplam = 20 × host sayısı); kullanıcı tarafından kapatılamaz veya bu formdan değiştirilemez
KullanımTest 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
TeknikTest Connection başarılı ama Integration Flow'da çalışmıyor, neden?Birkaç neden olabilir: 1) Connection enable toggle'ı pasif olabilir, 2) Integration adımında farklı bir connection seçili olabilir, 3) Connection deploy edilmemiş olabilir, 4) Integration Flow henüz redeploy edilmemiş olabilir
TeknikLive 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
TeknikLive Check hata verdi, durum göstergelerim sıfırlandı mı?Hayır. Kontrol sırasında cluster'a erişilemezse hata mesajı gösterilir, ancak önceden kayıtlı göstergeler ve son kontrol zamanı değiştirilmeden kalır; erişilemiyor olmak "yok" anlamına gelmez
TeknikData 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 butonu kullanılabilir