天蓝色网络应用程序 404 错误

azure webapps 404 error

我在 Spring 引导(REST 服务)中开发了 Web 应用程序,该应用程序部署在 Azure webapps(Azure 应用程序服务)上。我的计划是标准:1 小号。

2 周以来,申请一直运行 顺利。突然,今天,应用程序崩溃了。调用这些 REST 服务的消费者应用程序开始遇到 404 错误(源服务器没有找到目标资源的当前表示,或者它不愿意透露一个存在)

当我检查日志时,我没有发现任何导致整个应用程序崩溃的根本原因。这是第二次发生,这一次我也找不到根本原因(内存 usage/CPU 使用情况似乎很好)。 "Always on" 设置已开启。

我有以下问题:1) 根本原因可能是什么,有没有办法找到它?

2) 有没有办法(在 azure webapps 中)知道应用程序何时停止运行并自动缩放? (我已经为 CPU 使用和内存使用设置了自动缩放规则,但这没有帮助)。

一些想法:

  1. 如果这是一项关键服务,您需要 Web 应用程序的两个实例 运行,即使您没有负载来证明第二个实例的合理性。第二个实例是出于可靠性目的。

  2. 事实上,您得到的是 404 而不是 50x,这让我认为这不是您的服务器太忙而由于资源匮乏而放弃的问题,例如 CPU利用率、http队列长度等

故障排除检查地点:

  1. 在 Azure 门户的 Web 应用管理边栏选项卡上,转到“诊断日志”菜单项。打开应用程序日志记录、Web 服务器日志记录、详细的错误消息和失败的请求跟踪。

  2. 完成上一步后,您将能够转到诊断和解决问题菜单选项并查看失败的请求跟踪日志。您还可以浏览 Web 服务器日志和应用程序日志。我发现使用 Visual Studio 最简单。

  3. 只是为了好玩,还要检查诊断和解决问题下的每个实例的指标。在您报告的 404 问题期间检查所有类别。这将让您检查条件,例如 CPU 使用情况、内存使用情况、线程数、HTTP 队列长度等。

已报告 Azure 中断(一个月内发生两次)。他们说他们正在处理这个问题,上面提到的问题是由西欧地区的中断引起的。