Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29956295
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: 系统运维

2010-04-08 21:46:17

应用到: Windows 7, Windows Server 2008, Windows Server 2008 R2, Windows Vista

如果向服务器发送的某一请求失败或者耗费过长时间,您可以定义一个失败请求跟踪规则,此规则将捕获此请求的跟踪事件并在这些跟踪事件发 生时将其记入日志,而无需重现相应的错误。只有当请求超出了为完成处理而分配的时间间隔,或者为响应生成了指定的 HTTP 状态和子状态代码组合时,才将事件写入跟踪日志中。跟踪日志只包含特定于该失败请求的信息。无需再查阅包含每个请求的大型日志文件,即可找到您所需的有关 特定失败请求的信息。

note备 注
您必须先启用跟踪日志记录,然后才可以为失败的请求创建跟踪日志。有关如何启用跟踪日志记录的详细信息,请参阅 。

note备 注
添加配置设置时,将在本地级别以及继承该设置的所有子级别中添加该设置。

先决条件

有关您可以在哪些级别执行此过程以及执行此过程所需的模块、处理程序和权限的信息,请参阅 。

功能要求方面的例外情况



为失败请求创建跟踪规则

您可以通过以下方法执行此过程:使用用户界面 (UI)、在命令行窗口中运行 Appcmd.exe 命令、直接编辑配置文件或编写 WMI 脚本。

用户界面

使用 UI
  1. 打开 IIS 管理器,然后导航至您要管理的级别。有关如何打开 IIS 管理器的信息,请参阅 。有关如何在 UI 的各个位置间进行导航的信息,请参阅 。

  2. “功能视图”中,双击“失败请求跟踪规则”

  3. “失败请求跟踪规则”页中,单击“操作”窗 格中的“添加”

  4. “添加失败请求跟踪规则”对话框的“指定要跟踪的内容”区 域中,选择:

    • 所有内容(*) - 当您要跟踪目录中的所有文件时。

    • ASP.NET (*.aspx) - 当您要跟踪目录中的所有 .aspx 文件时。

    • ASP (*.asp) - 当您要跟踪目录中的所有 .asp 文件时。

    • 自定义 - 当您要为某一自定义内容集(如“xyz.exe”或“*.jpg”)定义失败时。它最多只能包含一个通配符,并且必须位于设置失败请求定义的目录内
