> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apinizer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Syslog 

> Syslog bağlantı yapılandırması yapar. Syslog sunucularına syslog mesajları gönderebilir, TCP/UDP protokolleri üzerinden merkezi log sunucularına RFC standartlarında güvenli log iletimi gerçekleştirebilir

## Genel Bakış

<AccordionGroup>
  <Accordion title="Amacı Nedir?">
    <CardGroup cols={2}>
      <Card title="Merkezi Log Aktarımı" icon="file-lines">
        Connection (Bağlantı) üzerinden Apinizer loglarını merkezi bir syslog kolektörüne düşük gecikmeli olarak aktarır.
      </Card>

      <Card title="Esnek Log Taşıma" icon="arrows-rotate">
        TCP/UDP, TLS ve mesaj formatı seçenekleriyle farklı kurum standartlarına uyumlu log taşıma esnekliği sunar.
      </Card>

      <Card title="Ortam Bazlı Yapılandırma" icon="code-branch">
        Ortam bazlı yapılandırma ile Development/Test/Production ayrımını korurken ortak isimlendirme ve versiyonlama sağlar.
      </Card>

      <Card title="Güvenlik Uyarısı" icon="shield">
        UDP modunda iletilen loglar için teslim garantisi yoktur; kritik akışlar için TCP + SSL/TLS tercih edin.
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Çalışma Prensibi">
    <CardGroup cols={2}>
      <Card title="Bağlantı Başlatma" icon="play">
        Integration Flow veya Connector içerisinden Syslog bağlantısı talep edildiğinde, sistem yapılandırılmış connection parametrelerini okur.
      </Card>

      <Card title="Connection Pool Yönetimi" icon="layer-group">
        TCP modunda her ortam için kalıcı bir soket açılır; log mesajları asenkron olarak kuyruğa alınır ve sırayla gönderilir. Kuyruk dolduğunda yeni mesajlar failover connector'a yönlendirilir. Aktif bağlantı kapandığında veya yazma zamanaşımı aşıldığında otomatik yeniden bağlanma uygulanır; UDP modunda stateless gönderim yapılır.
      </Card>

      <Card title="Kimlik Doğrulama" icon="key">
        TLS kullanılıyorsa sertifika tabanlı Authentication uygulanır, aksi durumda syslog sunucusunun IP tabanlı güvenlik politikaları devreye girer.
      </Card>

      <Card title="Veri İletişimi" icon="arrows-rotate">
        Seçilen protokol üzerinden RFC 3164/5424/5425 formatında log mesajları, hostname ve facility/severity alanları iletilir.
      </Card>

      <Card title="Bağlantı Yönetimi" icon="gear">
        İşlem tamamlandıktan sonra TCP bağlantısı pool'a geri döner, UDP paketleri stateless olduğu için ek yönetim gerekmez.
      </Card>

      <Card title="Hata Yönetimi" icon="circle-exclamation">
        Bağlantı hatası, timeout veya authentication hatası durumunda deployment-result diyaloğunda detaylar gösterilir; hata metric'leri Apinizer Event Manager üzerinden yayılır.
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Kullanım Alanları">
    <CardGroup cols={2}>
      <Card title="SIEM/SOC Entegrasyonu" icon="shield">
        API Gateway loglarının SIEM veya SOC platformlarına gerçek zamanlı aktarılması
      </Card>

      <Card title="Güvenlik Olayları" icon="exclamation-triangle">
        Güvenlik olaylarının (ör. WS-Security, Authentication hataları) merkezi alarm sistemine bildirilmesi
      </Card>

      <Card title="Log Korelasyonu" icon="puzzle-piece">
        İşletim sistemleri, firewall ve Apinizer servisleri arasındaki log korelasyonu için tekil log akışının sağlanması
      </Card>

      <Card title="Test ve Doğrulama" icon="flask">
        Test ortamında yeni kural/dönüşüm geliştirmelerini prod ortamındaki syslog altyapısını etkilemeden doğrulama
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

## Teknik Özellikler ve Yetenekler

