Sistem durumu denetimini kullanarak App Service örneklerini izleme
Bu makale, App Service örnekleri izlemek için Azure portal sistem durumu denetimini kullanır. Sistem durumu denetimi, sağlıklı olmayan örneklerden gelen istekleri yeniden yönlendirerek ve örnekleri kötü kalırsa örnekleri değiştirerek uygulamanızın kullanılabilirliğini artırır. App Service planınız , sistem durumu denetimini tam olarak kullanmak için iki veya daha fazla örneğe ölçeklendirmelidir. Sistem durumu denetim yolu, uygulamanızın kritik bileşenlerini denetlemelidir. Örneğin, uygulamanız bir veritabanına ve bir mesajlaşma sistemine bağımlıysa, sistem durumu denetimi uç noktasının bu bileşenlere bağlanması gerekir. Uygulama kritik bir bileşene bağlanamıyorsa, uygulamanın sağlıksız olduğunu göstermek için yol 500 düzeyinde bir yanıt kodu döndürmelidir.

Durum denetimleri ile ne App Service
- Uygulamanızda bir yol verildiğinde, sistem durumu denetimi App Service uygulamanızın tüm örneklerinde bu yola 1 dakikalık aralıklarda ping atar.
- Bir örnek iki veya daha fazla istekten sonra 200-299 (dahil) arasında bir durum kodu ile yanıt vermezse veya ping işlemine yanıt vermezse, sistem sağlıksız olduğunu belirler ve kaldırır.
- Kaldırma işleminden sonra sistem durumu denetimi sağlıksız örneğe ping vermeye devam eder. Örnek sağlıklı bir durum kodu (200-299) ile yanıt vermeye başlarsa, örnek yük dengeleyiciye döndürülür.
- Bir örnek bir saat için sağlıksız kalırsa, yeni örnekle birlikte değişir.
- Ayrıca, ölçeklendirirken veya dışarı App Service, yeni örneklerin hazır olmasını sağlamak için sistem durumu denetim yoluna ping atar.
Not
- Sistem durumu denetimi 302 yeniden yönlendirmeyi takip etmez. En fazla bir örnek, App Service plan başına günde en fazla üç örnek olacak şekilde saat başına değiştirilmeyecektir.
- Durum denetmeniz durumu alıyorsa,
Waiting for health check responsebir 307 http durum kodu nedeniyle denetim başarısız olur, ancak https yeniden yönlendirmesi etkinse ancakHTTPS Onlydevre dışı bırakılmışsa bu durum oluşabilir.
Sistem durumu denetimini etkinleştir

