为什么我的Azure Web角色没有复制我的IIS日志?

时间:2013-03-21 01:38:54

标签: azure azure-diagnostics

这是对this question的跟进。我使用Cerebrata Diagnostics Manager远程诊断来尝试打开IIS日志。我没有部署它。它似乎工作,并复制了一些文件。然后它似乎永远不会再起作用了。我再次调整设置。我尝试删除iis相关的blob和表存储条目,看看是否可以重新开始。这是配置在wad-control-container中的样子,它显示它似乎是基于Cerebrata工具更新的。

<?xml version="1.0"?>
<ConfigRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <OnDemandTransfers />
  <DataSources>
    <OverallQuotaInMB>4096</OverallQuotaInMB>
    <Logs>
      <BufferQuotaInMB>1024</BufferQuotaInMB>
      <ScheduledTransferPeriodInMinutes>1</ScheduledTransferPeriodInMinutes>
      <ScheduledTransferLogLevelFilter>Undefined</ScheduledTransferLogLevelFilter>
    </Logs>
    <DiagnosticInfrastructureLogs>
      <BufferQuotaInMB>0</BufferQuotaInMB>
      <ScheduledTransferPeriodInMinutes>0</ScheduledTransferPeriodInMinutes>
      <ScheduledTransferLogLevelFilter>Undefined</ScheduledTransferLogLevelFilter>
    </DiagnosticInfrastructureLogs>
    <PerformanceCounters>
      <BufferQuotaInMB>0</BufferQuotaInMB>
      <ScheduledTransferPeriodInMinutes>0</ScheduledTransferPeriodInMinutes>
      <Subscriptions />
    </PerformanceCounters>
    <WindowsEventLog>
      <BufferQuotaInMB>0</BufferQuotaInMB>
      <ScheduledTransferPeriodInMinutes>0</ScheduledTransferPeriodInMinutes>
      <Subscriptions />
      <ScheduledTransferLogLevelFilter>Undefined</ScheduledTransferLogLevelFilter>
    </WindowsEventLog>
    <Directories>
      <BufferQuotaInMB>0</BufferQuotaInMB>
      <ScheduledTransferPeriodInMinutes>1</ScheduledTransferPeriodInMinutes>
      <Subscriptions>
        <DirectoryConfiguration>
          <Path>C:\Resources\directory\8973cd09642f4dfeafe830612cc8c1fe.AllRole.DiagnosticStore\FailedReqLogFiles</Path>
          <Container>wad-iis-failedreqlogfiles</Container>
          <DirectoryQuotaInMB>1024</DirectoryQuotaInMB>
        </DirectoryConfiguration>
        <DirectoryConfiguration>
          <Path>C:\Resources\directory\8973cd09642f4dfeafe830612cc8c1fe.AllRole.DiagnosticStore\LogFiles</Path>
          <Container>wad-iis-logfiles</Container>
          <DirectoryQuotaInMB>1024</DirectoryQuotaInMB>
        </DirectoryConfiguration>
        <DirectoryConfiguration>
          <Path>C:\Resources\directory\8973cd09642f4dfeafe830612cc8c1fe.AllRole.DiagnosticStore\CrashDumps</Path>
          <Container>wad-crash-dumps</Container>
          <DirectoryQuotaInMB>1024</DirectoryQuotaInMB>
        </DirectoryConfiguration>
      </Subscriptions>
    </Directories>
  </DataSources>
  <IsDefault>false</IsDefault>
</ConfigRequest>

关于为什么它似乎不起作用的任何想法?

更新

我们今天使用以下diagnostics.wadcfg重新部署,但仍然没有IISLogs。跟踪日志正在运行。我们没有任何调用诊断程序的代码,因为我理解该文件可以处理所有内容。我错过了什么吗?

<DiagnosticMonitorConfiguration xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration"
      configurationChangePollInterval="PT1M"
      overallQuotaInMB="4096">
  <Logs bufferQuotaInMB="1024"
     scheduledTransferLogLevelFilter="Verbose"
     scheduledTransferPeriod="PT1M" />
  <Directories bufferQuotaInMB="1024"
   scheduledTransferPeriod="PT1M">

    <!-- These three elements specify the special directories 
           that are set up for the log types -->
    <CrashDumps container="wad-crash-dumps" directoryQuotaInMB="256" />
    <FailedRequestLogs container="wad-frq" directoryQuotaInMB="256" />
    <IISLogs container="wad-iis" directoryQuotaInMB="256" />

  </Directories>
</DiagnosticMonitorConfiguration>

可能是Web角色是XS实例(因为我们现在只是测试)吗?它再次起作用,但现在似乎已经死了。

1 个答案:

答案 0 :(得分:3)

很少有建议:

  1. 将OverallQuotaInMB降低到4000

  2. 增加 在Directories节点下的BufferQuotaInMB为一个数字(比如1 gig)

  3. 降低其他单个目录配额,以便它们相加 比#2中的BufferQuotaInMB略小于某些东西 所有配额(包括整个目录和和 个人文件夹属于OverallQuotaInMB)。 IE:日志 - 1gig (这是跟踪数据),目录:1演出,失败请求:256mb, IISLogs:256mb,CrashDumps:256mb

  4. 重新启动服务器(仅在 案例)

  5. 祝你好运

  6. 基本上,当总配额设置为Azure为诊断存储分配的最大空间(4gig)时,我看到诊断行为繁琐。降低单个配额以使它们加起来小于总配额也会有所帮助,因为如果Azure诊断程序填满,那么在Azure删除旧数据之前就有喘息空间。

    总的来说,设置Azure诊断程序是一种黑魔法艺术。我一直在帮助AzureWatch客户这两年做这件事,我仍然觉得我正在摸索配额。希望他们只是让用户打开或关闭整个配置由约定与配置驱动。几乎没有人关心将数据捕获到他们的VM上而不是将其传输到azure存储,因此对于大多数情况来说小的配额是完全正常的,因为大多数人每隔几分钟就将数据传输到存储器。

    HTH