1

我刚开始检查 Windows Azure,但我无法从 IIS 获取任何用于我的测试 Web 角色的访问日志。Web 角色本身工作正常,但我想查看访问日志(成功和失败)。

据我所见,Web 角色的默认配置文件包含将这些日志发送到名为“wad-iis-logfiles”的 blob 的指令,但该 blob 甚至从未创建(它不存在于我的 blob 存储中) .

我的网络角色 diagnostics.wadcfg 目前是:

<DiagnosticMonitorConfiguration configurationChangePollInterval="PT1M" overallQuotaInMB="4096" xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
  <DiagnosticInfrastructureLogs bufferQuotaInMB="512" scheduledTransferPeriod="PT5M" />
  <Directories bufferQuotaInMB="512" scheduledTransferPeriod="PT5M">
    <IISLogs container="wad-iis-logfiles" />
    <CrashDumps container="wad-crash-dumps" />
  </Directories>
  <Logs bufferQuotaInMB="512" scheduledTransferPeriod="PT5M" scheduledTransferLogLevelFilter="Information" />
  <PerformanceCounters bufferQuotaInMB="512">
    (... snip...)
  </PerformanceCounters>
  <WindowsEventLog bufferQuotaInMB="512" scheduledTransferPeriod="PT1M" scheduledTransferLogLevelFilter="Error">
    <DataSource name="Application!*" />
  </WindowsEventLog>
</DiagnosticMonitorConfiguration>

问题一:这个配置文件正确吗?

问题 2:在获取 IIS 日志文件之前,是否需要设置其他内容?

4

1 回答 1

0

在评论者的帮助下,我能够解决这个问题。

有几个相互作用的事情导致了这个问题。

正如评论者@kwill 提到的,wad-control-container 中的现有配置 blob 会覆盖任何其他配置,并且在就地更新期间不会替换该配置。我正在使用就地更新将修改后的 diagnostics.wadcfg 放置到位,这就是为什么我尝试以这种方式更改设置不起作用的原因。请注意,编辑 Web 测试角色的属性(在 Azure 云服务项目的“角色”分支中,通过编辑同一文件进行操作,因此这也不起作用。有关 wad-control-container 如何覆盖设置的更多信息可以在http://msdn.microsoft.com/en-us/library/windowsazure/dn205146.aspx中找到。

blob 已经存在的原因可能是我之前在 azure 管理窗口中更改了一些其他性能测量设置。

我设法通过使用评论者@Gaurav Mantri 提到的工具“Azure Explorer”为我的实例编辑在 wad-control-container 中找到的 blob 来“修复”这种情况。如前所述,如果没有该工具,您可以下载 blob 并对其进行编辑,但永远不能将其正确放回,因为 blob 名称中的“/”字符会被翻译为“%2F”,而这些在上传时不会被翻译回来。

请注意,XML 模式与 diagnostics.wadcfg 的模式不同,但存在一些相似之处。我将“目录”元素向 blob 的底部更改为:

<Directories>
  <BufferQuotaInMB>512</BufferQuotaInMB>
  <ScheduledTransferPeriodInMinutes>2</ScheduledTransferPeriodInMinutes>
  <Subscriptions>
    <DirectoryConfiguration>
      <Path>C:\Resources\directory\8091b0be14e54213ac12fcbd5f9c8e1b.WebTestRole.DiagnosticStore\CrashDumps</Path>
      <Container>wad-crash-dumps</Container>
      <DirectoryQuotaInMB>0</DirectoryQuotaInMB>
    </DirectoryConfiguration>
    <DirectoryConfiguration>
      <Path>C:\Resources\directory\8091b0be14e54213ac12fcbd5f9c8e1b.WebTestRole.DiagnosticStore\LogFiles</Path>
      <Container>wad-iis-logfiles</Container>
      <DirectoryQuotaInMB>16</DirectoryQuotaInMB>
    </DirectoryConfiguration>
  </Subscriptions>
</Directories>

在原始版本中,“BufferQuotaInMB”和“DirectoryQuotaInMB”字段为 0。

请注意,再次上传 blob 后效果不会立即生效。更改的配置需要一段时间才能生效,然后需要一段时间才能第一次复制 IIS 日志文件。

最后一点:这可能很明显,但我不认为编辑该 blob 是一个值得推荐的解决方案。很高兴知道该选项存在。

于 2013-10-18T17:09:49.413 回答