API Proxy Trafik Log Ayarları
Log Kaydı Tutulan Bölgeler
API Proxy mesajları şu bölgelerde loglanabilir:
İstemciden API Proxy'e gelen istek mesajları
API Proxy'den Backend API'ye iletilen istek mesajları
Backend API'den API Proxy'e verilen yanıt mesajları
API Proxy'den istemciye gönderilen yanıt mesajları
Varsayılan olarak, projenin tüm mesaj bölgelerindeki alanların loglanması aktiftir. Loglanan alanlar ihtiyaca göre veya log sunucusunun kaynak tüketimi baz alınarak kısıtlanabilir.
Üretim Ortamı Önerileri
Üretim Ortamı İçin Öneriler: Üretim ortamında aşağıdaki bölgelerin loglanmasının devre dışı bırakılması tavsiye edilir.
Üretim ortamında çalışan API Proxy'lerde tüm poliçelerin ayarları ve testleri tamamlandığı için geliştirme yapılmayacaktır. Veritabanında verilerin aşırı büyümemesi için şu bölgelerin loglanması devre dışı bırakılabilir:
- Request to Target: API Proxy'den Backend API'ye iletilen istekler
- Response from Target: Backend API'den API Proxy'e verilen yanıtlar
Bu iki bölgedeki başlık, parametre ve gövde verilerinin yazılmaması veritabanı boyutunu kontrol altında tutmaya yardımcı olur.
Hata veya Engellenme Durumunda Loglama
Hata Durumunda Otomatik Loglama: Belirli loglama alanları kapalı olsa dahi, istek bir politika tarafından engellendiğinde veya hata aldığında, sorunun tespit edilebilmesi için kapalı tutulan alanların yine de loglanması istenebilir. Bu davranış konnektör bazında "Engellenme durumunda devre dışı alanları logla" ve "Hata durumunda devre dışı alanları logla" anahtarları ile yönetilir; ayar konnektörün ortama eklenmesi sırasında yapılır. Bkz.
Formdata İstekleri
Formdata İstekleri: Formdata istekleri değişken veri büyüklükleri ve veri formatları nedeniyle dosya kısımları hiçbir şekilde loglanmamaktadır. Sadece diğer metadata alanları loglanmaktadır.
WebSocket ve gRPC İstekleri
WebSocket ve gRPC: WebSocket ve gRPC istekleri Apinizer'a gelen ve Apinizer'dan çıkan veriler şeklinde tutulduğundan bu tip API Proxy'lerde sadece 2 bölge bulunur:
- Request from Client / Response to Client
- Request to Target / Response from Target
Log Ayarları Sekmesi
API Proxy detay sayfasında Log Ayarları (Log Settings) sekmesi, trafik log konfigürasyonunu yönetmek için ayrılmış özel bir sekmedir. Eskiden Settings sekmesinin en altında yer alan log ayarları bölümü, artık bu ayrı sekmeden yönetilir.
Üç Seviyeli Yapılandırma: Log ayarlarını üç seviyede yapılandırabilirsiniz:
- API Proxy bazında: Her API Proxy için genel log ayarları
- Ortam bazında: Seçilen ortama özel log ayarları (ayarlar ortam bazlı saklanır)
- Metod bazında: Belirli API metodları için özel log ayarları (Method Overrides)
Log Ayarları Ekranı
Log Ayarları sekmesinde API Proxy bazlı ve ortam bazlı log ayarları yapılabilir. Eğer entegrasyon ayarları yapılmışsa, hangi API Proxy'lerin trafik kayıtlarının bu entegrasyon hedeflerine gönderilebileceği de ayarlanabilir.
Bu ayarlar sadece Elasticsearch için değil, Kafka, RabbitMQ, Veritabanı, ActiveMQ, Syslog, Webhook, Logback, Graylog gibi tüm konnektör tipleri için geçerlidir. Konnektör listesi ortamda tanımlı olan konnektör nesnelerine göre dinamik olarak oluşturulur; aynı tipte birden fazla konnektör yapılandırılabilir ve her biri bağımsız olarak ayarlanır.
Ekran yapısı
API Proxy üst menü: Overview, Settings, Design, Develop, Upstream / Routing, Tracing, Log Ayarları (Log Settings) (aktif sekme), API Traffic, API Analytics, Audit Records, Application Logs vb.
Üst çubuk:
- Ortam (Environment): Log ayarlarının uygulanacağı ortamı seçersiniz; ayarlar ortam bazında saklanır.
- Kaydet ve Yayınla (Save and Deploy): Değişiklikleri kaydeder ve ilgili ortama dağıtımı tetikler.
Sol panel — CONNECTORS:
- Seçilen ortamda tanımlı konnektörler listelenir (örnek ekranda Elasticsearch, Database, Graylog). Liste ortamdaki gerçek konnektör kayıtlarına göre dinamiktir.
- Aynı tipte birden fazla konnektör varsa her biri ayırt edici adla gösterilebilir; tek örnekte yalnızca tip adı görünebilir.
- Metod Geçersiz Kılmaları (Method Overrides): Belirli API metodları için varsayılanlardan farklı log kuralları tanımlanır; tanım sayısı rozetle gösterilir.
Ana alan — seçilen konnektör (ör. Elasticsearch):
- Konnektör için Etkin (Enabled) durumu (ör. yeşil rozet) ve Bu ortam için etkin (Active for this environment) anahtarı ile bu ortamda log gönderiminin açılıp kapatılması.
- Log içeriği seçimi (Log Content Selection) — birbirinden bağımsız gruplar (birini kapatmak diğerlerini etkilemez):
- HTTP İstek Detayları (HTTP Request Details) — IP, metot, URI, port vb.
- Performans Metrikleri (Performance Metrics) — süre, boyut, önbellek vb.
- Yanıt Durum Bilgisi (Response Status Info) — durum kodu, hata tipi vb.
- Yönlendirme Adresi (Routing Address)
- İstek ve yanıt akışı: Dört mesaj bölgesi üzerinden Parametre, Başlık (Header) ve Gövde (Body) loglaması ayrı ayrı açılıp kapatılır; istek taraflarında üç alan, yanıt taraflarında tipik olarak Başlık ve Gövde kullanılır. Her bölgede Kısmi boyut (Partial Size) ile gövde/başlık için kısmi kayıt modu yönetilebilir.
- Gizlilik (Privacy): Açıkken, öğe adı ve işlem tipine göre maskeleme vb. kuralları tanımlayan tablo kullanılır; + Ekle ile ortama özel gizlilik tanımları eklenir. Tanım yoksa tabloda bilgi mesajı görünür.
Platform genelinde geçerli log ayarlarını Genel Ayarlar ekranından yapılandırabilirsiniz.
Konnektör Ayarları
Her konnektör nesnesi için aşağıdaki alanlar bağımsız olarak yapılandırılabilir:
| Alan | Açıklama |
|---|---|
| Etkin (Enabled) | Konnektörün bu ortamda kullanılabilir olup olmadığını gösterir (ör. yeşil rozet). |
| Bu ortam için etkin (Active for this environment) | Seçilen ortamda bu konnektöre log gönderiminin açık/kapalı olmasını belirler. |
| Log içeriği seçimi (Log Content Selection) | HTTP istek detayları, performans metrikleri, yanıt durum bilgisi, yönlendirme adresi gibi üst düzey alan gruplarının loglanıp loglanmayacağını ayrı ayrı seçersiniz. |
| Kısmi boyut (Partial Size) | İlgili mesaj bölgesinde başlık/gövde için tam kayıt yerine kısmi (boyut sınırlı) kayıt modunu açar veya kapatır. |
| Başlık (Header) | İlgili b ölgedeki mesajın Başlık alanındaki değerlerin loglanmasını sağlar. Mesajdaki başlık bilgilerinin loglanıp loglanmadığını yönetir. |
| Gövde (Body) | İlgili bölgedeki mesajın Gövde alanındaki değerin loglanmasını sağlar. Mesajdaki gövde bilgilerinin loglanıp loglanmadığını yönetir. |
| Parametre (Parameter) | İlgili bölgedeki mesajın Parametre alanındaki değerlerin loglanmasını sağlar. Mesajdaki parametre bilgilerinin loglanıp loglanmadığını yönetir. |
Metod Geçersiz Kılmaları
Belirli API metodları için varsayılan konnektör ayarlarından farklı log ayarları tanımlayabilirsiniz. Örneğin hassas bir metot için gövde loglamasını kapatabilir, diğer metodlar için açık bırakabilirsiniz.
- Metod Geçersiz Kılması Ekle (Add Method Override): Metod ve konnektör seçerek özel ayar tanımlarsınız.
- Her geçersiz kılma için başlık, parametre ve gövde loglaması ayrı ayrı yapılandırılabilir.
- Mevcut geçersiz kılmalar düzenlenebilir veya silinebilir.
Daha önce yapılmış log ayarları otomatik olarak korunur. Mevcut ayarlar yeni konnektör bazlı sisteme sorunsuz geçiş yapar; ek bir işlem gerekmez.
Gizlilik Ayarları
API Proxy trafik loglarında hassas verilerin korunması için gizlilik ayarları yapılabilir. Bu ayarlar connector'ler environment'a eklenirken yapılandırılır. Hangi alanların loglanacağı ve hangi alanlarda gizlilik işlemleri (maskeleme, silme, hashleme, şifreleme) uygulanacağı belirlenebilir.
Bir Gizlilik Kuralı Veriyi Nasıl Bulur
Her kural önce neyi arayacağına, sonra onunla ne yapacağına karar verir. Veriyi bulmanın üç yolu vardır:
| Kural Tipi | Neyi Eşler | Ne Zaman Kullanılır |
|---|---|---|
| Öğe adı | Verilen ada sahip alan, header veya query parametresi — değeri ne olursa olsun | Hassas veri her zaman bilinen bir alanda duruyorsa (password, cardNumber gibi). Loglanan header ve parametreleri de kapsayan tek tip budur |
| Düzenli ifade | Gövdede kalıbınıza uyan her değer | Format API'lerinize özgüyse — sipariş kodu, iç referans numarası |
| Hazır PII tipi | Bilinen bir kişisel veri formatı, nerede geçerse geçsin | Değer herhangi bir alana düşebiliyorsa ya da AI prompt'u gibi serbest metin içindeyse |
Hazır tipler TC Kimlik No (TCKN), Türkiye IBAN, Türkiye telefon numarası, e-posta adresi ve kredi kartı numarasını kapsar.
İşlemler
- Maskeleme — değeri, seçtiğiniz maskeleme biçimine göre değiştirir (aşağıya bakın)
- Silme — değeri kaldırır
- Hashleme — tek yönlü hash saklar; orijinal değer geri alınamaz
- Şifreleme — geri çözülebilir şifreli değer saklar
- Tespit — loglanan içeriği değiştirmeden verinin bulunduğunu raporlar
Maskeleme Biçimi
Maskeleme her kural için ayrı yapılandırılır ve üç kural tipinin (öğe adı, düzenli ifade, hazır PII tipi) hepsinde aynı şekilde çalışır:
| Biçim | Girdi | Çıktı |
|---|---|---|
| Tamamını değiştir (varsayılan) | 05321234567 | *** |
| İlk N karakteri koru (N=4) | 05321234567 | 0532******* |
| Son N karakteri koru (N=4) | 05321234567 | *******4567 |
| İlk N karakteri maskele (N=4) | 05321234567 | ****1234567 |
Varsayılan biçim değerin tamamını *** ile değiştirir ve hiçbir şey sızdırmaz. Kısmî biçimler çıktının uzunluğunu korur ve değerin bir bölümünü bilerek açıkta bırakır; destek ekibinin kaydı eşleştirebilmesi gerektiğinde kullanışlıdır, ama kalan parça tek başına bile kişiyi tanımlayabileceği için bilinçli seçilmelidir. Değiştirme metni de yapılandırılabilir; kısmî biçimlerde metnin ilk karakteri maskeleme karakteri olarak kullanılır.
Korunacak karakter sayısı değerin uzunluğuna eşit ya da büyükse hiçbir şey maskelenmemiş olurdu; böyle bir durumda güvenli tarafa düşülür ve değerin tamamı değiştirilir.
Şifrelenen değerin nasıl geri okunacağı Gelişmiş Korumalar sayfasında anlatılır — aynı şifreleme ve anahtar bu ekran için de geçerlidir.
Bilinmesi Gerekenler
Hazır tipler değerin yalnız biçimini değil, kendisini de doğrular. TCKN, IBAN ve kredi kartı numaraları kalıp eşleştikten sonra doğrulanır (kontrol hanesi, mod-97, Luhn). Biçimi doğru olup doğrulamayı geçemeyen bir değer bilinçli olarak maskelenmeden bırakılır; böylece sıradan 11 haneli sayılar, tutarlar ve referans kodları loglarınızda bozulmaz. Maskelenmesini beklediğiniz bir değer görünmeye devam ediyorsa, önce gerçekten geçerli bir numara olduğunu doğrulayın.
Bu kurallar yalnızca trafik loglarına uygulanır. Elasticsearch, Kafka ve diğer log connector'lerine yazılanı değiştirir; gateway'in istemciye döndürdüğünü veya backend'e gönderdiğini değiştirmez. Trafiğin kendisinde maskeleme için AI PII Mask politikasını ya da bir dönüşüm politikasını kullanın.
Detaylı bilgi için Log Konnektörü Eklenmesi sayfasına bakabilirsiniz.
Log Ayarları bölümünde, log ayarları API Proxy bazlı olarak yönetilir.
Veri Saklama Profili
Bu sekmedeki başlık/gövde/parametre ayarları, proje ve global seviyeden devralınan veri saklama profili çerçevesinde çalışır — proxy seviyesinde profili daha da katılaştırabilirsiniz, ama devraldığınızdan daha gevşek bir profil seçmeniz kayıt sırasında reddedilir.
Gövde Yok veya Kalıcı Kayıt Yok profili etkinken, yukarıdaki Log İçeriği Seçimi ve Konnektör Ayarları'nda başlık/gövde/parametre alanları açık görünse bile bu veriler hiç yakalanmaz — Gizlilik kuralları da (aşağıda) böyle bir durumda üzerinde çalışacak veri bulamaz.
İlgili Sayfalar
- Analitik (Admin)
- API Trafiği Log Kaydı Veri Yapısı
- Gönderilmemiş API Trafik Loglarını Taşı
- API Trafik Loglarını Yönetmek
- API Trafik Logu Hacim Yönetimi