【问题标题】:Azure diagnostics issue with xml-based config基于 xml 的配置的 Azure 诊断问题
【发布时间】:2012-10-19 12:46:02
【问题描述】:

我花了一整天的时间尝试设置 Windows Azure 诊断模块。 我使用 diagnostics.wadcfg 为工作人员和 Web 角色设置了 WAD。此 wadcfg 文件正确复制到 bin 文件夹。这是我的 WorkerRoleWebRole 的 wadcfg 文件(更清晰问题的链接)。对于诊断配置初始化,我使用非常简单和通用的调用:只是

DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString");

在 WorkerRole 和 WebRole 中(两个类 - RoleEntryPoint 的后代)OnStart()

连接字符串设置正确,服务配置中的两个角色部分都包含LocalResource部分

<LocalResources>
    <LocalStorage name="DiagnosticStore" sizeInMB="5000" cleanOnRoleRecycle="false"/>
</LocalResources>

不幸的是,这并没有像我预期的那样工作:没有 IIS 日志发送,没有自定义目录内容发送到 blob、性能计数器和 WindowsEventLogs,一旦正确发送,然后停止(因为很少有初始发送,所以没有添加更多行)

wad-control-container 对两个角色都有非常奇怪的 xml 配置:WorkerRoleWebRole

我缺少什么以及通过 diagnostics.wadcfg 初始化诊断的正确方法是什么?

为什么存储的配置与 diagnostics.wadcfg 格式如此不同?

我应该在监视器初始化后运行DiagnosticMonitor.SetCurrentConfiguration() 以将当前配置存储在 Blob 中吗?

【问题讨论】:

    标签: logging azure azure-diagnostics


    【解决方案1】:

    如果您想使用 diagnostics.wadcfg(我首选的角色实例默认方法),那么您应该从 OnStart() 中删除所有代码。如果您只是传递默认值,实际上没有理由再调用 Start 了。即使您什么都不做(假设您包含插件),代理也会自动以默认值启动。

    此外,除非您特别需要超过 4GB 的磁盘配额空间,否则没有理由再设置 LocalResource。在这种情况下,您可以设置更大的值。默认情况下,诊断代理会为自己分配 4GB 的本地资源。

    要使用 diagnostics.wadcfg,只需将其标记为内容或复制到本地(确保已打包)。它需要位于辅助角色的根目录(在 Worker.cs 旁边)或 web 角色的 bin 目录中。假设您已正确配置它,如果它尚未在 blob 存储中找到一组已配置的值,它将使用这些值作为默认值。

    三个注意事项:

    1. 您不能在此处使用自定义性能计数器(除非它们已安装在计算机上)。该代理在大多数会安装自定义计数器的启动脚本之前运行,因此如果您在 diagnostics.wadcfg 中配置自定义计数器,则为时过早,它将失败。
    2. 请注意您的配额数。如果您不小心为您的数据源分配了超过 4GB 的空间(除非您更改了配额限制),那么事情将会失败。
    3. Diagnostics.wadcfg 用作最后一个默认值。如果您设置了一个值(您正在以编程方式执行此操作),它将首先使用该值。如果它在 blob 存储中找到一个值(想想重新启动),它将使用它。它仅在未设置任何内容时才有效 - 不存在默认值。

    【讨论】:

    • 非常感谢!看起来像双重初始化(默认代理一和我通过 OnStart)搞乱了那里的所有东西。我是否正确声称 - 如果我更改 diagnostics.wadcfg 并将其重新部署到当前插槽(升级实例,而不是 VIPSwaping,因此不会更改 DeploymentID) - 在我手动删除当前部署 ID 绑定之前,代理不会选择刷新的配置来自 wad-control-container 的配置?
    • 可以肯定的是,除非您使用新部署或从 wad-control-container 中删除该部署 ID 的文件,否则它不会被拾取。
    • 好的,这是我的最后一个点;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-16
    相关资源
    最近更新 更多