Bir isteğin neden başarısız olduğunu loglardan nasıl anlarım (termination state)?
Kısa cevap
İsteğin nasıl sonlandığı Termination State alanında görülür ve arayüzde yalnızca Debug Mode Logs kaynağında bulunur; HTTP logs ve TCP logs ekranlarında bu alan yoktur. HTTP vService Debug Mode'a alındıktan sonra Logs & Tracking sekmesinde Debug Mode Logs kaynağının Termination state filtresi ve kolonu kullanılır; değer aşama ve neden olarak yazılır (ör. During request · TR7 intercepted), sorunsuz istekte Normal görünür. Retries filtresi Kurum Servisine yapılan yeniden denemeleri, Security action kolonu isteği kesen güvenlik modülünü gösterir (Filter). Log sunucusunda aynı bilgi TR7 JSON Format satırının tstate alanında, L7 TCP vService'te Standard Log Format satırında da ham kod olarak bulunur.
Sorun: Başarısız İsteğin Nedeni Görünmüyor
Kullanıcı 502, 503, 504 ya da kopan bağlantı bildiriyor, ancak durum kodu tek başına isteğin nerede ve neden sonlandığını söylemiyor. İsteğin istemci tarafından mı kesildiği, Kurum Servisinin mi geç yanıt verdiği, yoksa TR7'nin mi yanıtladığı bilinmelidir.
Çözüm: İki Yöntem
İki yöntem birbirinin alternatifidir: arayüzde istek bazında inceleme için Debug Mode Logs, uzun süreli ve merkezi inceleme için log sunucusu kullanılır.
| Durumunuz | Uygun yöntem |
|---|---|
| Arayüzde, istek bazında (HTTP vService) | Yöntem 1: Debug Mode Logs → Termination state |
| Log sunucusunda (HTTP ya da L7 TCP vService) | Yöntem 2: Log sunucusu |
Yöntem 1: Debug Mode Logs Önerilen
- Nasıl çalışır Debug kaydı her isteğin zamanlamasını ve sonlanma durumunu tutar; Termination state aşama ve nedeni birlikte gösterir.
- Nerede açılır Left Monitor Panel → vService → Logs & Tracking → Debug Mode Logs
- Gereksinim Debug mode açık HTTP vService
- vService tipi HTTP
Adım adım yapılandırma
Load Balancer → Load Balancer vService List ekranında HTTP vService'e sağ tıklanıp Edit seçilir.
Status alanında Debug Mode seçilir ya da Details panelinde Debug işaretlenir. Yoğun trafikte Debug altındaki koşul alanıyla yalnızca sorunlu istemci ya da yol seçilir (koşullu debug).
Save'e tıklanır. Kayıt bu andan sonra gelen isteklerden başlar.
Hata, Debug mode açıldıktan sonra yeniden oluşturulur; önceki istekler kaydedilmez.
Left Monitor Panel'de kategori seçiciden Load Balancer vServices seçilir ve vService'e tıklanır (ekrana erişim).
Logs & Tracking sekmesine tıklanır.
Kaynak seçiciden Debug Mode Logs seçilir; kayıtlar seçimle birlikte getirilir. Kayıtlar kendiliğinden yenilenmez; sonradan gelen istekler için Refresh kullanılır (Refresh).
Filtre şeridinde Termination State kartında Normal dışındaki değerler seçilir; gerekirse Status Class (ör. 5xx) ve Retries ile daraltılır.
Columns ile varsayılan olarak gizli Termination state ve Security action kolonları açılır.
İnceleme bitince vService yeniden Edit ile açılır.
Status = Enabled seçilir; Debug mode kendiliğinden kapanmaz.
Save'e tıklanır.
Değerleri okumak: Değer önce aşamayı, sonra nedeni yazar (Termination state değerleri).
| Aşama | Neden |
|---|---|
| During request · While queued · While connecting to backend · During response headers · During data transfer · During final data · While tarpitted | Client aborted · Server aborted/refused · TR7 intercepted · Handled by TR7 · Resource exhausted · Internal error · Server down · Server shutdown · Admin killed · Client timeout · Server timeout |
TR7 interceptedya daHandled by TR7: istek Kurum Servisine gitmeden TR7 tarafından yanıtlanmıştır (ör. bir aksiyon ya da güvenlik modülü); kararı veren modül Security Action kolonundadır.During response headers · Server timeout: Kurum Servisi yanıt başlıklarını zamanında göndermemiştir; Request sekmesinin Performance Info tablosundaki Tr süresine bakılır.While connecting to backendve Retries değeri sıfırdan büyük: Kurum Servisine bağlantı kurulamamıştır.Client aborted: istemci bağlantıyı kendisi kesmiştir.
Doğrulama
Test amaçlı bir vService'in bütün Kurum Servisleri devre dışı bırakılarak 503 üretilir ve kayıt açılır.
Termination state Normal dışında bir değerYöntem 2: Log Sunucusu
- Nasıl çalışır Log profili istek satırlarını log sunucusuna gönderir; TR7 JSON Format satırı sonlanma durumunu
tstate, yeniden denemeleriretriesalanında ham kod olarak taşır. - Nerede açılırLoad Balancer → Profiles → Logs
- Gereksinim Log sunucusu; vService'te LOG açık
- vService tipi HTTP · L7 TCP
Adım adım yapılandırma
Load Balancer → Profiles → Logs → Add ile profil formu açılır (nasıl eklenir).
Name girilir; Log Addresses satırında protokol (UDP ya da TCP), log sunucusunun adresi ve portu girilir. Line Format olarak TR7 JSON format seçilir. L7 TCP vService'te Standard log format satırı da sonlanma durumunu taşır. Manual formatlarda HTTP termination state ve TCP termination state Smart Variable'ları kullanılır. Ayrıntı: Logları SIEM'e (Syslog) nasıl gönderirim?
Formdaki Add'e tıklanır.
Load Balancer → Load Balancer vService List ekranında vService'e sağ tıklanıp Edit seçilir.
Details panelinde LOG işaretlenir ve Log profile alanında oluşturulan profil seçilir (vService'e nasıl eklenir).
Save'e tıklanır. Cluster kurulumunda varsayılan auto-sync ile değişiklik eş cihaza da gönderilir; Manual Sync Mode açıksa Synchronize ile elle gönderilir.
Doğrulama
vService'e istek gönderilir ve log sunucusunda gelen satıra bakılır.
tstate alanı dolu (sorunsuz istekte "--" ile başlar)Sık Yapılan Hatalar
- HTTP logs ya da TCP logs ekranında Termination state aramak. Bu alan arayüzde yalnızca Debug Mode Logs'ta vardır.
- L7 TCP vService'te Debug mode aramak. Debug mode yalnızca HTTP vService'te bulunur; L7 TCP için log sunucusu yöntemi kullanılır.
- Line limit nedeniyle eski kaydı bulamamak. Filtreler yalnızca getirilen kayıtlarda çalışır; araç çubuğundaki Line Limit (varsayılan 1000, en fazla 50000) artırılıp Refresh'e tıklanır.
- Log sunucusuna Apache formatı ya da CEF Format gönderip sonlanma durumu beklemek. HTTP vService'te bu formatlar termination state taşımaz.
- Security action'ı ayrıca incelememek.
TR7 interceptedisteğin TR7 tarafından yanıtlandığını gösterir; kararı veren modül için: Meşru kullanıcıları yanlışlıkla engelliyorum; nasıl tespit ederim?
Dokümantasyonda nasıl yapılır
