Memecahkan masalah status terdegradasi di Azure Traffic Manager

Artikel ini menjelaskan cara memecahkan masalah profil Azure Traffic Manager yang menunjukkan status terdegradasi. Sebagai langkah awal dalam memecahkan masalah status Azure Traffic Manager yang terdegradasi adalah dengan mengaktifkan pengelogan. Lihat Mengaktifkan log sumber daya untuk informasi selengkapnya. Untuk skenario ini, pertimbangkan bahwa Anda telah mengonfigurasi profil Traffic Manager yang menunjuk ke beberapa layanan yang dihosting cloudapp.net. Jika kesehatan Traffic Manager Anda menampilkan status Terdegradasi, status satu atau beberapa titik akhir dapat menjadi Terdegradasi:

status titik akhir terdegradasi

Jika kesehatan Traffic Manager Anda menampilkan status Tidak Aktif, kedua titik akhir dapat menjadi Dinonaktifkan:

Status Traffic Manager tidak aktif

Memahami pemeriksaan Traffic Manager

  • Traffic Manager menganggap titik akhir hanya ONLINE saat pemeriksaan menerima kembali respons HTTP 200 dari jalur pemeriksaan. Jika aplikasi Anda menampilkan kode respons HTTP lainnya, Anda harus menambahkan kode respons tersebut ke Rentang kode status yang diharapkan dari profil Traffic Manager Anda.
  • Respons pengalihan 30x diperlakukan sebagai kegagalan kecuali Anda telah menentukan ini sebagai kode respons yang valid dalam Rentang kode status yang diharapkan dari profil Traffic Manager Anda. Traffic Manager tidak memeriksa target pengalihan.
  • Untuk pemeriksaan HTTP, kesalahan sertifikat diabaikan.
  • Konten aktual dari jalur pemeriksaan tidak masalah, selama 200 ditampilkan. Memeriksa URL ke beberapa konten statis seperti "/favicon.ico" merupakan teknik umum. Konten dinamis, seperti halaman ASP, mungkin tidak selalu menampilkan 200, bahkan saat aplikasi sehat.
  • Praktik terbaik adalah mengatur jalur pemeriksaan ke sesuatu yang memiliki logika yang cukup untuk menentukan bahwa situs aktif atau tidak berfungsi. Dalam contoh sebelumnya, dengan mengatur jalur ke "/favicon.ico", Anda hanya menguji bahwa w3wp.exe merespons. Pemeriksaan ini mungkin tidak menunjukkan bahwa aplikasi web Anda sehat. Pilihan yang lebih baik adalah mengatur jalur ke sesuatu seperti "/Probe.aspx" yang memiliki logika untuk menentukan kesehatan situs. Misalnya, Anda dapat menggunakan penghitung kinerja untuk penggunaan CPU atau mengukur jumlah permintaan yang gagal. Atau Anda dapat mencoba mengakses sumber daya database atau status sesi untuk memastikan bahwa aplikasi web berfungsi.
  • Jika semua titik akhir dalam profil terdegradasi, Traffic Manager memperlakukan semua titik akhir sebagai sehat dan merutekan lalu lintas ke semua titik akhir. Perilaku ini memastikan bahwa masalah terkait pemeriksaan mekanisme tidak menyebabkan pemadaman total layanan Anda.

Pemecahan Masalah

Untuk memecahkan masalah kegagalan pemeriksaan, Anda memerlukan alat yang menunjukkan pengembalian kode status HTTP dari URL pemeriksaan. Ada banyak alat yang tersedia yang menunjukkan respons HTTP mentah.

Selain itu, Anda dapat menggunakan tab Jaringan dari Alat Penelusuran kesalahan F12 di Internet Explorer untuk menampilkan respons HTTP.

Untuk contoh ini, kami ingin melihat respons dari URL pemeriksaan kami: http://watestsdp2008r2.cloudapp.net:80/Probe. Contoh PowerShell berikut mengilustrasikan masalah.

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

Contoh output:

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

Perhatikan bahwa kami menerima respons pengalihan. Seperti yang dinyatakan sebelumnya, StatusCode apa pun selain 200 dianggap gagal. Traffic Manager mengubah status titik akhir menjadi Offline. Untuk mengatasi masalah tersebut, periksa konfigurasi situs web untuk memastikan bahwa StatusCode yang tepat dapat ditampilkan dari jalur pemeriksaan. Konfigurasi ulang pemeriksaan Traffic Manager untuk menunjuk ke jalur yang menampilkan 200.

Jika pemeriksaan Anda menggunakan protokol HTTPS, Anda mungkin perlu menonaktifkan pemeriksaan sertifikat untuk menghindari kesalahan SSL/TLS selama pengujian. Pernyataan PowerShell berikut menonaktifkan validasi sertifikat untuk sesi PowerShell saat ini:

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

Langkah berikutnya

Tentang metode perutean lalu lintas Traffic Manager

Apa itu Traffic Manager

Cloud Services

Azure App Service

Operasi pada Traffic Manager (Referensi REST API)

Cmdlet Azure Traffic Manager