为什么我在 Azure 应用服务中每 5 分钟收到一个错误请求

问题描述 投票:0回答:4

我在 Azure 上有一个 Java Web 应用程序,我在它的 Application Insights 中收到失败的请求。看起来有人每 5 分钟调用一次“http://myApp.azurewebsites.net/error”,但我没有这个接口,因此 Application Insights 中有很多失败的 404 请求。然后我在app中添加了这个接口,但是仍然有很多404代码的失败请求。我不知道这些请求,我不知道他们来自哪里,也不知道他们想做什么。我在应用程序中设置了错误的配置吗?

azure azure-web-app-service azure-application-insights
4个回答
12
投票

这是由于 AppService 的 Configuration / General 设置下的“Always On”为

ON
导致的。

根据文档

始终开启:即使在没有流量时也保持应用程序加载。当Always On未打开(默认)时,应用程序将在没有任何传入请求的情况下在20分钟后卸载。由于其预热时间,卸载的应用程序可能会导致新请求出现高延迟。当打开 Always On 时,前端负载均衡器每五分钟向应用程序根目录发送一个 GET 请求。持续 ping 会阻止应用程序被卸载。

为了减轻影响,您可以添加处理默认路由的控制器/操作。


2
投票
应用服务的配置中有一个名为“始终打开”的设置,当我关闭此设置时它工作正常。


1
投票
要缩小问题范围,您可以为 Web 应用程序启用诊断日志。 Web 服务器诊断日志记录可帮助您跟踪源自组件的异常详细信息。如果您怀疑错误来自您的应用程序,那么“应用程序诊断”是追踪错误原因的来源。

此外,在您的网络应用程序上启用日志流,这样无论高峰还是非高峰时间,您都可以监控实时日志流、您的网络应用程序的执行情况以及对每个请求的响应。


0
投票
有效答案来自@Alex Klaus。我遇到了同样的行为,当启用“

Always On”时,Azure 每 5 分钟调用一次 Web 应用程序。

如果您希望应用程序保持活动状态并避免冷启动,请勿禁用它。

只需实现一个简单的“/”端点,如上所述。

© www.soinside.com 2019 - 2024. All rights reserved.