永远不会创建Blob wad-iis-logfiles

时间:2013-10-18 12:55:12

标签: iis logging azure azure-web-roles

我刚刚开始查看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>

问题1:此配置文件是否正确?

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

1 个答案:

答案 0 :(得分: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”,并且这些字符不会在上传时翻译回来。 / p>

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

<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是一个值得推荐的解决方案。很高兴知道该选项存在。