Поделиться через


Устранение ошибок HTTP 502 и 503 в Службе приложений Azure

Сводка

Http "502 Недопустимый шлюз" и "503 Служба недоступна" являются распространенными ошибками, которые можно получить при открытии приложения, размещенного в Службе приложений Azure. Эта статья поможет устранить эти ошибки.

Если вам нужна дополнительная помощь, обратитесь к экспертам Azure в службе поддержки сообщества Azure. Также можно использовать ресурсы на сайте поддержки Azure.

Причиной этих ошибок часто является проблема на уровне приложения, например:

  • Запросы занимают много времени.
  • Приложение использует высокую память или ЦП.
  • Исключение предотвращает реагирование приложения.

Устранение неполадок состоит из трех задач в последовательном порядке:

  1. Наблюдайте и отслеживайте поведение приложения.
  2. Сбор данных.
  3. Устранение проблемы.

Служба приложений предоставляет варианты для каждой задачи.

Наблюдение и мониторинг поведения приложения

Служба приложений Azure предоставляет несколько способов наблюдения за поведением приложения.

Отслеживание работоспособности службы

Azure объявляет о перебоях в работе службы и снижении производительности в службе приложений. Вы можете отслеживать работоспособность службы на портале Azure. Дополнительные сведения см. в разделе "Просмотр уведомлений о работоспособности службы" с помощью портала Azure.

Отслеживание работы приложения

Вы можете отслеживать приложение, чтобы узнать, возникают ли проблемы. На странице портала Azure для вашего приложения выберите Мониторинг>Метрики. В раскрывающемся меню метрик отображаются метрики , которые можно добавить.

Ниже приведены некоторые метрики, которые вы можете отслеживать для приложения:

  • средний размер рабочего набора памяти;
  • Время ЦП
  • Рабочий набор памяти
  • Запросы

Снимок экрана: параметры метрик для приложения на портале.

Дополнительные сведения можно найти здесь

Сбор данных

Сбор данных с помощью диагностики или консоли отладки Kudu.

Использование функции диагностики

Служба приложений предоставляет интеллектуальный и интерактивный интерфейс для устранения неполадок с приложением без необходимости настройки. Функция диагностики может обнаружить проблему и помочь вам получить нужную информацию для устранения неисправностей.

Чтобы получить доступ к диагностике службы приложений, перейдите к приложению службы приложений или среде службы приложений на портале Azure. В меню слева выберите "Диагностика и решение проблем".

Использование консоли отладки Kudu

Служба приложений поставляется с консолью, которую можно использовать для отладки, изучения и отправки файлов. Он также предоставляет конечные точки JSON, которые можно использовать для получения сведений о вашей среде. Эта консоль входит в панель мониторинга Kudu для приложения.

На портале Azure перейдите к приложению. В меню слева выберите Средства разработки>Дополнительные средства. Выберите "Перейти ", чтобы открыть Kudu в новом окне браузера.

По умолчанию домен приложения включает следующие элементы: <app-name>-<random-hash>..<region> Вы также можете получить доступ к панели мониторинга, перейдя по ссылке https://<app-name>-<random-hash>.scm.<region>.azurewebsites.net/. Чтобы получить значения случайного хэша и региона, в обзоре приложения скопируйте домен по умолчанию.

Kudu предоставляет:

  • Параметры среды для приложения.
  • Поток журнала.
  • Дамп диагностики.
  • Консоль отладки, в которой можно запускать командлеты PowerShell и основные команды DOS.

Если ваше приложение генерирует исключения первого шанса, вы можете использовать Kudu и средство Sysinternals ProcDump для создания дампов памяти. Эти дампы памяти — это моментальные снимки процесса, которые помогут вам устранить более сложные проблемы с приложением.

Дополнительные сведения о функциях, доступных в Kudu, см. в записи блога Kudu Dashboard, описанной в разделе "WordPress в службе приложений".

Устранение проблемы

Рассмотрите эти варианты для решения этих проблем.

Масштабирование приложения

В Службе приложений Azure для повышения производительности и пропускной способности можно настроить масштаб, в котором выполняется приложение. Масштабирование приложения включает в себя два связанных действия:

  • Изменение плана службы приложений на более высокую ценовую категорию
  • Настройка определенных параметров после перехода на более высокую ценовую категорию

Дополнительные сведения о масштабировании см. в статье Увеличение масштаба приложения в Azure.

Вы также можете запустить приложение на нескольких инстанциях. Этот выбор обеспечивает больше возможностей обработки, а также обеспечивает некоторую отказоустойчивость. Если процесс завершается на одном экземпляре, другой экземпляр продолжает обслуживать запросы.

Масштабирование можно задать вручную или автоматически.

Использование автоматического восстановления

Автоматическое восстановление перезапускает рабочий процесс для приложения на основе параметров, которые вы выбрали. Эти параметры включают изменения конфигурации, запросы, ограничения на основе памяти или время, необходимое для выполнения запроса.

Большую часть времени, переработка процесса является самым быстрым способом восстановления от проблемы. Хотя вы всегда можете перезапустить приложение непосредственно на портале Azure, автоматическое восстановление может сделать это автоматически. Все, что необходимо сделать, — добавить некоторые триггеры в корневой Web.config файл приложения. Эти параметры работают так же, даже если приложение не является .NET.

Дополнительные сведения см. в статье Обзор диагностики Службы приложений Azure.

Перезапуск приложения

Перезапуск приложения часто является самым простым способом восстановления после однократных проблем. На странице портала Azure для приложения можно остановить или перезапустить приложение.

Снимок экрана: параметры остановки и перезапуска приложения на портале.

Вы также можете управлять приложением с помощью Azure PowerShell. Дополнительные сведения см. в статье Управление ресурсами Azure с помощьюAzure PowerShell.

Отказ от ответственности за контакт с третьими лицами

Корпорация Майкрософт предоставляет контактные данные сторонних производителей в целях получения дополнительных сведений по данной теме. Эти контактные данные могут изменяться без уведомления. Корпорация Майкрософт не гарантирует точность контактных данных сторонних производителей.