如何在不登录Azure门户的情况下从Azure Web Apps流日志?

时间:2019-09-04 10:30:52

标签: asp.net-mvc azure logging azure-devops azure-web-app-service

我将.Net应用托管在Azure Web Apps中。有什么方法可以直接使用流式传输/查看应用程序/服务器日志跟踪,而无需登录门户。 我之所以需要它,是因为,“我”包含将无法访问Azure门户的其他开发人员。

如果有任何解决方案,请提供帮助。预先感谢。

我试图在Azure门户中启用日志流,但这不符合我的要求。 还尝试将日志存储到Azure存储帐户。但是找不到任何开源工具来获取和读取日志。并认为这是一个耗时的解决方案。

2 个答案:

答案 0 :(得分:1)

最简单的方法是使用存储帐户和容器进行应用程序和诊断日志记录。

要为您的Azure Web应用启用诊断,可以执行以下操作:

  • 通过https://portal.azure.com/登录到您的帐户。
  • 转到您的Azure Web App并选择“设置”>“诊断日志”。
  • 对于“应用程序日志记录”(Blob),单击“打开”并设置参数。

    • 设置记录级别。
    • 对于“存储设置”,单击>,然后选择“存储帐户和容器”。

这是Azure将用于存储Web App日志的存储帐户和容器。记下此信息,因为您将需要它来在USM Anywhere中设置日志收集作业。您可以单击+存储帐户来创建新的存储帐户或容器,或选择一个现有的存储帐户。

  • 对于Web服务器日志记录,请选择“存储”。
  • 单击“存储设置”,然后选择为应用程序日志记录设置的相同存储帐户和容器。

完成后,您可以使用SAS共享访问签名共享Azure存储容器。

SAS将具有一个URI,该URI将在容器上具有预定义的访问权限。通过这种方式,您将能够查看日志而无需访问Azure门户。

A shared access signature (SAS) is a URI that allows you to specify the time span and permissions allowed for access to a storage resource such as a blob or container. The time span and permissions can be derived from a stored access policy or specified in the URI. We’ll cover both of these in detail later.

您可以参考以下文档以供参考。 https://blogs.msdn.microsoft.com/jpsanders/2017/10/12/easily-create-a-sas-to-download-a-file-from-azure-storage-using-azure-storage-explorer/

https://www.red-gate.com/simple-talk/cloud/platform-as-a-service/azure-blob-storage-part-9-shared-access-signatures/

https://www.alienvault.com/documentation/usm-anywhere/deployment-guide/azure/azure-enable-diagnostics.htm

希望有帮助。

答案 1 :(得分:1)

Mohit的建议很好,也许是最好的建议,

我有一个建议不能满足在Azure中不起作用的要求,但可以提供这样的好处,那就值得。使用Azure CLI,您可以流式传输日志:

az webapp log tail --name appname --resource-group myResourceGroup

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

您也许可以设置角色,使其具有足够的约束,开发人员可以通过读取诊断日志来完成所有操作:

https://docs.microsoft.com/en-us/azure/azure-monitor/platform/roles-permissions-security

如果您还不熟悉它,我建议您查看Azure Application Insights,它没有超低级别的日志,但是可能足以诊断开发人员通常会遇到的问题。并具有许多高级功能,比查看日志文件更容易诊断出问题。

https://docs.microsoft.com/en-us/azure/azure-monitor/app/app-insights-overview