<AccordionGroup>
  <Accordion title="Temel Özellikler">
    <CardGroup cols={2}>
      <Card title="Çift Protokol Desteği" icon="network-wired">
        **TCP/UDP:** EnumSyslogProtocolType sayesinde düşük gecikmeli UDP veya güvenilir TCP modları arasında seçim yapılabilir.
      </Card>

      <Card title="Format ve Metadata Esnekliği" icon="file-code">
        RFC 3164, RFC 5424 veya RFC 5425 formatları; hostname, facility ve severity alanlarıyla uyumlu log şablonu oluşturulur.
      </Card>

      <Card title="Ortam ID Bazlı Yönlendirme" icon="route">
        environmentId listesi üzerinden her Connection için hedef Ortam seçilerek farklı syslog uçlarına yönlendirme yapılır.
      </Card>

      <Card title="Ortam Bazlı Yapılandırma" icon="code-branch">
        Her ortam (Development, Test, Production) için ayrı connection parametreleri tanımlama imkanı.
      </Card>

      <Card title="Enable/Disable Kontrolü" icon="toggle-on">
        Connection'ı aktif veya pasif hale getirme (enable/disable toggle). Pasif durumda bağlantı kullanılamaz ancak yapılandırması saklanır.
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="İleri Düzey Özellikler">
    <CardGroup cols={2}>
      <Card title="Dinamik Deployment Sonuçları" icon="rocket">
        Kaydetme ve test sonrası IDeploymentResult çıktıları kullanıcıya gösterilir, log akışının gerçek durumu anında izlenir.
      </Card>

      <Card title="Move to Global" icon="globe">
        Admin kullanıcıları connection'ı proje bağlamından çıkarıp global alana taşıyabilir, böylece tekrar kullanım kolaylaşır.
      </Card>

      <Card title="Toplu İçe/Dışa Aktarım" icon="file-zipper">
        ExportFile yapısı ile JSON + metadata paketlenerek başka ortamlara aktarılabilir.
      </Card>

      <Card title="Connection Test Özelliği" icon="flask">
        "Test Connection" butonu ile bağlantı parametrelerini kaydetmeden önce doğrulama imkanı.
      </Card>

      <Card title="Export/Import Özelliği" icon="arrows-rotate">
        Connection yapılandırmasını ZIP dosyası olarak export etme. Farklı ortamlara (Development, Test, Production) import etme. Versiyon kontrolü ve yedekleme imkanı.
      </Card>

      <Card title="Connection Monitoring" icon="chart-line">
        Bağlantı sağlığı, pool durumu ve performans metriklerini izleme.
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

## Connection Parametreleri

<AccordionGroup>
  <Accordion title="Zorunlu Parametreler">
    <CardGroup cols={2}>
      <Card title="Name" icon="tag">
        **Parametre:** Name

        **Örnek Değer:** Production\_Syslog

        Connection adı (benzersiz olmalı). Boşlukla başlamaz, özel karakterler kullanılmamalı.
      </Card>

      <Card title="Environment (Ortam)" icon="server">
        **Parametre:** Environment (Ortam)

        **Örnek Değer:** prod-env-id

        Logların hedefleneceği yayınlanmış ortamın kimliği. Ortam listesi Environment Service üzerinden gelir, seçim yapılmazsa test edilemez.
      </Card>

      <Card title="Syslog Protocol Type" icon="network-wired">
        **Parametre:** Syslog Protocol Type

        **Örnek Değer:** TCP

        EnumSyslogProtocolType üzerinden TCP veya UDP seçimi. TCP seçildiğinde timeout ve SSL ayarları zorunlu olur.
      </Card>

      <Card title="Syslog Server Hostname" icon="server">
        **Parametre:** Syslog Server Hostname

        **Örnek Değer:** syslog.corp.local

        Logların gönderileceği syslog sunucu adı veya IP'si. FQDN önerilir, DNS çözümlemesi gateway tarafından yapılır.
      </Card>

      <Card title="Syslog Port" icon="plug">
        **Parametre:** Syslog Port

        **Örnek Değer:** 514

        Syslog dinleme portu. UDP için 514, TLS için 6514 yaygın kullanılabilir.
      </Card>

      <Card title="Syslog Message Format" icon="file-code">
        **Parametre:** Syslog Message Format

        **Örnek Değer:** RFC\_3164

        Mesaj gövdesi şablonu (RFC 3164/5424/5425). SIEM beklentisine göre seçilmelidir.
      </Card>

      <Card title="Syslog App Name" icon="tag">
        **Parametre:** Syslog App Name

        **Örnek Değer:** ApinizerGateway

        Mesajlarda görünecek uygulama adı. 48 karakteri aşmaması önerilir.
      </Card>

      <Card title="Syslog Facility" icon="folder">
        **Parametre:** Syslog Facility

        **Örnek Değer:** AUDIT

        Log sınıflandırma değeri. EnumSyslogFacility değerleri ile sınırlıdır.
      </Card>

      <Card title="Syslog Severity" icon="exclamation-triangle">
        **Parametre:** Syslog Severity

        **Örnek Değer:** INFORMATIONAL

        Log önem seviyesi. EnumSyslogSeverity listesinden seçilir.
      </Card>

      <Card title="Syslog Timeout (TCP)" icon="clock">
        **Parametre:** Syslog Timeout (TCP)

        **Örnek Değer:** 5000

        TCP el sıkışması + ACK için milisaniye cinsinden bekleme. UDP modunda gösterilmez, TCP modunda zorunludur.
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="İsteğe Bağlı Parametreler">
    <CardGroup cols={2}>
      <Card title="Description" icon="file-lines">
        **Parametre:** Description

        **Varsayılan Değer:** -

        **Önerilen Değer:** Kullanım amacı ve hedef syslog kümesini belirtin

        Connection hakkında açıklama
      </Card>

      <Card title="Syslog Message Hostname" icon="server">
        **Parametre:** Syslog Message Hostname

        **Varsayılan Değer:** gateway01

        **Önerilen Değer:** Her ortam için farklı hostname kullanarak korelasyonu kolaylaştırın

        Log içindeki HOSTNAME alanını override eder.
      </Card>

      <Card title="Syslog SSL Enabled" icon="lock">
        **Parametre:** Syslog SSL Enabled

        **Varsayılan Değer:** false

        **Önerilen Değer:** Production'da true, Test/Dev'de gerekirse self-signed

        TCP üzerinden TLS kapsülleme sağlar.
      </Card>

      <Card title="Deploy To Worker" icon="rocket">
        **Parametre:** Deploy To Worker

        **Varsayılan Değer:** true

        **Önerilen Değer:** Ağ izolasyonu varsa true bırakın

        Bağlantının worker node'lara dağıtılıp dağıtılmayacağı.
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

