Řešení chyb HTTP chyb 502 – chybná brána a nedostupná služba 503 ve službě Aplikace Azure Service
Chyby 502 – Chybná brána a 503 – nedostupná služba jsou běžné chyby ve vaší aplikaci hostované ve službě Aplikace Azure Service. Tento článek vám pomůže tyto chyby vyřešit.
Pokud potřebujete další pomoc v libovolném bodě tohoto článku, můžete kontaktovat odborníky na Azure na fórech MSDN Azure a Stack Overflow. Případně můžete také podat podpora Azure incident. Přejděte na web podpory Azure a klikněte na Získat podporu.
Příznaky
Když přejdete do aplikace, vrátí chybu HTTP 502 – Chybná brána nebo chyba HTTP 503 – Služba není k dispozici.
Příčina
Příčinou tohoto problému jsou často problémy na úrovni aplikace, například:
- žádosti, které trvají dlouho,
- aplikace využívající velké množství paměti/CPU,
- aplikace se chybově ukončí kvůli výjimce.
Řešení potíží s chybami 502 – Chybná brána a 503 – nedostupná služba
Řešení potíží je možné rozdělit na tři různé úlohy v sekvenčním pořadí:
App Service nabízí různé možnosti v každém kroku.
1. Sledování a monitorování chování aplikace
Sledování Stav služby
Microsoft Azure se zveřejní pokaždé, když dojde k přerušení nebo snížení výkonu služby. Stav služby můžete sledovat na webu Azure Portal. Další informace najdete v tématu Sledování stavu služby.
Monitorování aplikace
Tato možnost umožňuje zjistit, jestli má vaše aplikace nějaké problémy. V okně aplikace klikněte na dlaždici Žádosti a chyby . V okně Metrika se zobrazí všechny metriky, které můžete přidat.
Některé metriky, které můžete chtít monitorovat pro vaši aplikaci, jsou
- Průměrná pracovní sada paměti
- Průměrná doba odezvy
- Čas procesoru
- Pracovní sada paměti
- Žádosti
Další informace naleznete v tématu:
2. Shromažďování dat
Použití diagnostického nástroje
App Service poskytuje inteligentní a interaktivní prostředí, které vám pomůže s řešením potíží s aplikací bez nutnosti konfigurace. Když narazíte na problémy s vaší aplikací, diagnostický nástroj vás upozorní na to, co je špatně, abyste mohli snadněji a rychleji problém vyřešit a vyřešit.
Pokud chcete získat přístup k diagnostice služby App Service, přejděte na webu Azure Portal do aplikace app Service nebo služby App Service Environment. V levém navigačním panelu klikněte na Diagnostikovat a řešit problémy.
Použití konzoly ladění Kudu
App Service se dodává s konzolou ladění, kterou můžete použít k ladění, zkoumání, nahrávání souborů a koncových bodů JSON pro získání informací o vašem prostředí. Tomu se říká konzola Kudu nebo řídicí panel SCM pro vaši aplikaci.
K tomuto řídicímu panelu se dostanete tak, že přejdete na odkaz https://< Názvový název> aplikace.scm.azurewebsites.net/.
Mezi věci, které Kudu poskytuje, patří:
- nastavení prostředí pro vaši aplikaci
- stream protokolu
- výpis paměti diagnostiky
- konzola ladění, ve které můžete spouštět rutiny PowerShellu a základní příkazy DOS.
Další užitečnou funkcí Kudu je, že v případě, že vaše aplikace vyvolává výjimky s první šancí, můžete použít Kudu a nástroj SysInternals Procdump k vytvoření výpisů paměti. Tyto výpisy paměti jsou snímky procesu a často vám můžou pomoct při řešení složitějších problémů s aplikací.
3. Zmírnění problému
Škálujte aplikaci.
Ve službě Aplikace Azure můžete pro zvýšení výkonu a propustnosti upravit měřítko, ve kterém aplikaci spouštíte. Vertikální navýšení kapacity aplikace zahrnuje dvě související akce: změnu plánu služby App Service na vyšší cenovou úroveň a konfiguraci určitých nastavení po přechodu na vyšší cenovou úroveň.
Další informace o škálování najdete v tématu Škálování aplikace ve službě Aplikace Azure Service.
Kromě toho se můžete rozhodnout, že aplikaci spustíte ve více instancích. To vám nejen poskytuje více možností zpracování, ale také poskytuje určitou odolnost proti chybám. Pokud proces selže v jedné instanci, druhá instance bude i nadále obsluhovat požadavky.
Měřítko můžete nastavit na ruční nebo automatické.
Použijte funkci AutoHeal.
Funkce AutoHeal recykluje pracovní proces pro vaši aplikaci na základě vámi zvoleného nastavení (například změny konfigurace, požadavky, limity založené na paměti nebo čas potřebný k provedení požadavku). Ve většině případů je recyklace tohoto procesu nejrychlejším způsobem, jak se zotavit z problému. I když aplikaci můžete kdykoli restartovat přímo na webu Azure Portal, autoHeal to udělá automaticky za vás. Stačí přidat některé triggery do kořenového web.config pro vaši aplikaci. Mějte na paměti, že tato nastavení by fungovala stejným způsobem, i když vaše aplikace není .NET.
Další informace najdete v tématu Automatické opravy webů Azure.
Restartujte aplikaci.
To je často nejjednodušší způsob, jak se zotavit z jednorázových problémů. Na webu Azure Portal v okně aplikace máte možnosti, jak aplikaci zastavit nebo restartovat.
Aplikaci můžete také spravovat pomocí Azure PowerShellu. Další informace najdete v tématu Použití Azure PowerShellu s Azure Resource Managerem.