Syslog
Genel Bakış
Amacı Nedir?
Connection (Bağlantı) üzerinden Apinizer loglarını merkezi bir syslog kolektörüne düşük gecikmeli olarak aktarır.
TCP/UDP, TLS ve mesaj formatı seçenekleriyle farklı kurum standartlarına uyumlu log taşıma esnekliği sunar.
Ortam bazlı yapılandırma ile Development/Test/Production ayrımını korurken ortak isimlendirme ve versiyonlama sağlar.
UDP modunda iletilen loglar için teslim garantisi yoktur; kritik akışlar için TCP + SSL/TLS tercih edin.
Çalışma Prensibi
Integration Flow veya Connector içerisinden Syslog bağlantısı talep edildiğinde, sistem yapılandırılmış connection parametrelerini okur.
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.
TLS kullanılıyorsa sertifika tabanlı Authentication uygulanır, aksi durumda syslog sunucusunun IP tabanlı güvenlik politikaları devreye girer.
Seçilen protokol üzerinden RFC 3164/5424/5425 formatında log mesajları, hostname ve facility/severity alanları iletilir.
İşlem tamamlandıktan sonra TCP bağlantısı pool'a geri döner, UDP paketleri stateless olduğu için ek yönetim gerekmez.
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.
Kullanım Alanları
API Gateway loglarının SIEM veya SOC platformlarına gerçek zamanlı aktarılması
Güvenlik olaylarının (ör. WS-Security, Authentication hataları) merkezi alarm sistemine bildirilmesi
İşletim sistemleri, firewall ve Apinizer servisleri arasındaki log korelasyonu için tekil log akışının sağlanması
Test ortamında yeni kural/dönüşüm geliştirmelerini prod ortamındaki syslog altyapısını etkilemeden doğrulama
Teknik Özellikler ve Yetenekler
Temel Özellikler
TCP/UDP: EnumSyslogProtocolType sayesinde düşük gecikmeli UDP veya güvenilir TCP modları arasında seçim yapılabilir.
RFC 3164, RFC 5424 veya RFC 5425 formatları; hostname, facility ve severity alanlarıyla uyumlu log şablonu oluşturulur.
environmentId listesi üzerinden her Connection için hedef Ortam seçilerek farklı syslog uçlarına yönlendirme yapılır.
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
Kaydetme ve test sonrası IDeploymentResult çıktıları kullanıcıya gösterilir, log akışının gerçek durumu anında izlenir.
Admin kullanıcıları connection'ı proje bağlamından çıkarıp global alana taşıyabilir, böylece tekrar kullanım kolaylaşır.
ExportFile yapısı ile JSON + metadata paketlenerek başka ortamlara aktarılabilir.
"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
Parametre: Name
Örnek Değer: Production_Syslog
Connection adı (benzersiz olmalı). Boşlukla başlamaz, özel karakterler kullanılmamalı.
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.
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.
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.
Parametre: Syslog Port
Örnek Değer: 514
Syslog dinleme portu. UDP için 514, TLS için 6514 yaygın kullanılabilir.
Parametre: Syslog Message Format
Örnek Değer: RFC_3164
Mesaj gövdesi şablonu (RFC 3164/5424/5425). SIEM beklentisine göre seçilmelidir.
Parametre: Syslog App Name
Örnek Değer: ApinizerGateway
Mesajlarda görünecek uygulama adı. 48 karakteri aşmaması önerilir.
Parametre: Syslog Facility
Örnek Değer: AUDIT
Log sınıflandırma değeri. EnumSyslogFacility değerleri ile sınırlıdır.
Parametre: Syslog Severity
Örnek Değer: INFORMATIONAL
Log önem seviyesi. EnumSyslogSeverity listesinden seçilir.
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.
İsteğe Bağlı Parametreler
Parametre: Description
Varsayılan Değer: -
Önerilen Değer: Kullanım amacı ve hedef syslog kümesini belirtin
Connection hakkında açıklama
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.
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.
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ğı.
Timeout ve Connection Pool Parametreleri
Açıklama: TCP modunda syslogTimeout değeri
Varsayılan: 5000
Min: 1000 | Max: 60000
Birim: milisaniye
Açıklama: Integration adımının genel istek bekleme süresi (gateway ayarı)
Varsayılan: 15000
Min: 5000 | Max: 60000
Birim: milisaniye
Açıklama: Syslog connection pool'daki maksimum TCP soketi
Varsayılan: 1
Min: 1 | Max: 5
Birim: adet
Açıklama: UDP modunda ardışık paketler arası gecikme önerisi
Varsayılan: 0
Min: 0 | Max: 100
Birim: milisaniye
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
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
Kullanım Senaryoları
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
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
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
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
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
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
Connection Yapılandırma
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.
Yeni Syslog Bağlantısı Oluşturma
- Sol menüden Connection → Syslog Bağlantısı bölümüne gidin.
- Sağ üstteki [+ Create] butonuna tıklayın.
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.
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.
- Dropdown menüden ortam seçin: Development, Test, veya Production.
- Her ortam için farklı connection parametreleri tanımlanabilir.
- 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.
- 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.
- 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.
- 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.
- [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.
- 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.
Connection başarıyla oluşturuldu! Artık Integration Flow ve Connector adımlarında kullanabilirsiniz.
Connection'ı Silme
Connection'ı silmek için:
- 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 connection'ın aktif durumunu pasif hale getirin.
- Connection pasif olur ancak silinmez.
- Gerektiğinde aktif hale getirerek yeniden kullanabilirsiniz.
Connection'ı Dışa/İçe Aktarma
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.
Dışa Aktarma (Export)
- Connection listesinde satır sonundaki ⋮ menüsünden Export seçeneğini tıklayın.
- ZIP dosyası otomatik olarak indirilir.
Format: {Date}-syslog-integration-{ConnectionName}-export.zip
Örnek: 13 Nov 2025-syslog-integration-Production_Syslog-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 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.
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, 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.
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.
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.
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.
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ü: 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.
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.
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.
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.
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ı
Syslog sunucusunu sadece ilgili gateway subnet'lerinden erişilebilir kılın. Firewall'da UDP/TCP 514/6514 portlarını kısıtlayın.
TLS kullanıyorsanız sertifika zincirini düzenli yenileyin; self-signed sertifikaları yalnızca Development ortamında kullanın.
Kritik loglar için RFC 5425 formatında TLS + mesaj imza mekanizması kullanarak bütünlüğü koruyun.
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ı: UDP teslim garantisi vermez, paket kaybı denetlenemez.
Alternatif: TCP + SSL/TLS modu kullanın.
Neden kaçınılmalı: SIEM kuralları tetiklenmez, uyarılar gözden kaçar.
Alternatif: Facility/severity haritasını operasyon ekibiyle doğrulayın.
Neden kaçınılmalı: SIEM tarafında kaynak ayırt edilemez.
Alternatif: Ortam + bölge + node kimliğini içeren hostname 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ı: 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.
Performans İpuçları
Öneri: UDP modunda gateway tarafında rate limiting uygulayın, gerektiğinde Burst Interval ekleyin.
Etki: Hedef syslog sunucusunun buffer taşması önlenir.
Ö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.
Ö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.
Ö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.
Ö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.