### Timeout ve Connection Pool Parametreleri

<CardGroup cols={2}>
  <Card title="Connection Timeout" icon="clock">
    **Açıklama:** TCP modunda syslogTimeout değeri\
    **Varsayılan:** 5000\
    **Min:** 1000 | **Max:** 60000\
    **Birim:** milisaniye
  </Card>

  <Card title="Request Timeout" icon="hourglass">
    **Açıklama:** Integration adımının genel istek bekleme süresi (gateway ayarı)\
    **Varsayılan:** 15000\
    **Min:** 5000 | **Max:** 60000\
    **Birim:** milisaniye
  </Card>

  <Card title="Pool Size" icon="layer-group">
    **Açıklama:** Syslog connection pool'daki maksimum TCP soketi\
    **Varsayılan:** 1\
    **Min:** 1 | **Max:** 5\
    **Birim:** adet
  </Card>

  <Card title="UDP Burst Interval" icon="repeat">
    **Açıklama:** UDP modunda ardışık paketler arası gecikme önerisi\
    **Varsayılan:** 0\
    **Min:** 0 | **Max:** 100\
    **Birim:** milisaniye
  </Card>

  <Card title="Kuyruk Kapasitesi" icon="list-ol">
    **Açıklama:** TCP asenkron gönderim kuyruğundaki maksimum log mesajı sayısı. Kuyruk dolduğunda yeni mesajlar failover connector'a yönlendirilir.\
    **Varsayılan:** 10000\
    **Min:** 100 | **Max:** 1000000\
    **Birim:** mesaj
  </Card>

  <Card title="Yazma Zamanaşımı" icon="stopwatch">
    **Açıklama:** Syslog sunucusuna bir mesajın yazılması bu süreyi aşarsa bağlantı zorla kapatılır ve yeniden kurulur.\
    **Varsayılan:** 5\
    **Min:** 1 | **Max:** 60\
    **Birim:** saniye
  </Card>
</CardGroup>

## Kullanım Senaryoları