- Sistem durumu denetimini etkinleştirmek için Azure portal göz atın ve App Service uygulamanızı seçin.
- İzleme altında sistem durumu denetimi' ni seçin.
- Etkinleştir ' i seçin ve uygulamanızda, veya gibi GEÇERLI bir URL yolu sağlayın
/health/api/health. - Kaydet’e tıklayın.
Dikkat
Sistem durumu denetimi yapılandırma değişiklikleri uygulamanızı yeniden başlatın. Üretim uygulamalarına etkisini en aza indirmek için, hazırlama yuvaları yapılandırmanızı ve üretime değiştirmeyi öneririz.
Yapılandırma
Sistem durumu denetimi seçeneklerini yapılandırmanın yanı sıra, aşağıdaki uygulama ayarlarınıda yapılandırabilirsiniz:
| Uygulama ayarı adı | İzin verilen değerler | Description |
|---|---|---|
WEBSITE_HEALTHCHECK_MAXPINGFAILURES |
2 - 10 | Bir örnek için gereken başarısız istek sayısı, sağlıksız olarak kabul edilecek ve yük dengeleyiciden kaldırılacak. Örneğin, olarak ayarlandığında 2 , örneklerinizin başarısız ping işlemleri sonrasında kaldırılacak 2 . (Varsayılan değer 10) |
WEBSITE_HEALTHCHECK_MAXUNHEALTHYWORKERPERCENT |
0 - 100 | Varsayılan olarak, kalan sağlıklı örneklerin yükünü ortadan kaldırmak için örneklerin yarısını bir kez yük dengeleyiciye dahil edilmez. Örneğin, bir App Service planı dört örneğe ölçeklenirse ve üçü uygun değilse, ikisi de dışarıda bırakılır. Diğer iki örnek (bir sağlıklı ve bir sağlıksız) istekleri almaya devam edecektir. Tüm örneklerin sağlıksız olduğu en kötü durum senaryosunda, hiçbiri dışlanacaktır. Bu davranışı geçersiz kılmak için, uygulama ayarını ve arasında bir değere 0 ayarlayın 100 . Daha yüksek bir değer, daha sağlıksız örneklerin kaldırılabileceği anlamına gelir (varsayılan değer 50 ). |
Kimlik doğrulama ve güvenlik
Sistem durumu denetimi App Service kimlik doğrulaması ve yetkilendirme özellikleriyletümleştirilir. Bu güvenlik özellikleri etkinse ek ayar yapmanız gerekmez.
Kendi kimlik doğrulama sisteminizi kullanıyorsanız, sistem durumu denetimi yolu anonim erişime izin vermelidir. Sistem durumu denetimi uç noktasının güvenliğini sağlamak için öncelikle, uygulama erişimini kısıtlamak üzere IP kısıtlamaları, istemci sertifikalarıveya bir sanal ağ gibi özellikleri kullanmanız gerekir. Gelen istek eşleşmelerini isteyerek sistem durumu denetimi uç noktasının güvenliğini sağlayabilirsiniz User-Agent HealthCheck/1.0 . İstek önceki güvenlik özellikleri tarafından zaten güvenli hale getirildiğinden User-Agent taklit olamaz.
İzleme
Uygulamanızın sistem durumu Denetim yolunu sağladıktan sonra, Azure Izleyici 'yi kullanarak sitenizin sistem durumunu izleyebilirsiniz. Portaldaki sistem durumu denetimi dikey penceresinde, üst araç çubuğundan ölçümler ' e tıklayın. Bu, sitenin geçmiş sistem durumunu görebileceğiniz ve yeni bir uyarı kuralı oluşturabileceğiniz yeni bir dikey pencere açar. Sitelerinizi izleme hakkında daha fazla bilgi için bkz. Azure izleyici Kılavuzu.
Sınırlamalar
- sistem durumu denetimi Premium işlevleri sitesinde etkinleştirilmemelidir. Premium işlevlerinin hızlı ölçeklendirilmesi nedeniyle, sistem durumu denetimi istekleri HTTP trafiğinden gereksiz dalgalanmalara neden olabilir. Premium İşlevlerin ölçeklendirme kararlarını bilgilendirmek için kullanılan kendi iç sistem durumu araştırmaları vardır.
- Sistem durumu denetimi, ücretsiz ve paylaşılan App Service planları için etkinleştirilebilir, böylece sitenin sistem durumu üzerinde ölçümler olabilir ve uyarıları ayarlayabilir, ancak ücretsiz ve paylaşılan siteler ölçeklendiremez, hiçbir sağlıksız örnek değiştirilmez. 2 veya daha fazla örneğe ölçeklenebilmeniz ve sistem durumu denetiminin tam avantajını kullanabilmeniz için temel katmana veya daha yükseğe ölçeklendirmelisiniz. Bu, uygulamanızın kullanılabilirliğini ve performansını artıracaktır, üretime yönelik uygulamalar için önerilir.
Sık Sorulan Sorular
Uygulamam tek bir örnek üzerinde çalışıyorsa ne olur?
Uygulamanız yalnızca bir örneğe ölçeklenirse ve sağlıksız hale gelirse, bu, uygulamanızı tamamen aşağı götürebileceğinden yük dengeleyiciden kaldırılmaz. Sistem durumu denetiminin yeniden yönlendirme avantajını almak için iki veya daha fazla örneğe ölçeklendirin. Uygulamanız tek bir örnek üzerinde çalışıyorsa, uygulamanızın sistem durumunu izlemek için sistem durumu denetiminin izleme özelliğini kullanmaya devam edebilirsiniz.
Durum denetimi isteği, ön uç Günlüklerimin neden gösterilmiyor?
Sistem durumu denetimi isteği, sitenize dahili olarak gönderilir, bu nedenle istek ön uç günlüklerindegösterilmez. Bu ayrıca isteğin 127.0.0.1 dahili olarak gönderildiği tarihten itibaren bir kaynağına sahip olacağı anlamına gelir. Sistem durumu denetim yolunuz ping yapıldığında günlükleri tutmak için sistem durumu denetim kodunuza log deyimleri ekleyebilirsiniz.
HTTP veya HTTPS üzerinden gönderilen durum denetimi istekleri mi?
Windows App Service durumunda, site üzerinde yalnızca https etkinleştirildiğinde, sistem durumu denetimi istekleri https üzerinden gönderilir. Aksi takdirde, HTTP üzerinden gönderilir. Linux App Service, sistem durumu denetimi istekleri yalnızca HTTP üzerinden gönderilir ve şu anda HTTP S üzerinden gönderilemez.
Aynı App Service planında birden çok uygulama varsa ne yapmalıyım?
Sağlıksız örnekler, App Service planındaki diğer uygulamalardan (içinde belirtilen yüzdeye kadar) bağımsız olarak her zaman yük dengeleyici rotasyondan kaldırılır WEBSITE_HEALTHCHECK_MAXUNHEALTHYWORKERPERCENT . Bir örnekteki uygulama bir saatten fazla sağlıksız kaldığında, örnek yalnızca sistem durumu denetimi etkinleştirilmiş tüm diğer uygulamalar da uygun değilse değiştirilebilir. Sistem durumu denetimi etkin olmayan uygulamalar hesaba alınmaz.
Örnek
Imagine, uygulama a ve uygulama B olarak adlandırılan iki uygulamanız (veya yuvası olan bir uygulama) sistem durumu denetimi etkin. Aynı App Service planlarlar ve planın 4 örneğe göre ölçeklendirilmesi. Uygulama A iki örnek üzerinde sağlıksız hale gelirse, yük dengeleyici bu iki örnekte A uygulamasına istek göndermeyi durdurur. İstekler hala b uygulamasının sağlıklı olduğunu varsayarsak bu örneklerde App B 'ye yönlendirilir. Uygulama A, bu iki örnek üzerinde bir saat boyunca sağlıksız kalırsa, bu örnekler yalnızca B uygulaması bu örneklerde de sağlıksız olması durumunda değiştirilirler. B uygulaması sağlıklı ise, örnek değiştirilmez.

