我在Spring启动(REST服务)中开发了Web应用程序,该应用程序部署在Azure webapps(Azure应用程序服务)上。我的计划是标准:1小。
该应用程序自2周以来一直运行顺利。突然,今天,应用程序崩溃了。调用这些REST服务的消费者应用程序开始遇到404错误(原始服务器没有找到目标资源的当前表示,或者它不愿意透露存在的那个)
当我检查日志时,我没有发现任何导致整个应用程序崩溃的根本原因。这是它第二次发生,这次也是我无法找到根本原因(内存使用/ CPU使用情况似乎很好)。 “Always on”设置已打开。
我有以下问题: 1)可能是根本原因,有没有办法找到它?
2)是否有办法(在azure webapps中)了解应用程序何时停机和自动缩放? (我已经为CPU使用率和内存使用量设置了自动缩放规则,但这没有帮助。)
答案 0 :(得分:0)
一些想法:
如果这是一项关键服务,您需要运行两个Web应用程序实例,即使您没有负载来证明第二个实例的合理性。第二个例子是出于可靠性目的。
你得到404而不是50x的事实让我觉得这不是你的服务器太忙而放弃的问题,因为资源不足,例如CPU利用率,http队列长度等等
检查故障排除的地方:
在Azure门户中的Web App管理刀片上,转到“诊断日志”菜单项。打开应用程序日志记录,Web服务器日志记录,详细错误消息和失败的请求跟踪。
完成上一步后,您将可以转到“诊断并解决问题”菜单选项并查看“失败的请求跟踪日志”。您还可以浏览Web服务器日志和应用程序日志。我发现使用Visual Studio这样做最容易。
只是为了好玩,还要检查诊断和解决问题下的每个实例的指标。在报告的404问题中检查所有类别。这将允许您检查CPU使用率,内存使用情况,线程数,HTTP队列长度等条件。
答案 1 :(得分:0)
报告了Azure中断(一个月内发生了两次)。他们说他们正在研究这个问题,上述问题是由西欧地区的停电引起的。