Network Capture ile App Service Linux’ta Ağ İzleme
Azure App Service for Linux üzerinde ağ kaynaklı bir sorunu incelemek şimdiye kadar elle yapılan birkaç adım demekti: uygulamaya SSH ile bağlanmak, konteyner içinden paket yakalamak, oluşan izi indirmek, sonra Wireshark gibi bir araçla açıp bakmak. Yeni Network Capture deneyimi bu akışı kısaltıyor. İzi doğrudan Kudu ya da Azure CLI üzerinden toplayabiliyor, istersen yakalanan trafiğin otomatik analiz edilip rapora dönüşmesini sağlayabiliyorsun. Özellik şu an önizleme (preview) aşamasında.
Kudu üzerinden ağ izi toplama
Kudu arayüzünde Diagnostic Tools > Network Capture yolunu izleyerek başlıyorsun. Burada izin toplanacağı App Service instance’ını seçiyor, yakalamayı yapılandırıyorsun. Ağ arabirimini belirleyebiliyorsun; süre için 30, 60 ve 120 saniyelik hazır seçenekler var, istersen kendi değerini de yazabiliyorsun.
Yakalamayı başlatmadan önce uygulama konteynerinin ayakta ve çalışır durumda olduğundan emin olmak gerekiyor.
Daha dar kapsamlı bir inceleme istiyorsan gelişmiş ayarlar devreye giriyor. Burada şunları yapılandırabiliyorsun:
- Snap length (yakalanacak paket uzunluğu)
- Capture IP address (belirli bir IP adresi için yakalama)
- BPF filter, örneğin
tcp port 443
Ardından iki çalışma modundan birini seçiyorsun:
- Collect & analyze: Ağ izini yakalar ve otomatik olarak bir analiz raporu üretir.
- Collect only: Yerleşik analizi çalıştırmadan yalnızca izi toplar;
.pcapdosyasını indirip Wireshark gibi bir araçla kendin inceleyebilirsin.
Elinde zaten bir paket yakalaması varsa Analyze existing.pcap seçeneğiyle mevcut dosyayı yerleşik çözümleyiciye verebiliyorsun.
Toplama sırasında akılda tutulması gerekenler
- İz, uygulamana hizmet veren seçtiğin App Service instance’ında toplanır.
- Uygulaman uzak uç noktalarla TLS/SSL (HTTPS dahil) üzerinden konuşuyorsa, izdeki trafik şifreli görünür.
- Bir ağ izi en fazla 100 MB veri yakalayabilir; bu sınıra ulaşıldığında yakalama otomatik durur.
- Yalnızca en son beş yakalama saklanır.
Toplama bitince yakalamalar Capture history bölümünde listeleniyor. Üretilen raporu buradan görüntüleyebilir, .pcap dosyasını indirebilir ya da kaydı silebilirsin.
Azure CLI ile aynı işi komut satırından yapmak
Kudu arayüzünü hiç açmadan, doğrudan Azure CLI üzerinden de ağ izi toplayabiliyorsun. Otomatik analiz çalıştırmadan yalnızca paket yakalaması almak için:
az webapp troubleshoot collect network-capture \
-g <resource-group> \
-n <capture-name> \
--instance $instance \
--duration 10 \
--collect-only
İzi toplayıp yerleşik analizi de çalıştırmak istiyorsan --collect-only parametresini bırakman yeterli:
az webapp troubleshoot collect network-capture \
-g <resource-group> \
-n <capture-name> \
--duration 10
Bu yaklaşım, ağ yakalamayı alışıldık komut satırı sorun giderme akışının bir parçası haline getiriyor, öncesinde konteynere SSH ile bağlanmak gerekmiyor. Komutların çalışması için Azure CLI’ın güncel sürümünü kullandığından emin ol.
Paket yakalamadan anlamlı bulgulara
Paketleri yakalamak çoğu zaman işin yalnızca ilk adımı. Zor olan kısım, hangi paketlerin önemli olduğunu ve bunların sorun hakkında ne söylediğini çıkarmak. Collect & analyze modunu seçtiğinde Network Capture bu işin bir bölümünü üstleniyor; izi işliyor, trafiği özetleyen ve daha yakından bakılması gereken bulguları öne çıkaran bir rapor üretiyor.
Rapor, örneğin şu noktaları tespit edebiliyor:
- HTTP 5xx yanıtları
- TCP el sıkışmasını tamamlayamayan bağlantılar
- TCP reset’leri
- Yeniden iletimler (retransmission)
- HTTP 4xx ve 5xx istek oranları
- Yavaş HTTP istekleri
Bazı bulgular için bağlam da sunuluyor. Örneğin SynSent durumunda kalıp hiçbir zaman SYN-ACK almayan bağlantılar; bağlantı, güvenlik duvarı veya SNAT kaynaklı sorunlara işaret edebiliyor. Yüzlerce, binlerce tekil paketle başlamak yerine incelemeye nereden gireceğini gösteren hızlı bir görünüm çıkıyor ortaya.
Yakalama penceresini görselleştiren rapor
Rapor, yakalama süresi boyunca ağ davranışını anlamayı kolaylaştıran görselleştirmeler de içeriyor:
- Requests over time: HTTP isteklerini zamana göre, yanıt durum sınıfına göre gruplayarak gösterir. 4xx veya 5xx yanıtlarının yoğunlaştığı dönemleri belirleyip diğer ağ etkinlikleriyle ilişkilendirmeyi kolaylaştırır.
- Response latency: İstek-yanıt gecikmesinin zaman içindeki ortalama ve 95. yüzdelik değerlerini gösterir; gecikme sıçramalarını öne çıkarıp izin hangi bölümüne odaklanacağını daraltır.
- Throughput: Yakalama penceresi boyunca gelen ve giden trafiği gösterir, trafik desenleri ile yoğunluğun arttığı ve azaldığı dönemler hakkında hızlı bir fikir verir.
- Errors over time: TCP reset’leri, yeniden iletimler ve HTTP 5xx yanıtlarını aynı zaman ekseninde gösterir; farklı belirtilerin ne zaman birlikte ortaya çıktığını görmeyi kolaylaştırır.
Yakalama sınırları
Yakalamalar, çalışan bir uygulamadan güvenle alınabilsin diye bilinçli olarak sınırlandırılmış durumda:
| Ayar | Sınır |
|---|---|
| Maksimum yakalama süresi | 300 saniye |
| Maksimum yakalama boyutu | 100 MB |
| Snap length | 0 veya 64–65535 bayt |
| Yakalama geçmişi | En son 5 yakalama |
Snap length değeri 0 olduğunda paketin tamamı yakalanır, şifrelenmemiş HTTP trafiğinin çözümleyici tarafından tam olarak çözülmesi isteniyorsa bu gerekli. Pozitif snap-length değerleri ise desteklenen aralıkla sınırlı. Talep edilen yakalama süresi 300 saniyeyle sınırlanır; iz daha önce 100 MB boyut sınırına ulaşırsa toplama yine otomatik durur.
Ne zaman işe yarar?
Bağlantı hataları, HTTP hataları, gecikme, yeniden iletimler ya da benzeri ağ kaynaklı sorunları araştırıyorsan izi artık doğrudan Kudu veya Azure CLI üzerinden toplayabiliyorsun. Ham .pcap dosyasını incelemeye göre daha hızlı bir başlangıç noktası istiyorsan yerleşik analizle olası sorunları, gecikme desenlerini, verimi ve hataları tek bir raporda görüyorsun. Özellik önizlemede olduğu için App Service ekibi geri bildirim bekliyor, özellikle otomatik analiz tarafında: hangi bulgular bugün işine yarıyor, raporun ayrıca hangi ağ sorunlarını tespit etmesini isterdin?
Kaynaklar ve İleri Okuma
- Capture and analyze network traces in Azure App Service for Linux (Azure App Service blog)
- Azure CLI’ın en güncel sürümünü kurma rehberi
- Kudu’da Log Görüntüleme: Linux App Service için Yeni Sayfa
- App Service for Linux’ta Site Status ile Çalışma Durumu
- Azure App Service Linux’ta Startup Log Komutları







Yorum gönder