Rozwiązywanie problemów z błędami HTTP "Zła brama 502" i "Usługa 503 jest niedostępna" w usłudze aplikacja systemu Azure
"Zła brama 502" i "Usługa 503 jest niedostępna" to typowe błędy w aplikacji hostowanej w usłudze aplikacja systemu Azure Service. Ten artykuł ułatwia rozwiązywanie problemów z tymi błędami.
Jeśli potrzebujesz więcej pomocy w dowolnym momencie tego artykułu, możesz skontaktować się z ekspertami platformy Azure na forach MSDN Azure i Stack Overflow. Alternatywnie można również zgłosić zdarzenie pomoc techniczna platformy Azure. Przejdź do witryny pomocy technicznej platformy Azure i kliknij pozycję Uzyskaj pomoc techniczną.
Objaw
Podczas przeglądania aplikacji zwraca błąd HTTP "502 Bad Gateway" lub błąd HTTP "503 Service Unavailable" (Usługa 503 jest niedostępna).
Przyczyna
Ten problem jest często spowodowany problemami na poziomie aplikacji, takimi jak:
- długi czas wykonywania żądań,
- wysokie wykorzystanie pamięci/procesora przez aplikację,
- awaria aplikacji z powodu wyjątku.
Kroki rozwiązywania problemów z błędami "Zła brama 502" i "Usługa 503 jest niedostępna"
Rozwiązywanie problemów można podzielić na trzy odrębne zadania w kolejności sekwencyjnej:
Usługa App Service oferuje różne opcje w każdym kroku.
1. Obserwowanie i monitorowanie zachowania aplikacji
Śledzenie Kondycja usługi
Platforma Microsoft Azure jest uruchamiana za każdym razem, gdy występuje przerwa w działaniu usługi lub obniżenie wydajności. Kondycję usługi można śledzić w witrynie Azure Portal. Aby uzyskać więcej informacji, zobacz Śledzenie kondycji usługi.
Monitorowanie aplikacji
Ta opcja umożliwia sprawdzanie, czy aplikacja ma jakiekolwiek problemy. W bloku aplikacji kliknij kafelek Żądania i błędy . W bloku Metryka zostaną wyświetlone wszystkie metryki, które można dodać.
Niektóre metryki, które mogą być monitorowane dla aplikacji, to
- Średni zestaw roboczy pamięci
- Średni czas odpowiedzi
- Czas procesora CPU
- Zestaw roboczy pamięci
- Żądania
Aby uzyskać więcej informacji, zobacz:
2. Zbieranie danych
Korzystanie z narzędzia diagnostycznego
Usługa App Service udostępnia inteligentne i interaktywne środowisko ułatwiające rozwiązywanie problemów z aplikacją bez konieczności konfigurowania. Gdy wystąpią problemy z aplikacją, narzędzie diagnostyczne wskaże, co jest złe, aby ułatwić i szybko rozwiązać problem.
Aby uzyskać dostęp do diagnostyki usługi App Service, przejdź do aplikacji usługi App Service lub środowiska App Service Environment w witrynie Azure Portal. W obszarze nawigacji po lewej stronie kliknij pozycję Diagnozuj i rozwiąż problemy.
Korzystanie z konsoli debugowania Kudu
Usługa App Service zawiera konsolę debugowania, której można użyć do debugowania, eksplorowania, przekazywania plików oraz punktów końcowych JSON w celu uzyskania informacji o środowisku. Jest to nazywane konsolą Kudu lub pulpitem nawigacyjnym SCM dla aplikacji.
Dostęp do tego pulpitu nawigacyjnego można uzyskać, przechodząc do linku https:// Nazwa aplikacji.scm.azurewebsites.net/>.<
Oto niektóre z rzeczy, które zapewnia Kudu:
- ustawienia środowiska dla aplikacji
- strumień dziennika
- zrzut diagnostyczny
- konsola debugowania, w której można uruchamiać polecenia cmdlet programu PowerShell i podstawowe polecenia DOS.
Inną przydatną funkcją kudu jest to, że w przypadku, gdy aplikacja zgłasza wyjątki pierwszej szansy, można użyć narzędzia Kudu i narzędzia SysInternals Procdump do utworzenia zrzutów pamięci. Te zrzuty pamięci to migawki procesu i często mogą pomóc w rozwiązywaniu bardziej skomplikowanych problemów z aplikacją.
Aby uzyskać więcej informacji na temat funkcji dostępnych w usłudze Kudu, zobacz Azure Websites online tools you should know about (Narzędzia online usługi Azure Websites, o których warto wiedzieć).
3. Eliminowanie problemu
Wykonaj skalowanie aplikacji
W usłudze aplikacja systemu Azure w celu zwiększenia wydajności i przepływności można dostosować skalę, w której działa aplikacja. Skalowanie aplikacji w górę obejmuje dwie powiązane akcje: zmianę planu usługi App Service na wyższą warstwę cenową i skonfigurowanie pewnych ustawień po przełączeniu się do wyższej warstwy cenowej.
Aby uzyskać więcej informacji na temat skalowania, zobacz Skalowanie aplikacji w usłudze aplikacja systemu Azure Service.
Ponadto możesz uruchomić aplikację w więcej niż jednym wystąpieniu . Zapewnia to nie tylko większą możliwość przetwarzania, ale także zapewnia pewną odporność na uszkodzenia. Jeśli proces ulegnie awarii w jednym wystąpieniu, drugie wystąpienie będzie nadal obsługiwać żądania.
Skalowanie można ustawić na Wartość Ręczna lub Automatyczna.
Użyj AutoHeal
Automatyczne odtwarzanie procesu roboczego dla aplikacji na podstawie wybranych ustawień (takich jak zmiany konfiguracji, żądania, limity oparte na pamięci lub czas potrzebny do wykonania żądania). W większości przypadków odtwarzanie procesu jest najszybszym sposobem na odzyskanie sprawności po problemie. Mimo że zawsze możesz ponownie uruchomić aplikację bezpośrednio w witrynie Azure Portal, autoheal wykona ją automatycznie. Wystarczy dodać niektóre wyzwalacze w katalogu głównym web.config aplikacji. Należy pamiętać, że te ustawienia będą działać w taki sam sposób, nawet jeśli aplikacja nie jest platformą .NET.
Aby uzyskać więcej informacji, zobacz Autonaprawiania witryn internetowych platformy Azure.
Ponownie uruchom aplikację
Jest to często najprostszy sposób odzyskiwania po jednorazowych problemach. W witrynie Azure Portal w bloku aplikacji dostępne są opcje zatrzymania lub ponownego uruchomienia aplikacji.
Aplikację można również zarządzać przy użyciu programu Azure PowerShell. Aby uzyskać więcej informacji, zobacz temat Using Azure PowerShell with Azure Resource Manager (Używanie programu Azure PowerShell z usługą Azure Resource Manager).