<CardGroup cols={2}>
  <Card title="SOC Entegrasyonu" icon="shield">
    **Durum:** SOC platformu TCP + TLS ile log kabul ediyor\
    **Çözüm:** Protocol: TCP, SSL Enabled: true, Port: 6514\
    **Beklenen Davranış:** Loglar TLS üzerinden güvenli biçimde iletilir, facility/severity alanları SIEM kurallarına düşer
  </Card>

  <Card title="Ağ İzleme" icon="network-wired">
    **Durum:** Firewall loglarıyla korelasyon için hızlı UDP gerekiyor\
    **Çözüm:** Protocol: UDP, Port: 514, Message Format: RFC\_3164\
    **Beklenen Davranış:** Düşük gecikme ile log akışı yapılır, paket kaybı toleranslıdır
  </Card>

  <Card title="Uygulama Debug" icon="flask">
    **Durum:** Test ortamında ayrıntılı debug logu isteniyor\
    **Çözüm:** Severity: DEBUG, Facility: LOCAL0, Message Hostname: test-gw\
    **Beklenen Davranış:** Test syslog sunucusu ayrıntılı debug olaylarını alır
  </Card>

  <Card title="Uyumluluk Denetimi" icon="shield-check">
    **Durum:** Denetim ekipleri audit trail talep ediyor\
    **Çözüm:** Facility: AUDIT, Severity: NOTICE, App Name: ComplianceGW\
    **Beklenen Davranış:** Denetim raporları için ayrıştırılmış log akışı sağlanır
  </Card>

  <Card title="Çoklu Proje Paylaşımı" icon="share">
    **Durum:** Birden fazla proje aynı global syslog'u kullanacak\
    **Çözüm:** Move to Global, Environment ID: admin project, Name prefix: Global\_\
    **Beklenen Davranış:** Tek connection tüm projelerde paylaşılır, değişiklikler merkezi yönetilir
  </Card>

  <Card title="DR Senaryosu" icon="rotate">
    **Durum:** Production logları ikincil veri merkezine kopyalanacak (opsiyonel)\
    **Çözüm:** Export ZIP, Farklı ortama import, Port/Hostname DR adresine güncellenir\
    **Beklenen Davranış:** DR syslog sunucusu aynı formatta log almaya başlar
  </Card>
</CardGroup>

## Connection Yapılandırma

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

### Yeni Syslog Bağlantısı Oluşturma

<img src="https://mintcdn.com/apinizer/YX1NcEKlSBeHefxE/images/yonetici/baglantilar/syslog-variable-new.png?fit=max&auto=format&n=YX1NcEKlSBeHefxE&q=85&s=563661bb993b0d3ace0073bb4194fa3c" alt="Image 2024 9 9 15 35 35 Pn" width="1000" className="mr-auto" data-path="images/yonetici/baglantilar/syslog-variable-new.png" />

<Steps>
  <Step title="Oluşturma Sayfasına Gitme">
    * Sol menüden **Connection → Syslog Bağlantısı** bölümüne gidin.
    * Sağ üstteki **\[+ Create]** butonuna tıklayın.
  </Step>

  <Step title="Temel Bilgileri Girme">
    **Enable Status (Aktif Durumu):** Toggle ile aktif/pasif durumu ayarlayın. Yeni connection'lar varsayılan olarak aktiftir.

    **Name (İsim) Zorunlu:**

    * Örnek: `Production_Syslog`
    * Benzersiz isim girin, boşlukla başlamaz.
    * Sistem otomatik kontrol eder. Yeşil tik: kullanılabilir. Kırmızı çarpı: mevcut isim.

    **Description (Açıklama):**

    * Örnek: "Gateway prod log akışı"
    * Maks. 1000 karakter.
    * Connection'ın amacını açıklayın.

    <Info>
      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](/tr/concepts/temel-kavramlar/dinamik-degiskenler) sayfasını inceleyebilirsiniz.
    </Info>
  </Step>

  <Step title="Environment (Ortam) Seçimi">
    * Dropdown menüden ortam seçin: **Development**, **Test**, veya **Production**.
    * Her ortam için farklı connection parametreleri tanımlanabilir.
  </Step>

  <Step title="Syslog Ağ Parametreleri">
    * **Syslog Protocol Type** alanından TCP veya UDP seçin.
    * **Syslog Server Hostname** ve **Syslog Port** değerlerini girin.
    * Yanlış port, log kaybına yol açar; network firewall açılışlarını doğrulayın.
  </Step>

  <Step title="Mesaj Formatı ve Metadata">
    * **Syslog Message Format** seçin (RFC 3164/5424/5425).
    * **Syslog Message Hostname**, **Syslog App Name**, **Facility** ve **Severity** alanlarını log politikanıza göre doldurun.
  </Step>

  <Step title="Timeout ve Connection Pool Ayarları">
    * TCP seçildiğinde **Syslog Timeout** değeri milisaniye cinsinden girilir (varsayılan 5000).
    * UDP modunda timeout alanı gizlenir; yüksek trafik için UDP Burst Interval önerilerini dikkate alın.
  </Step>

  <Step title="Güvenlik ve Authentication Ayarları">
    * TCP modunda **Syslog SSL Enabled** seçeneğini true yaparak TLS tünellemesi açın.
    * Sertifika zincirini syslog sunucusu ile eşleştirin; mutual TLS gerekiyorsa certificate store'dan atayın.
  </Step>

  <Step title="Test Connection">
    * **\[Test Connection]** butonuna tıklayın.
    * Bağlantı parametrelerinin doğru olup olmadığını test edin.
    * Başarılı: Yeşil onay mesajı, Başarısız: Hata detayları gösterilir.
  </Step>

  <Step title="Kaydetme">
    * Sağ üstteki **\[Save and Deploy]** butonuna tıklayın.

    **Kontrol Listesi:** Benzersiz isim. Zorunlu alanlar dolu. Test connection başarılı (önerilir)

    **Sonuç:**

    * Connection listeye eklenir.
    * Integration Flow ve Connector adımlarında kullanılabilir hale gelir.
    * Ortama göre aktif olur.

    <Check>
      Connection başarıyla oluşturuldu! Artık Integration Flow ve Connector adımlarında kullanabilirsiniz.
    </Check>
  </Step>