Not
Planda (site C) sistem durumu denetimi etkin olmayan başka bir site veya yuva varsa, örnek değişikliği göz önünde bulundurulmaz.
Tüm örneklerim sağlam değilse ne olacak?
Uygulamanızın tüm örneklerinin sağlıksız olduğu senaryoda, App Service örnekleri yük dengeleyiciden ' de belirtilen yüzdeye kadar kaldırır WEBSITE_HEALTHCHECK_MAXUNHEALTHYWORKERPERCENT . Bu senaryoda, tüm sağlıksız uygulama örneklerinin yük dengeleyici rotasyondan alınması, uygulamanız için etkin bir kesinti oluşmasına neden olur.
App Service ortamlarında sistem durumu denetimi çalışıyor mu?
Evet, App Service ortamlarında (ASE), platform belirtilen yoldaki örneklerinizi ping yapar ve isteklerin bunlara yönlendirilmemesi için yük dengeleyiciden sağlıksız örnekleri kaldırır. Ancak, şu anda bu sağlıksız örnekler 1 saat boyunca sağlıksız kalırsa yeni örneklerle değiştirilmeyecektir.
Sonraki adımlar
- Aboneliğinizdeki tüm otomatik ölçeklendirme motoru işlemlerini izlemek için bir etkinlik günlüğü uyarısı oluşturun
- Aboneliğinizde başarısız olan tüm otomatik ölçeklendirme ölçeği Ölçeklendirmesi/genişleme işlemlerini izlemek için bir etkinlik günlüğü uyarısı oluşturun
- Ortam değişkenleri ve uygulama ayarları başvurusu