Aracılığıyla paylaş


Azure Traffic Manager’da düşürülmüş durum için sorun giderme

Bu makalede, düzeyi düşürülmüş durumu gösteren bir Azure Traffic Manager profiliyle ilgili sorunları giderme işlemi açıklanır. Azure Traffic Manager düzeyi düşürülmüş durumunda sorun gidermenin ilk adımı, günlüğe kaydetmeyi etkinleştirmektir. Daha fazla bilgi için Kaynak günlüklerini etkinleştirme bölümüne bakın. Bu senaryoda, cloudapp.net barındırılan hizmetlerinizden bazılarına işaret eden bir Traffic Manager profili yapılandırdığınıza dikkat edin. Traffic Manager'ınızın sistem durumu Düzeyi Düşürülmüş olarak görünüyorsa, bir veya daha fazla uç noktanın durumu Düşürülmüş olabilir:

düzeyi düşürülmüş uç nokta durumu

Traffic Manager'ınızın sistem durumu Etkin Değil durumu görüntülüyorsa, her iki uç nokta da Devre Dışı olabilir:

Etkin Olmayan Traffic Manager durumu

Traffic Manager yoklamalarını anlama

  • Traffic Manager bir uç noktanın YALNıZCA yoklama yolundan http 200 yanıtı aldığında ÇEVRİmİÇİ olarak kabul eder. Uygulamanız başka bir HTTP yanıt kodu döndürürse, bu yanıt kodunu Traffic Manager profilinizin Beklenen durum kodu aralıklarına eklemeniz gerekir.
  • Traffic Manager profilinizin Beklenen durum kodu aralıklarında bunu geçerli bir yanıt kodu olarak belirtmediğiniz sürece 30x yeniden yönlendirme yanıtı hata olarak değerlendirilir. Traffic Manager yeniden yönlendirme hedefini yoklamaz.
  • HTTP yoklamaları için sertifika hataları yoksayılır.
  • 200 döndürüldükçe yoklama yolunun gerçek içeriği önemli değildir. "/favicon.ico" gibi bazı statik içeriklerin URL'sini yoklama yaygın bir tekniktir. Asp sayfaları gibi dinamik içerik, uygulama iyi durumda olsa bile her zaman 200 döndürmeyebilir.
  • En iyi yöntem, araştırma yolunu sitenin yukarı veya aşağı olduğunu belirlemek için yeterli mantığa sahip bir şeye ayarlamaktır. Önceki örnekte yolu "/favicon.ico" olarak ayarlayarak yalnızca w3wp.exe yanıt verdiğini test ediyor olursunuz. Bu araştırma, web uygulamanızın iyi durumda olduğunu göstermeyebilir. Daha iyi bir seçenek, sitenin durumunu belirleme mantığı olan "/Probe.aspx" gibi bir şeyin yolunu ayarlamaktır. Örneğin, CPU kullanımı için performans sayaçlarını kullanabilir veya başarısız isteklerin sayısını ölçebilirsiniz. Veya web uygulamasının çalıştığından emin olmak için veritabanı kaynaklarına veya oturum durumuna erişmeye çalışabilirsiniz.
  • Bir profildeki tüm uç noktaların düzeyi düşürülmüşse Traffic Manager tüm uç noktaları iyi durumda olarak görür ve trafiği tüm uç noktalara yönlendirir. Bu davranış, yoklama mekanizmasıyla ilgili sorunların hizmetinizde tam bir kesintiye neden olmamasını sağlar.

Sorun giderme

Yoklama hatasını gidermek için yoklama URL'sinden HTTP durum kodunun döndürüldüğünü gösteren bir aralığa ihtiyacınız vardır. Ham HTTP yanıtını gösteren birçok araç vardır.

Ayrıca, HTTP yanıtlarını görüntülemek için Internet Explorer'daki F12 Hata Ayıklama Araçları'nın Ağ sekmesini de kullanabilirsiniz.

Bu örnekte yoklama URL'mizden gelen yanıtı görmek istiyoruz: http://watestsdp2008r2.cloudapp.net:80/Probe. Aşağıdaki PowerShell örneği sorunu göstermektedir.

Invoke-WebRequest 'http://watestsdp2008r2.cloudapp.net/Probe' -MaximumRedirection 0 -ErrorAction SilentlyContinue | Select-Object StatusCode,StatusDescription

Örnek çıktı:

StatusCode StatusDescription
---------- -----------------
        301 Moved Permanently

Yeniden yönlendirme yanıtı aldığımıza dikkat edin. Daha önce belirtildiği gibi, 200 dışındaki tüm StatusCode'lar hata olarak kabul edilir. Traffic Manager uç nokta durumunu Çevrimdışı olarak değiştirir. Sorunu çözmek için web sitesi yapılandırmasını denetleerek yoklama yolundan uygun StatusCode'un döndürülediğinden emin olun. Traffic Manager araştırmasını 200 döndüren bir yola işaret etmek için yeniden yapılandırın.

Araştırmanız HTTPS protokolü kullanıyorsa, testiniz sırasında SSL/TLS hatalarını önlemek için sertifika denetimini devre dışı bırakmanız gerekebilir. Aşağıdaki PowerShell deyimleri geçerli PowerShell oturumu için sertifika doğrulamasını devre dışı bırakır:

add-type @"
using System.Net;
using System.Security.Cryptography.X509Certificates;
public class TrustAllCertsPolicy : ICertificatePolicy {
    public bool CheckValidationResult(
    ServicePoint srvPoint, X509Certificate certificate,
    WebRequest request, int certificateProblem) {
    return true;
    }
}
"@
[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy

Sonraki Adımlar

Traffic Manager trafik yönlendirme yöntemleri hakkında

Traffic Manager nedir?

Bulut Hizmetleri

Azure App Service

Traffic Manager üzerindeki işlemler (REST API Başvurusu)

Azure Traffic Manager Cmdlet'leri