【问题标题】:Accessing log files within linux container in Azure App Service在 Azure 应用服务中访问 linux 容器内的日志文件
【发布时间】:2020-09-08 05:29:20
【问题描述】:

这可能是一个简单的问题,但我发现 Azure 文档内容庞大且对建议有点含糊,我将不胜感激。

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

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

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

【问题讨论】:

    标签: azure docker azure-devops azure-web-app-service azure-container-registry


    【解决方案1】:

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

    您可以尝试使用Log Analytics Agent 设置您的容器,只要您的文件格式符合要求,您就可以配置custom logs data source

    【讨论】:

    • 感谢您提供信息 - 可以将容器中运行的代码中的应用程序日志发送到日志流或 azure 日志吗?如果是这样,开发人员必须进行哪些更改才能完成此操作?据我所知,一些代码来自日志流
    • 对于来自容器的控制台日志,微软的这份指南应该会有所帮助:azure.github.io/AppService/2019/11/01/…
    • @itadvicehelpsdf 没有得到您的最新信息,bpdohall 的回答对您有帮助吗?如果对您有帮助,请标记as answer,或者如果您有任何疑问,请随时在这里分享。
    【解决方案2】:

    有两种方法可以管理容器中的日志文件。

    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 日志服务,需要将其重定向到 STDOUT?还有一个单独的问题,所以如果您无法访问,但当我进入 Kudu 并尝试“bash”选项卡时不用担心 - 这似乎不在容器内。这是运行容器的环境吗?
    猜你喜欢
    • 2019-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-11
    • 1970-01-01
    • 2020-04-27
    • 2020-07-15
    • 1970-01-01
    相关资源
    最近更新 更多