</Steps>

### Connection'ı Silme

Connection'ı silmek için:

<CardGroup cols={2}>
  <Card title="Yöntem 1: Liste Ekranından" icon="list">
    * Connection listesinde satır sonundaki **⋮** menüsünden **Delete** seçeneğini tıklayın.
    * Onay dialogunda silme işlemini onaylayın.
  </Card>

  <Card title="Silme İpuçları" icon="info-circle">
    **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.
  </Card>

  <Card title="Alternatif: Deaktif Etme" icon="toggle-off">
    * Silmek yerine connection'ın aktif durumunu pasif hale getirin.
    * Connection pasif olur ancak silinmez.
    * Gerektiğinde aktif hale getirerek yeniden kullanabilirsiniz.
  </Card>
</CardGroup>

### Connection'ı Dışa/İçe Aktarma

<Info>
  Bu adımda, 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 aktarabilirsiniz (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.
</Info>

<AccordionGroup>
  <Accordion title="Dışa Aktarma (Export)">
    <CardGroup cols={2}>
      <Card title="Yöntem 1: Liste Ekranından" icon="list">
        * Connection listesinde satır sonundaki **⋮** menüsünden **Export** seçeneğini tıklayın.
        * ZIP dosyası otomatik olarak indirilir.
      </Card>

      <Card title="Dosya Formatı" icon="file-zipper">
        Format: `{Date}-syslog-integration-{ConnectionName}-export.zip`\
        Örnek: `13 Nov 2025-syslog-integration-Production_Syslog-export.zip`
      </Card>

      <Card title="ZIP İçeriği" icon="folder-open">
        * Connection JSON dosyası
        * Metadata bilgileri
        * Bağımlılık bilgileri (örneğin sertifikalar, key store)
      </Card>

      <Card title="Kullanım Alanları" icon="list-check">
        * Yedekleme
        * Ortamlar arası taşıma (Test → Prod)
        * Versiyonlama
        * Ekip veya proje bazlı paylaşım
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="İçe Aktarma (Import)">
    <CardGroup cols={2}>
      <Card title="İçe Aktarma Adımları" icon="upload">
        * Ana listede **\[Import Syslog Bağlantısı]** 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.
      </Card>

      <Card title="İçe Aktarma Senaryoları" icon="info-circle">
        **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.
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

## Connection'ın Kullanım Alanları

<Info>
  Bu adımda, oluşturduğunuz **Syslog Bağlantısı** connection'ını sistemin farklı bileşenlerinde kullanabilirsiniz. Connection'lar Integration Flow, Connector adımları veya Scheduled Job'larda seçilerek kullanılır.
</Info>

<CardGroup cols={2}>
  <Card title="Connection Oluşturma ve Aktif Etme" icon="play">
    **Adı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.
  </Card>

  <Card title="Integration / Connector Adımlarında Kullanım" icon="plug">
    Syslog mesajları gönderme gerektiren adımlarda connection seçilir. Örnek: "Send Syslog Message", "Syslog Notify", "Log Forward" gibi adımlar. Bağlantı seçimi bu adımların yapılandırmasında yer alan Connection alanından yapılır.
  </Card>

  <Card title="Scheduled Job Kullanımı" icon="clock">
    Zamanlanmış görevlerde (ör. belirli aralıklarla log toplama, sağlık kontrolü bildirimleri vb.) bağlantı seçilerek syslog sunucularına erişim sağlanır. Connection değiştiğinde, job çalışma davranışı da buna göre güncellenir.
  </Card>

  <Card title="Test Amaçlı Kullanım" icon="flask">
    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.
  </Card>
</CardGroup>

## Best Practices

<AccordionGroup>
  <Accordion title="Yapılması Gerekenler ve En İyi Uygulamalar">
    <CardGroup cols={2}>
      <Card title="Log Format Yönetimi" icon="file-code">
        **Kötü:** Tüm ortamlarda varsayılan RFC 3164 kullanmak.

        **İyi:** SIEM gereksinimine göre format seçmek.

        **En İyi:** Ortam bazlı farklı formatları Export/Import ile versiyonlayıp belgelemek.
      </Card>

      <Card title="Facility/Severity Planlama" icon="slider">
        **Kötü:** Tüm logları aynı severity ile göndermek.

        **İyi:** Uyarı ve hata loglarını farklı severity'lere ayırmak.

        **En İyi:** Incident sınıflandırmasına göre facility/severity matrisini dokümante etmek.
      </Card>

      <Card title="Hostname Yönetimi" icon="server">
        **Kötü:** Varsayılan hostname değerini bırakmak.

        **İyi:** Ortam bazlı hostname kullanmak.

        **En İyi:** EnvironmentCode-gatewayId formatında isimlendirip CMDB ile eşlemek.
      </Card>

      <Card title="Adlandırma Standardı" icon="tag">
        **Kötü:** Name alanında boşluklu ve belirsiz ifadeler.

        **İyi:** Ortam prefix'i kullanmak (`Test_Syslog`).

        **En İyi:** `{Environment}_{Purpose}_{Region}` şablonunu zorunlu kılmak.
      </Card>

      <Card title="Ortam Yönetimi" icon="code-branch">
        **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.
      </Card>

      <Card title="Connection Test" icon="flask">
        **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.
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Güvenlik En İyi Uygulamaları">
    <CardGroup cols={2}>
      <Card title="Ağ Segmentasyonu" icon="shield">
        Syslog sunucusunu sadece ilgili gateway subnet'lerinden erişilebilir kılın. Firewall'da UDP/TCP 514/6514 portlarını kısıtlayın.
      </Card>

      <Card title="TLS Sertifika Yönetimi" icon="certificate">
        TLS kullanıyorsanız sertifika zincirini düzenli yenileyin; self-signed sertifikaları yalnızca Development ortamında kullanın.
      </Card>

      <Card title="Erişim Loglarının İmzalanması" icon="lock">
        Kritik loglar için RFC 5425 formatında TLS + mesaj imza mekanizması kullanarak bütünlüğü koruyun.
      </Card>

      <Card title="Kimlik Bilgileri Yönetimi" icon="key">
        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.
      </Card>

      <Card title="SSL/TLS Kullanımı" icon="lock">
        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.
      </Card>

      <Card title="Erişim Kontrolü" icon="user-shield">
        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.
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Kaçınılması Gerekenler">
    <CardGroup cols={2}>
      <Card title="UDP ile Kritik Log Gönderimi" icon="exclamation-triangle">
        **Neden kaçınılmalı:** UDP teslim garantisi vermez, paket kaybı denetlenemez.

        **Alternatif:** TCP + SSL/TLS modu kullanın.
      </Card>

      <Card title="Yanlış Facility Kullanımı" icon="exclamation-triangle">
        **Neden kaçınılmalı:** SIEM kuralları tetiklenmez, uyarılar gözden kaçar.

        **Alternatif:** Facility/severity haritasını operasyon ekibiyle doğrulayın.
      </Card>

      <Card title="Hostname Alanını Boş Bırakma" icon="exclamation-triangle">
        **Neden kaçınılmalı:** SIEM tarafında kaynak ayırt edilemez.

        **Alternatif:** Ortam + bölge + node kimliğini içeren hostname kullanın.
      </Card>

      <Card title="Production Connection'ı Test Ortamında Kullanma" icon="exclamation-triangle">
        **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_`).
      </Card>

      <Card title="Çok Düşük Timeout Değerleri" icon="exclamation-triangle">
        **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.
      </Card>

      <Card title="Connection Pool Kullanmama" icon="exclamation-triangle">
        **Neden kaçınılmalı:** Her istekte yeni bağlantı açılır, performans düşer, kaynak tüketimi artar, hedef sistem yükü artar.

        **Alternatif:** Connection pool aktif edin, pool size'ı trafik hacmine göre ayarlayın, pool monitoring kurun.
      </Card>
    </CardGroup>
  </Accordion>

  <Accordion title="Performans İpuçları">
    <CardGroup cols={2}>
      <Card title="UDP Trafik Dengeleme" icon="gauge">
        **Öneri:** UDP modunda gateway tarafında rate limiting uygulayın, gerektiğinde Burst Interval ekleyin.

        **Etki:** Hedef syslog sunucusunun buffer taşması önlenir.
      </Card>

      <Card title="TCP Yeniden Bağlanma" icon="arrows-rotate">
        **Öneri:** Timeout değerlerini 5-10 sn aralığında tutun, network kesintilerinde otomatik reconnect davranışını doğrulayın.

        **Etki:** Log teslim sürekliliği korunur.
      </Card>

      <Card title="Format Optimizasyonu" icon="file-code">
        **Öneri:** RFC 5424 yalnızca zorunluysa kullanın, aksi halde RFC 3164 ile mesaj boyutunu küçültün.

        **Etki:** Bant genişliği ve depolama maliyetleri azalır.
      </Card>

      <Card title="Connection Pool Optimizasyonu" icon="layer-group">
        **Öneri:** Pool size'ı peak trafiğe göre ayarlayın (önerilen: eşzamanlı istek sayısı × 1.5), idle connection timeout'ları belirleyin, pool health check yapın.

        **Etki:** Bağlantı açma maliyeti %80 azalır, yanıt süreleri düşer, kaynak kullanımı optimize edilir.
      </Card>

      <Card title="Timeout Değerleri Optimizasyonu" icon="clock">
        **Ö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.
      </Card>

      <Card title="Connection Monitoring" icon="chart-line">
        **Ö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.
      </Card>
    </CardGroup>
  </Accordion>
</AccordionGroup>

## Sorun Giderme (Troubleshooting)

<AccordionGroup>
  <Accordion title="TLS El Sıkışması Başarısız">
    <Warning>
      Yanlış port (6514 yerine 514), sertifika chain eksik veya syslog sunucusu TLS beklemiyor olabilir.
    </Warning>

    <Steps>
      <Step title="Port ve Protokol Doğrulama">
        Port ve protokol eşleşmesini doğrulayın.
      </Step>

      <Step title="Sertifika Güncelleme">
        Sertifika depolarını güncelleyin.
      </Step>

      <Step title="TLS Listener">
        Syslog tarafında TLS listener'ını açın.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="UDP Logları Eksik">
    <Warning>
      Network paket kaybı, firewall throttling veya fazla burst oranı olabilir.
    </Warning>

    <Steps>
      <Step title="Paket Kaybı Ölçümü">
        Paket capture yaparak kaybı ölçün.
      </Step>

      <Step title="Burst Interval">
        Burst interval ekleyin.
      </Step>

      <Step title="TCP Moduna Geçiş">
        Gerekirse TCP moduna geçin.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Connection Timeout">
    <Warning>
      Network gecikmesi, hedef sistem yavaş yanıt veriyor veya timeout değeri çok düşük olabilir.
    </Warning>

    <Steps>
      <Step title="Network Kontrolü">
        Network connectivity kontrol edin.
      </Step>

      <Step title="Sistem Sağlığı">
        Hedef sistem sağlığını kontrol edin.
      </Step>

      <Step title="Timeout Ayarları">
        Timeout değerlerini artırın.
      </Step>

      <Step title="Log İnceleme">
        Connection loglarını inceleyin.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Authentication Failed">
    <Warning>
      Yanlış kullanıcı adı/şifre, expired credentials veya yetki problemi olabilir.
    </Warning>

    <Steps>
      <Step title="Kimlik Bilgileri">
        Kimlik bilgilerini doğrulayın.
      </Step>

      <Step title="Kullanıcı Durumu">
        Hedef sistemde kullanıcının aktif olduğunu kontrol edin.
      </Step>

      <Step title="Yetki Kontrolü">
        Gerekli yetkilerin verildiğini kontrol edin.
      </Step>

      <Step title="Sertifika Kontrolü">
        SSL/TLS sertifikalarını kontrol edin.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Pool Exhausted">
    <Warning>
      Pool size çok düşük, connection leak var veya trafik çok yüksek olabilir.
    </Warning>

    <Steps>
      <Step title="Pool Size">
        Pool size'ı artırın.
      </Step>

      <Step title="Connection Kontrolü">
        Connection'ların düzgün kapatıldığını kontrol edin.
      </Step>

      <Step title="Idle Timeout">
        Idle connection timeout'ları ayarlayın.
      </Step>

      <Step title="Metrik İzleme">
        Connection kullanım metriklerini izleyin.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Connection Test Başarılı Ama Entegrasyon Akışı Hata Veriyor">
    <Warning>
      Integration/Connector adımında farklı connection seçili olabilir, adım yanlış yapılandırılmış olabilir veya Flow/Job redeploy edilmemiş olabilir.
    </Warning>

    <Steps>
      <Step title="Enable Toggle">
        Connection'ın enable toggle'ının aktif olduğunu kontrol edin.
      </Step>

      <Step title="Connection Seçimi">
        Integration Flow'da doğru connection'ın seçildiğini doğrulayın.
      </Step>

      <Step title="Connection Deploy">
        Connection'ı tekrar deploy edin.
      </Step>

      <Step title="Flow/Job Deploy">
        Integration Flow veya Job'ı redeploy edin.
      </Step>

      <Step title="Log Kontrolü">
        Gateway loglarını kontrol edin.
      </Step>
    </Steps>
  </Accordion>
</AccordionGroup>

## Sık Sorulan Sorular (SSS)

<AccordionGroup>
  <Accordion title="Syslog connection'ı tek seferde birden fazla syslog sunucusuna gönderebilir miyim?">
    <Info>
      Hayır, her connection tek hedefe yöneliktir; çoklu hedef için connection'ı çoğaltın veya load balancer kullanın.
    </Info>
  </Accordion>

  <Accordion title="UDP'den TCP'ye geçişte yeni connection oluşturmak zorunda mıyım?">
    <Info>
      Aynı connection üzerinde protokolü güncelleyebilirsiniz ancak değişiklikten önce export ile yedek almanız önerilir.
    </Info>
  </Accordion>

  <Accordion title="RFC 5425 seçmek için ek yapılandırma gerekir mi?">
    <Info>
      Evet, TLS dinleyen bir syslog sunucusu ve **Syslog SSL Enabled** değerinin true olması gerekir.
    </Info>
  </Accordion>

  <Accordion title="Timeout değeri hangi bileşeni etkiler?">
    <Info>
      Sadece TCP handshake ve ACK bekleme süresini etkiler; Integration isteği ayrıca Request Timeout ile sınırlandırılır.
    </Info>
  </Accordion>

  <Accordion title="Connection'ı farklı projelerde paylaşabilir miyim?">
    <Info>
      Admin kullanıcıları **Move to Global** eylemiyle connection'ı global alana taşıyabilir; diğer projelerde kullanılabilir.
    </Info>
  </Accordion>

  <Accordion title="Aynı connection'ı birden fazla Integration Flow'da kullanabilir miyim?">
    <Check>
      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.
    </Check>
  </Accordion>

  <Accordion title="Connection pool kullanmak zorunlu mudur?">
    <Info>
      Connection pool kullanımı zorunlu değildir ancak yüksek trafikli sistemlerde şiddetle önerilir. Her istekte yeni bağlantı açmak yerine mevcut bağlantıları yeniden kullanmak performansı önemli ölçüde artırır.
    </Info>
  </Accordion>

  <Accordion title="Test ve Production için farklı connection'lar mı oluşturmalıyım?">
    <Check>
      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.
    </Check>
  </Accordion>

  <Accordion title="Test Connection başarılı ama Integration Flow'da çalışmıyor, neden?">
    <Warning>
      Birkaç neden olabilir:
    </Warning>

    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
  </Accordion>
</AccordionGroup>

## Sonraki Adımlar

<CardGroup cols={2}>
  <Card title="Syslog Connector" icon="file-lines" href="/tr/integrations/konnektorler/syslog-konnektor">
    Syslog Connector kullanımını öğrenin
  </Card>

  <Card title="Connection Types Overview" icon="plug" href="/tr/integrations/baglanti-yonetimi/genel-bakis">
    Bağlantı türleri genel bakış
  </Card>

  <Card title="Logback Connector" icon="file-lines" href="/tr/integrations/konnektorler/logback-konnektor">
    Logback log kayıtları
  </Card>
</CardGroup>
