访问 Azure 应用服务中 linux 容器内的日志文件

Accessing log files within linux container in Azure App Service

这可能是一个简单的问题,但我发现 Azure 文档非常庞大,如果能提供一些模糊的建议,我们将不胜感激。

所以我在 Azure 应用服务中有 docker 容器 运行。我有一个 linux 容器,它从我们的管道推送到 Azure 容器注册表,然后由 Web 应用程序使用。我可以查看自动显示 docker 日志的日志流,我假设所有内容都发送到标准输出。

容器内的某些文件路径上有各种日志文件。我如何访问这些日志? (除了在 Kudu 中使用 ssh 进入容器)。有没有办法将这些文件路径映射到 Azure 日志分析工具之一?

谢谢 - 如果您需要有关此设置任何部分的更多信息,请告诉我。

在容器中管理日志文件有两种方法。

Docker 最佳实践要求将所有日志重定向到 STDOUT。这允许像 docker logsaz webapp log.

这样的命令

请注意,有一个请求必须将文件存储记录到存储帐户:https://github.com/Azure/azure-cli/issues/10043

此外,您可以将 Web 应用程序容器中的文件夹装载到存储帐户中,并确保这些内部日志文件存储在存储帐户中:https://docs.microsoft.com/en-us/cli/azure/webapp/config/storage-account?view=azure-cli-latest#az-webapp-config-storage-account-add

https://docs.microsoft.com/en-us/azure/app-service/containers/how-to-serve-content-from-azure-storage

这将允许您公开容器的存储帐户

本机不支持从 Azure 应用服务发送任意文件日志到日志分析。

您可以尝试使用 Log Analytics Agent which allows you to configure a custom logs data source 设置您的容器,只要您的文件具有兼容的格式。