Debug Mode ile başlatılan vService ne yapar; neden yalnızca HTTP vService'te var ve canlıda açık bırakmanın sakıncası nedir?
Kısa cevap
Debug Mode'daki bir HTTP vService, trafiği işlemeye devam ederken her isteğin ve yanıtın başlıklarını, gövdelerinin ilk 16 KB'ını, zamanlama ve TLS bilgilerini kaydeder; kayıtlar Debug Mode Logs ekranında incelenir. Details panelindeki Debug kutusunda kayıt bir koşulla belirli isteklere daraltılabilir ve Custom Debug Log Entries ile her kayda Smart Variable tabanlı ek alanlar yazılabilir. İsteği HTTP olarak okuyabilen tek tür HTTP olduğu için bu mod yalnızca HTTP vService'te vardır. Canlıda açık bırakılmaz: gövdelerle birlikte parola, oturum anahtarı ve kişisel veriler kayda geçebilir, vService'e ek işlem yükü biner ve kayıtlar vService başına 128 MB'lık alanda tutulduğu için hızla silinir.
Nasıl Çalışır?
- Açma: vService formunun üstündeki Status alanında Debug Mode seçilir. Details panelindeki Debug kutusu aynı anahtardır: kutu işaretlendiğinde Status Debug Mode'a geçer, Status'ta Debug mode seçildiğinde kutu işaretlenir.
- Ne kaydedilir: İsteğin ve yanıtın başlıkları ile gövdelerin ilk 16 KB'ı, TLS bilgileri, zamanlama değerleri ve isteğin sonlanma nedeni. TR7'nin eklediği başlıklar yeşil, sildikleri kırmızı, değiştirdikleri sarı işaretlenir.
- Koşullu debug: Debug kutusundaki Select Conditions alanında bir koşul (Conditions) seçilirse yalnızca koşula uyan istekler kaydedilir (ör. tek bir test IP'si, belirli bir path). Koşul seçilmezse bütün istekler kaydedilir.
- Custom debug log entries: Debug kutusunun altındaki Custom Debug Log Entries anahtarı açıldığında (varsayılan kapalı) her satıra bir Entry Name ve bir Entry Value girilir. Entry name zorunludur ve kayıttaki alanın adıdır; Entry value bir Smart Variable seçicisidir (ör. istemci adresi, bir başlık ya da çerez değeri). Bu değerler, kaydın önizlemesindeki Summary sekmesinde Custom Entries tablosunda listelenir.
- Görüntüleme: Left Monitor Panel → Load Balancer vServices → vService → Logs & Tracking → Debug Mode Logs (Debug Loglarını Görüntüleme).
Koşullu Debug ve Custom Debug Log Entries Nasıl Kurulur?
Load Balancer → Load Balancer vService List ekranında HTTP vService seçilir ve Edit butonuna tıklanır.
Formun sağ üstündeki Details anahtarı açılır ve Debug kutusu işaretlenir; Status kendiliğinden Debug Mode olur.
Select Conditions alanında kaydedilecek istekleri seçen koşul seçilir (ör. test istemcisinin IP'sini seçen bir Source IP koşulu). Koşul yoksa Load Balancer → Conditions → Add ile önce oluşturulur (Conditions).
Custom Debug Log Entries anahtarı açılır; Add ile satır eklenir, Entry Name alanına ad (ör. real_client) yazılır ve Entry Value alanından değer seçilir. Yeni satır, henüz kullanılmamış ilk değişkenle gelir.
Save butonuna tıklanır. İnceleme bitince vService yeniden düzenlenir, Status Enabled yapılır ve kaydedilir; Debug mode kendiliğinden kapanmaz.
Neden Yalnızca HTTP'de?
Debug kaydı, isteği HTTP protokolü olarak ayrıştırıp başlıklarını ve gövdesini okumaya dayanır. L7 TCP akışı HTTP olarak okumaz, Network bağlantıyı hiç sonlandırmaz; bu türlerde kaydedilecek bir HTTP isteği yoktur. L7 TCP ve Network vService'lerde Status alanında yalnızca Enabled ve Disabled görünür; L7 TCP'de bağlantı ayrıntıları TCP Logs ekranında izlenir.
Canlıda Açık Bırakmanın Sakıncaları
| Sakınca | Açıklama |
|---|---|
| Gizlilik | Giriş formları, API anahtarları, oturum çerezleri ve kişisel veriler gövde ve başlıklarla birlikte kayda geçer. |
| Performans | Her isteğin ayrıntılı kaydı işlemci, bellek ve disk kullanımını artırır; yoğun trafikte log hacmi hızla büyür. |
| Kısa ömürlü kayıt | Debug kayıtları için ayarlanabilir bir saklama süresi yoktur; vService başına 128 MB'lık alan dolduğunda eski dosyalar silinir ve aranan istek kaybolabilir. |
Bu yüzden Debug mode sorun ararken, mümkünse bir koşulla daraltılarak açılır ve iş bitince kapatılır.
Sık Karıştırılan Noktalar
- "Debug mode trafiği durdurur." vService trafiği işlemeye devam eder; yalnızca ayrıntılı kayıt eklenir.
- "Debug kayıtları log sunucusuna gönderilir." Debug kayıtları TR7 üzerinde tutulur; Logs profiliyle dışarı yalnızca HTTP ve TCP kayıtları aktarılır.
- "Custom debug log entries hazır bir alanın değerini değiştirir." Tanımlanan alanlar kayıtta hazır alanlardan ayrı bir bölümde tutulur; aynı adı taşısa bile hazır alanın yerine geçmez.
- "Bir kez açıp unutabilirim." Debug mode kendiliğinden kapanmaz; sorun çözülünce Status yeniden Enabled yapılır.
Dokümantasyonda nasıl yapılır
