我将.Net应用托管在Azure Web Apps中。有什么方法可以直接使用流式传输/查看应用程序/服务器日志跟踪,而无需登录门户。 我之所以需要它,是因为,“我”包含将无法访问Azure门户的其他开发人员。
如果有任何解决方案,请提供帮助。预先感谢。
我试图在Azure门户中启用日志流,但这不符合我的要求。 还尝试将日志存储到Azure存储帐户。但是找不到任何开源工具来获取和读取日志。并认为这是一个耗时的解决方案。
答案 0 :(得分:1)
最简单的方法是使用存储帐户和容器进行应用程序和诊断日志记录。
要为您的Azure Web应用启用诊断,可以执行以下操作:
对于“应用程序日志记录”(Blob),单击“打开”并设置参数。
这是Azure将用于存储Web App日志的存储帐户和容器。记下此信息,因为您将需要它来在USM Anywhere中设置日志收集作业。您可以单击+存储帐户来创建新的存储帐户或容器,或选择一个现有的存储帐户。
完成后,您可以使用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.
希望有帮助。
答案 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