我有两个在同一资源组(西欧)上运行的Web应用程序。
每天(每天5-10次,不同时间),他们无缘无故地同时回收。
Application_End 事件显示为 ShutdownReason:HostingEnvironment 。
我怎么能理解出了什么问题?
有关环境的一些信息
应用程序文件夹中- 没有触及文件,因此这不是回收的原因(这可以通过ShutdownReason值确认)。
- Azure上的应用程序已激活始终开启,并且Web服务器日志确认该天蓝色服务正在轮询它以使其保持活动状态。
- 没有可见或记录的错误。我在Application_Error中记录了这两个应用程序,但没有任何理由登录。我还打开了Azure跟踪,但我在LogFiles文件夹中看不到有用的东西。
- 与Web应用程序和数据库相关的监视器确认没有任何有趣的内容正在运行:没有查看CPU或DTU,没有I \ O问题,有时根本没有请求正在进行中。我想排除OutOfMemory 原因未记录在kudu或其他日志文件夹中。
- 这些日期没有管理服务操作日志,因此没有人触及Web应用程序。
醇>
以下是一些日志
Application_Error日志
- 申请 | UTC时间 |的 ShutdownReason
- Web应用程序1 | 2016-04-21 01:17:28.2962 | HostingEnvironment
- Web应用程序1 | 2016-04-21 19:17:28.6035 | HostingEnvironment
- Web应用程序1 | 2016-04-22 06:30:57.8925 | HostingEnvironment
- Web应用程序2 | 2016-04-21 01:17:12.5717 | HostingEnvironment
- Web应用程序2 | 2016-04-21 19:17:24.9001 | HostingEnvironment
- Web应用程序2 | 2016-04-22 06:30:45.5781 | ConfigurationChange
Web服务器请求
在网络日志中,我只能看到始终开启功能完成状态200的正常请求。当时没有其他来自某个连接用户的电话。
捻
Kudu在关机后立即重启立即重启:
<step title="Startup Request" date="2016-04-20T13:16:26.394" instance="2754ac" url="/" method="GET" type="request" pid="8272,2,6" ScmType="None" >
<step title="Cleanup Xml Logs" date="2016-04-20T13:16:26.427" /><!-- duration: 13ms --></step><!-- duration: 47ms -->
上一站没有相关日志。当我手动停止它时,我可以看到类似的日志行,但在这种疑似情况下没有。
与Web作业相关
相关的Web作业(Daas:Azure的诊断即服务作业)日志打印出:
- 这是与Web应用程序2相关的正常重启操作(ConfigurationChange第3次错误的同一时间):
- [04/22/2016 08:45:23&gt; 2754ac:SYS INFO]由于网站关闭,WebJob正在停止
- [04/22/2016 08:45:23&gt; 2754ac:SYS INFO]状态已更改为Stopping
- [04/22/2016 08:45:29&gt; 2754ac:ERR]线程正在中止。
- [04/22/2016 08:45:29&gt; 2754ac:SYS INFO] WebJob进程已中止
- [04/22/2016 08:45:29&gt; 2754ac:SYS INFO]状态已更改为已停止
这是未知原因循环中的日志:
- [04/22/2016 06:31:24&gt; 2754ac:SYS INFO]检测到的WebJob文件已更新,刷新了WebJob
- [04/22/2016 06:31:25&gt; 2754ac:SYS INFO]状态已更改为Stopping
- [04/22/2016 06:31:34&gt; 2754ac:SYS INFO]状态已更改为已停止
- [04/22/2016 06:31:35&gt; 2754ac:ERR]线程正在中止。
- [04/22/2016 06:31:35&gt; 2754ac:SYS INFO] WebJob进程已中止
这似乎是正确的,因为相关的日志行:
- Web应用程序2 | 2016-04-22 06:30:45.5781 | ConfigurationChange
此ConfigurationChange可能与今天过期的certiphicate更改有关,并且可能azure需要将其与新的更改,因此,configurationChange recycle可能与另一个原因相关。
谢谢,Mazzanti Luca