0

这是我在 GCP 中熟悉的内容。我能够将 Spring Boot REST API 部署到 GAE(Google App Engine),并在 Cloud Logging 中查看所有启动和运行日志记录。

它看起来非常漂亮,并且干净地整理了日志记录:

在此处输入图像描述

当我尝试使用 Azure 完成相同的事情,并将相同的 Spring Boot REST API 部署到 Azure“应用服务”时,我不知道是否存在类似的东西。

在部署中心,我将其配置为通过 Github Actions 通过以下默认 yaml 脚本推送我的代码:

# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
# More GitHub Actions for Azure: https://github.com/Azure/actions

name: Build and deploy JAR app to Azure Web App

on:
  push:
    branches:
      - develop

jobs:
  build-and-deploy:
    runs-on: windows-latest

    steps:
    - uses: actions/checkout@master

    - name: Set up Java version
      uses: actions/setup-java@v1
      with:
        java-version: '11'

    - name: Build with Maven
      run: mvn clean install

    - name: Deploy to Azure Web App
      uses: azure/webapps-deploy@v1
      with:
        app-name: '**********'
        slot-name: 'production'
        publish-profile: ${{ secrets.AzureAppService_PublishProfile_12ee0e892d9c498898a01f1268a3dbd4 }}
        package: '${{ github.workspace }}/target/*.jar'

可能需要注意的是,最初该文档说它是部署“WAR”应用程序,但我只是将它正在查找的文件从 更改.war.jar. 我真的没有在应用服务中看到任何选项来配置它以期望 SBA(弹簧启动应用程序),但谷歌不需要我告诉它如何运行应用程序,那么 Azure 为什么会呢?

无论如何,我试图寻找这些日志的主要原因是因为我无法访问我公开的在 localhost 上工作的 api 端点。我收到一条消息The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.,这是我在尝试时得到的应用程序日志记录(监控 -> 日志流)(我手动呈现了原始 html 输出):

在此处输入图像描述

Azure 是否有任何类型的云日志记录可以让我了解为什么我的 vanilla spring 应用程序只有 404 处于生产状态?

4

3 回答 3

0

如果在应用服务中部署 Java Web 应用,则有几个选项:

  1. "Java SE" (Windows/Linux):这个选项是运行像 SpringBoot 这样的嵌入式 Web 服务器堆栈,你的 jar 应该命名为 app.jar
  2. “Tomcat”(Windows/Linux):此选项用于运行 Web 存档,我们建议使用 app.war 文件。

这是我们在 Windows 中 Azure 应用服务上的 Java Web 应用的快速入门:

https://docs.microsoft.com/en-us/azure/app-service/app-service-web-get-started-java

这是我们在 Linux 中 Azure 应用服务上的 Java Web 应用的快速入门:

https://docs.microsoft.com/en-us/azure/app-service/containers/quickstart-java

要启用诊断日志:

https://docs.microsoft.com/en-us/azure/app-service/troubleshoot-diagnostic-logs

此外,我们正在努力与 Azure Monitor 集成:

https://docs.microsoft.com/en-us/Azure/app-service/troubleshoot-diagnostic-logs#send-logs-to-azure-monitor-preview

如果这仍然不适合您,请不要担心。随时使用 Azure 打开支持案例,我们将提供帮助。这是首选选项,因为我们需要站点名称进行调查。

创建 Azure 支持请求:

https://docs.microsoft.com/en-us/azure/azure-portal/supportability/how-to-create-azure-support-request

于 2020-06-16T07:52:03.490 回答
0

与 Google Cloud Logging 等效的 Azure 是Azure Monitor Log,它结合了 Log Analytics 和 Application Insights。

在此处了解如何查询日志

于 2020-06-16T08:15:07.103 回答
0

同样在 Azure 上,您可以使用 Azure 门户上的日志流来查看实时日志 https://microsoft.github.io/AzureTipsAndTricks/blog/tip30.html

于 2020-06-16T08:52:59.910 回答