gpt4 book ai didi

java - 启用 App Insights 时,具有 java 或容器的 Azure 应用服务仅返回 404

转载 作者:行者123 更新时间:2023-12-02 07:32:38 29 4
gpt4 key购买 nike

我想将构建的 spring boot jar 部署到 Azure AppService,但部署后选择的 Linux 模式确实只响应 404“未找到”(看起来像 Tomcat 错误页面),尽管我可以在日志中看到该应用程序已正确部署。在故障排除过程中,我将 AppService 的模式更改为带有容器镜像的模式。但这没有帮助。然后我发现 404 是由启用 App Insights 引起的,这会导致将 -javaagent:/agent/java/applicationinsights-agent-codeless.jar 添加到 JAVA_TOOL_OPTS env var。

codeless 变体在网上任何地方都不可用,因此我费了一番功夫才将 jar 下载到本地计算机,设置 Insights 连接字符串环境变量并重现了错误。使用从github下载的applicationinsights-agent releases我遇到了不同的错误,但没有进一步调查。

启用后,App Insights 可以正常工作,因为我可以看到它发送跟踪信息等。但是应用程序中的 HTTP 路由已损坏,因此 App Insights 毫无用处。

我不知道如何解决这个问题,因此欢迎任何建议。

最佳答案

可能有多种情况导致该问题:

在您的情况下,您收到 404 错误,因为您的 jar 文件可能无法在应用服务中正确部署,从而导致此问题。检查以下步骤是否有助于解决您的问题:

  1. 尝试重新启动您的应用服务。
  2. 您可能尝试在应用服务中通过 FTP 手动推送 jar 文件,这基本上会导致部署过程中出现问题,因为它基本上是将 jar 文件复制到 Tomcat webapps 目录中的步骤。因此,您可以使用 Maven 插件部署您的 jar 文件。

以下是在 Spring Boot 应用程序的应用服务中配置和部署 jar 文件的命令。配置应用服务的命令:

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.5.0:config

打包jar文件并将其部署到应用服务的命令:

mvn package azure-webapp:deploy

我在我的环境中进行了尝试并得到了预期的结果:

我已使用上述命令来配置 jar 文件并将其部署到应用服务

enter image description here

enter image description here

我已启用 Application Insights,并且我的应用程序按预期正常运行。

enter image description here

我也尝试过使用 Docker 容器:

enter image description here

启用应用程序洞察:

enter image description here

通过在“Web 应用程序”>“配置”>“应用程序设置”中添加 WEBSITES_PORT :8080 作为设置来启用端口 8080。

enter image description here

输出: enter image description here

关于java - 启用 App Insights 时,具有 java 或容器的 Azure 应用服务仅返回 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75370676/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com