当日志不包含错误消息时如何对Azure Linux App Service进行故障排除

问题描述

我已经部署了一个运行了带有LoopBack 4框架的NodeJS应用程序的Azure Linux应用程序服务已经有一段时间了,但是从上周开始,我一直在使用Azure DevOps部署该应用程序的新版本时遇到麻烦。 / p>

上周部署应用程序时,启动该应用程序需要多次重启。从昨天开始,大约有7个小时才可以使用该应用程序,而今天(在撰写本文时)则需要3个小时。

这目前仅在我的开发环境中(产品仅在请求请求时才部署),但是我认为在为该产品部署新版本时,生产环境也会发生同样的情况。不幸的是,我目前无法尝试。

打开日志流时,除Waiting for response to warmup request for container之外没有其他错误

我不知道它是否与启动应用程序超时有关,因为我在“诊断和解决问题”屏幕中收到该错误消息,但是当我在开发环境中运行应用程序时机器,它会在不到5秒的时间内启动。

我尝试通过以下方式将WEBSITES_CONTAINER_START_TIME_LIMIT设置设置为1800

  • 门户>应用服务>配置>应用设置
  • 用于设置应用程序设置的DevOps作业

但是,由于我仍然看到Waiting for response to warup request for container消息,因此效果不理想。

在Azure门户的“诊断和解决问题”屏幕中,我也遇到了容器崩溃的错误。我希望我会看到某种关于它为什么失败的错误,但是我看到的只是以下输出

Container qusito-core-dev_0_fdc9a431 Couldn't be started: Logs = 2020-09-11T13:43:59.410899652Z   _____                               
2020-09-11T13:43:59.410934153Z   /  _  \ __________ _________   ____  
2020-09-11T13:43:59.410938953Z  /  /_\  \___   /  |  \_  __ \_/ __ \ 
2020-09-11T13:43:59.410942753Z /    |    \/    /|  |  /|  | \/\  ___/ 
2020-09-11T13:43:59.410946453Z \____|__  /_____ \____/ |__|    \___  >
2020-09-11T13:43:59.410950153Z         \/      \/                  \/ 
2020-09-11T13:43:59.410953753Z A P P   S E R V I C E   O N   L I N U X
2020-09-11T13:43:59.410957153Z 
2020-09-11T13:43:59.410960353Z Documentation: http://aka.ms/webapp-linux
2020-09-11T13:43:59.410963553Z NodeJS quickstart: https://aka.ms/node-qs
2020-09-11T13:43:59.410966853Z NodeJS Version : v10.14.2
2020-09-11T13:43:59.410970153Z Note: Any data outside '/home' is not persisted
2020-09-11T13:43:59.410973453Z 
2020-09-11T13:44:00.211504840Z Cound not find build manifest file at '/home/site/wwwroot/oryx-manifest.toml'
2020-09-11T13:44:00.211887043Z Could not find operation ID in manifest. Generating an operation id...
2020-09-11T13:44:00.211897743Z Build Operation ID: 7cf16daf-ccef-4ad1-b496-50778dafc913
2020-09-11T13:44:02.114481171Z Writing output script to '/opt/startup/startup.sh'
2020-09-11T13:44:02.490713708Z Running #!/bin/sh
2020-09-11T13:44:02.491320612Z 
2020-09-11T13:44:02.491332412Z # Enter the source directory to make sure the script runs where the user expects
2020-09-11T13:44:02.491336512Z cd "/home/site/wwwroot"
2020-09-11T13:44:02.491340212Z 
2020-09-11T13:44:02.491344012Z export NODE_PATH=$(npm root --quiet -g):$NODE_PATH
2020-09-11T13:44:02.491347512Z if [ -z "$PORT" ]; then
2020-09-11T13:44:02.493136724Z      export PORT=8080
2020-09-11T13:44:02.493148924Z fi
2020-09-11T13:44:02.493152724Z 
2020-09-11T13:44:02.493341325Z PATH="$PATH:/home/site/wwwroot" npm run start
2020-09-11T13:44:06.600726640Z npm info it worked if it ends with ok
2020-09-11T13:44:06.600776740Z npm info using [email protected]
2020-09-11T13:44:06.600875440Z npm info using [email protected]
2020-09-11T13:44:06.868226973Z npm info lifecycle [email protected]~prestart: [email protected]
2020-09-11T13:44:06.885230583Z 
2020-09-11T13:44:06.885248883Z > [email protected] prestart /home/site/wwwroot
2020-09-11T13:44:06.885253583Z > npm run build
2020-09-11T13:44:06.885264583Z 
2020-09-11T13:44:07.662776822Z npm info it worked if it ends with ok
2020-09-11T13:44:07.663855429Z npm info using [email protected]
2020-09-11T13:44:07.664656534Z npm info using [email protected]
2020-09-11T13:44:07.823510864Z npm info lifecycle [email protected]~prebuild: [email protected]
2020-09-11T13:44:07.824905373Z npm info lifecycle [email protected]~build: [email protected]
2020-09-11T13:44:07.835657242Z 
2020-09-11T13:44:07.835673743Z > [email protected] build /home/site/wwwroot
2020-09-11T13:44:07.835678743Z > lb-tsc
2020-09-11T13:44:07.835682343Z 

这时,我仍然遇到这个问题。我在SO的某个地方看到了一个参考,即日志流(在Azure门户中)不完全支持Linux的登录,但是我不知道在哪里可以找到其他任何日志。 对于我应该如何前进的任何帮助,我们深表感谢。

解决方法

您可以通过高级工具中的控制台 Kudu 管理应用服务。

enter image description here

,

事实证明,我的设置中有一个错字:WEBSITE_CONTAINER_START_TIME_LIMIT(在WEBSITE之后忘记了“ S”)。

更改后,我在部署上没有任何问题。我还指出,lb-tsc命令在运行时大约需要5-6分钟。部署时可能出了问题。