Назад | Перейти на главную страницу

Катастрофический сбой службы приложений Azure после автоматического обновления платформы Azure

Относительно простая служба приложений Azure (в настоящее время .net 4.6.2 вместо Azure SQL) работает уже более 18 месяцев. Это как скала. Я редко думаю об этом сайте и уже несколько месяцев не выпускал обновления.

Сегодня утром я просыпаюсь и обнаруживаю электронные письма от клиентов, в которых говорится, что веб-сайт сообщает: «Указанное приложение CGI обнаружило ошибку, и сервер прервал процесс». Как первое предположение, я нажал «Перезагрузить» на портале Azure напротив службы приложений. Примерно через минуту он вернулся к жизни и с тех пор работает нормально.

Я перешел в «Диагностика и решение проблем» -> «Доступность и производительность». Хронология «Запросы и ошибки» показывала момент, когда веб-сайт отключился и когда он ожил. Я углубился в временную шкалу и выбрал «Полный отчет».

Фактически он сообщил следующее

Обнаружены события остановки приложения. Мы проанализировали 3 события платформы, 1 пользовательское событие.

Платформа (обновление файлового сервера) Ваше приложение было переработано из-за обновления файлового сервера. Это событие произошло несколько раз в течение дня в нескольких экземплярах. Эти события вызывают перемещение тома хранилища, что может привести к перезапуску вашего приложения. Если это событие перезапуска отрицательно влияет на доступность приложения, включение функции локального кэша может в некоторой степени снизить зависимость от файловых серверов хранилища. Подробнее: проверьте локальный кеш, как описано в разделе «Устранение неполадок и следующие шаги».

Платформа (обновление инфраструктуры) Примерно 20.11.2019 14:09:57 (UTC), на экземпляре xxxxxxxx, ваше приложение было переработано, так как масштабируемая единица Azure подвергалась обновлению. Microsoft периодически обновляет базовую платформу Azure, чтобы повысить общую надежность, производительность и безопасность инфраструктуры платформы, на которой выполняется ваше приложение. Большинство этих обновлений выполняется без какого-либо влияния на ваше веб-приложение. Чтобы уменьшить влияние таких событий на ваше приложение, рассмотрите возможность развертывания приложения в нескольких регионах и используйте диспетчер трафика Azure для распределения нагрузки по регионам.

Пользователь (Остановить сайт) Примерно 20 ноября 2019 г., 21:00:00 (по всемирному координированному времени) процесс вашего приложения был перезапущен из-за действия пользователя, такого как остановка сайта на лазурном портале.

Я совершенно не понимаю, что делать и как предотвратить повторение этого снова.

Я подозреваю, что предложение "локального кеша" - отвлекающий маневр. Я использую файловую систему для создания нескольких временных файлов, которые впоследствии удаляет код.

Поиск в Google дал мало результатов.

Думаю, мне нужны предложения относительно того, что я могу сделать, чтобы этого больше никогда не повторилось.

Любые идеи?

Заранее спасибо.

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

В конце концов, после многих часов устранения неполадок с MS мы сузили это до некоторых случаев, которые были несовместимыми, что вызывало проблемы с анализом приложений (Java springboot).

getCanonicalName работал по-разному с этими экземплярами и вместо возврата IP-адреса возвращал что-то другое. Нам пришлось изменить настройки каталины, чтобы смягчить это. Похоже, исправление содержится в последнем SDK аналитики приложений.

В моем случае настройка WEBSITE_LOCAL_CACHE_OPTION к Всегда не сработало.

Вместо этого установка WEBSITE_ADD_SITENAME_BINDINGS_IN_APPHOST_CONFIG к 1 вот что наконец помогло.