。

  5. 单击“下一步”

  6. “添加失败请求跟踪规则”对话框的“定义跟踪条件”区 域中,选择以下一个或多个条件进行跟踪:

    • 状态代码 - 输入要跟踪的状态代码。可以在该列表中输入多个以逗号分隔的状态代码。还可以使用子状态代码来细分状态代码,如“404.2, 500”。

    • 所用时间 - 输入请求应花费的最长时间(以秒为单位)。

    • 事件严重性 - 从“事件严重性”下拉列表 中选择您要跟踪的严重性级别。可以选择“错误”“严重错误”“警 告”

      note备 注
      如果指定了所有条件,则满足的第一个条件将生成失败请求跟踪日志文件。

  7. 单击“下一步”

  8. “添加失败请求跟踪规则”对话框的“选择跟踪提供程序”区 域中的“提供程序”下,选择以下一个或多个跟踪提供程序:

    • ASP - 当您要跟踪 ASP 请求的执行操作的开始和完成时。

    • ASPNET - 当您要查看请求转入和转出托管代码的情况时。这包括 *.aspx 请求。

    • ISAPI 扩展 - 当您要跟踪请求转入和转出 ISAPI 扩展进程的情况时。

    • WWW 服务器 - 当您要通过 IIS 工作进程跟踪请求时。

  9. “添加失败请求跟踪规则”对话框的“选择跟踪提供程序”区 域中的“详细程度”下,选择以下一种或多种详细级别:

    • 常规 - 提供给出请求活动上下文的信息,例如,将请求的 URL 和谓词记入日志的 GENERAL_REQUEST_START 事件。

    • 严重错误 - 提供可导致进程退出或即将导致进程退出的操作的相关信息。

    • 错误 - 提供遇到错误并且无法继续处理请求的组件的相关信息。这些错误通常指示服务器端问题。

    • 警告 - 提供遇到错误但可以继续处理请求的组件的相关信息。

    • 信息 - 提供有关请求的一般信息。

    • 详细 - 提供有关请求的详细信息。这是默认选择。

  10. 如果在第 8 步中选择了“ASPNET”跟踪提供程序,请在“添 加失败请求跟踪规则”对话框的“选择跟踪提供程序”区域中的“区域”下, 选择此提供程序要跟踪的以下一个或多个功能区域:

    • 结构 - 当您要跟踪主要与进入和离开 ASP.NET 结构的各个部分相关的事件时。

    • 模块 - 当您要跟踪请求进入和离开各个 HTTP 管道模块时记录的事件时。

    • - 当您要生成与执行特定 ASP.NET 页相关事件(例如,Page_Load 等)相对应的跟踪事件时。

    • AppServices - 当您要跟踪记录为新应用程序服务功能一部分的事件时。

  11. 如果在第 8 步中选择了“WWW 服务器”跟踪提供程序,请在“添 加失败请求跟踪规则”对话框的“选择跟踪提供程序”区域中的“区域”下, 选择此提供程序要跟踪的以下一个或多个功能区域:

    • 身份验证 - 当您要跟踪身份验证尝试时,例如,跟踪已通过身份验证的用户名、身份验证方案(匿名、基本等)以及身份验证尝试的结果(成功、失败、错误等)时。

    • 安全性 - 当您要在 IIS 服务器因与安全有关的原因而拒绝请求(例如,拒绝客户端访问资源的请求)的情况下生成跟踪事件时。

    • 筛选器 - 当您要确定 ISAPI 筛选器处理请求所用的时间时。

    • StaticFile - 当您要跟踪完成静态文件请求所用的时间时。

    • CGI - 当您要在请求针对 CGI 文件的情况下生成跟踪事件时。

    • 压缩 - 当您要在响应为压缩响应的情况下生成跟踪事件时。

    • 缓存 - 当您要为与请求关联的缓存操作生成跟踪事件时。

    • RequestNotifications - 当您要在进入和退出时捕获所有请求通知时。

    • 模块 - 当您要跟踪在请求进入和离开各个 HTTP 管道模块时记入日志的事件,或要捕获托管模块的跟踪事件时。

  12. 单击“完成”

命令行

为失败请求创建跟踪规则

若要为失败请求创建跟踪规则,请使用下面的语法:

appcmd configure trace " URL " /enable /path:*|*.aspx|*.asp|custom /statuscodes:int /timeTaken:timeSpan /areas:ASP;|ASPNET/Infrastructure|Module|Page|AppServices;|ISAPI;|WWW Server/Authentication|Security|Filter|StaticFile|CGI|Compression|Cache|RequestNotifications|IISGeneral|All /verbosity:General|Critical Errors|Errors|Warnings|Information|Verbose

变量 URL 为您要跟踪的文件的统一资源定位符 (URL)。变量 path *|*.aspx|*.asp|custom 用于设置您要跟踪的内容。请用逗号 (,) 分隔多个内容类型。变量 statuscodes int 是您要跟踪的 HTTP 状态代码。请用逗号 (,) 分隔多个状态代码。变量 timeTaken timeSpan 是请求应耗费的最长时间,其单位为秒,格式为 hh:mm:ss。变量 areas ASP;|ASPNET/Infrastructure|Module|Page|AppServices;|ISAPI;|WWW 用于配置跟踪提供程序以及提供程序要跟踪的功能区域。请用分号 (;) 分隔多个跟踪提供程序,用逗号 (,) 分隔多个功能区域。变量 verbosity General|Critical Errors|Errors|Warnings|Information|Verbose 用于设置您希望日志文件包含的 information 的类型和量。默认值为 Verbose。

例如,若要创建一个失败请求跟踪规则以用于记录针对 ASP.NET 文件且响应时间大于 20 秒的请求,请在命令提示符处键入如下命令,然后按 Enter:

Appcmd configure trace "Contoso/catalog.aspx" /enable /path:*.aspx /timeTaken:00:00:20 /areas:ASPNET/Infrastructure,Module,Page,Appservices /verbosity:Warning

有关 Appcmd.exe 的详细信息,请参阅 。

配置

本主题中的过程会影响以下配置元素:







有关 IIS 7 配置的详细信息,请参阅 MSDN 上的 。

WMI

请使用以下 WMI 类、方法或属性执行此过程:

TraceFailedRequestsSection.Add 方法

2003 与 2000 不清楚支持效果会如何的?
阅读(796) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~