【问题标题】:Azure - Enable diagnostics for worker/web roleAzure - 为工作人员/Web 角色启用诊断
【发布时间】:2015-06-14 13:52:47
【问题描述】:

我想在我的表存储中记录发生的每个异常 (MVC cloudapp)。

我遵循了 Microsoft 的官方教程,但似乎它们使事情变得过于复杂。教程可以在这里查看: https://azure.microsoft.com/sv-se/documentation/articles/cloud-services-dotnet-diagnostics/#how-to-enable-diagnostics-in-a-worker-role

只是因为默认不支持 Azure 诊断 1.3 就感觉太麻烦了?在 web/worker 角色的配置窗口中有一个更快、更简单的选项,可让您启用诊断,但仅适用于 1.0?

我只想在我的存储帐户中记录异常,所以 Azure 诊断 1.0 就足够了,不是吗?

我做了什么:

  1. 通过单击配置窗口中的 Web 和辅助角色的复选框,在我的辅助角色和 Web 角色中启用诊断。
  2. 指定存储帐户凭据。

我需要什么帮助:

没有在我的存储帐户中创建 WAD 容器。在我启用并指定存储帐户凭据之后,它们不应该被创建吗?

为什么启用 Azure 诊断 1.3 与 1.0 相比如此复杂?

辅助角色诊断和网络角色诊断有什么区别?如果我有我的应用程序在 webrole 中并缓存在工作角色中..然后它是单独记录的吗?如果我想要应用程序和缓存的异常日志记录,是否需要同时启用它们?

【问题讨论】:

  • 你是如何部署你的代码的? Visual Studio、Portal 还是其他?
  • 视觉工作室。右键单击包含我的角色的 Azure 项目 > 发布为 cloudapp。

标签: azure logging azure-diagnostics


【解决方案1】:

回答您的问题:

没有在我的存储帐户中创建 WAD 容器。他们不是吗 应该在我启用并指定存储之后创建 帐户凭据?

如果您正在寻找wad-control-container,则不会创建它。但是,如果您在诊断配置中启用了 IIS 日志、失败的请求日志和崩溃转储,您应该会看到容器。

与启用 Azure 诊断 1.3 相比,为什么如此复杂? 1.0?

本质上诊断模型已经改变。 版本 1.0 是插件模型,而版本 1.3 是扩展模型(当他们引入版本 1.2 时,它从 SDK 2.5 更改)。是否复杂,我认为值得商榷。虽然 1.0 版本相当简单,并且具有一些功能,例如在代码中定义诊断配置,但我认为 1.3 是朝着正确方向迈出的一步。一开始我也对它感到沮丧,但现在我意识到当我更多地使用它时它所带来的好处。一些吸引我的好处是:

  • 纯声明模型而不是混合模型(程序 + 声明)。
  • 为您的云服务和虚拟机收集诊断数据的统一方法(目前仅限 Windows)。
  • 能够即时启用/禁用诊断配置,因为它现在是一个扩展模型。
  • 支持 ETW 日志。

1.3 中我不喜欢的一些东西:

  • 如果您不通过 Visual Studio 进行部署,那么部署过程会相当复杂。
  • 有限的工具支持。只有 Visual Studio 或 PowerShell 可供您使用。目前,Portal(当前和预览版)不支持它。
  • 已弃用 On-Demand Transfer 功能。我们经常使用此功能,现在已弃用,因为它依赖于基于代码的诊断更改。

辅助角色诊断和网络角色有什么区别 诊断?

AFAIK,两者之间没有区别。这完全取决于您要为每个角色收集哪些诊断数据。

如果我的应用程序处于 webrole 状态并缓存在工作角色中。那么是不是 单独记录?

嗯,是的,也不是。每个角色都有自己的 diagnostics.wadcfgx 文件,您可以在其中定义存储帐户以存储诊断数据。如果您在每个角色的 wadcfgx 文件中定义不同的存储帐户,则数据将进入单独的存储帐户。即使您保留相同的存储帐户,数据也会有role namerole instance name,以便您可以区分不同的诊断数据。

如果我想要两个应用程序的异常日志记录,是否需要同时启用它们 和缓存?

是的。您需要同时启用它们。

【讨论】:

  • 您好,谢谢,很好的回答!关于我链接的那个教程。你知道用 Azure Powershell 为辅助角色安装诊断的另一种方法吗? (步骤 5)。我遇到的问题是 powershell 似乎不喜欢其中有空格的工作角色名称,例如“我的工作角色”。我必须为此使用 powershell 吗?
  • 看看这篇博文是否有帮助:rajinders.com/2015/05/03/…。我发现它非常有帮助。不确定角色名称中的空格。
【解决方案2】:

有一个 simple PowerShell script on GitHub 可以在云服务(Web/Worker 角色)或虚拟机上启用 WAD,零麻烦。同时它还会配置WAD将你的日志发送到Visual Studio Application Insights,这样你就可以高效地搜索和查询。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多