IIS 之 失败请求跟踪规则

  若想使用此功能需先启动如下图的Windows功能:

  

  利用失败请求跟踪功能,可以在出现问题时捕获相应的XML格式的日志,从而无需重现该问题即可开始故障排除。此外,还可以定义应用程序的失败条件并配置要基于URL记录的跟踪事件。

  失败请求跟踪可以在两个级别进行配置:

  [1]在站点级别,可以启用或禁用跟踪并配置日志文件设置。

  [2]在应用程序级别,可以指定捕获跟踪事件时的失败条件,同时还可以配置应在日志文件条目中捕获的跟踪事件。

(一)查看失败请求跟踪规则的列表

  若要管理失败请求的跟踪规则,可以查看包含特定配置级别所有失败请求跟踪规则的列表。可以按路径、关联的跟踪提供程序、HTTP 状态代码、处理请求所用的时间或范围(本地或继承)对该列表进行排序。此外,还可以按范围对规则进行分组,以便快速查看哪些规则适用于当前配置级别,以及哪些规则是从父级继承而来的。

  1.  打开 IIS 管理器,然后导航至要管理的级别。

  2.  在"功能视图"中,双击"失败请求跟踪规则"。

  此外,也可通过命令行方式实现,若要查看失败请求跟踪规则的列表,请使用下面的语法:

  appcmd configure trace "string"

  变量 string 是要查看其失败请求跟踪规则列表的站点的名称。

(二)为失败请求启用跟踪日志记录

  如果希望 IIS 记录有关未能提供站点或应用程序内容的请求的信息,就可以启用针对失败请求的跟踪日志记录。在启用针对失败请求的跟踪日志记录后,IIS 将提供有针对性的日志,无需再从充满无关日志条目的列表中费力查找,即可找到失败的请求。此外,无需重现错误即可解决它们。

  可以配置以下内容:日志文件的位置;要保留的最大日志文件数;日志文件的最大大小。

  1.  打开 IIS 管理器,然后导航至要管理的级别。

  2.  在"连接"窗格中,单击"网站"。

  3.  在"功能视图"中,选择要为其启用跟踪日志记录的站点。

  4.  在"操作"窗格的"配置"下,单击"失败请求跟踪"。

  5.  在"编辑网站失败请求跟踪设置"对话框中,选择"启用",以便为该站点启用日志记录。

  6.  在"目录"文本框中,键入要用于存储日志文件的路径,或者单击浏览按钮("…")在计算机上查找所需的位置。默认路径为 %SystemDrive%\inetpub\logs\FailedReqLogFiles。

  注:最佳做法是将日志文件(例如失败请求跟踪的日志文件)存储在 systemroot 之外的目录中。

  7.  在"跟踪文件的最大数量"文本框中,键入要保留的跟踪日志文件的最大数量,然后单击"确定"。

(三)禁用失败请求跟踪日志记录

  当不再需要跟踪对站点或站点上应用程序的失败请求时,可禁用对失败请求的站点级跟踪日志记录。 禁用了对失败请求的跟踪日志记录后,IIS 便不再创建跟踪日志来记录针对该站点的、按照失败定义界定为失败的任何请求。

  1.  打开 IIS 管理器,然后导航至要管理的级别。

  2.  在"连接"窗格中,单击"网站"。

  3.  在"功能视图"中,单击要为其禁用跟踪日志记录的站点。

  4.  在"操作"窗格的"配置"下,单击"失败请求跟踪"。

  5.  在"编辑网站失败请求跟踪设置"对话框中,清除"启用",然后单击"确定"。

(四)为失败请求创建跟踪规则

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

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

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

  1.  打开 IIS 管理器,然后导航至要管理的级别。

  2.  在"功能视图"中,双击"失败请求跟踪规则"。

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

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

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

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

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

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

  5.  单击"下一步"。

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

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

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

  - 事件严重性 - 从"事件严重性"下拉列表中选择要跟踪的严重性级别。可以选择"错误"、"严重错误"或"警告"。

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

  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.  单击"完成"。

(五)编辑失败请求跟踪规则

  当要更改规则的失败定义时,可更改失败请求跟踪设置。当要收集有关失败请求的其他信息时也可更改这些设置,例如,当要更改在将请求视为失败请求前等待的响应时间长度时即可更改这些设置。

  1.  打开 IIS 管理器,然后导航至要管理的级别。

  2.  在"功能视图"中,双击"失败请求跟踪规则"。

  3.  在"失败请求跟踪规则"页中,单击要更改的规则,然后单击"操作"窗格中的"编辑"。

  4.  在"指定要跟踪的内容"对话框中,单击"下一步"。

  5.  也可以在"定义跟踪条件"对话框中执行以下一项或多项操作:

  - 在"状态代码"文本框中更改状态代码,以便跟踪更改后的状态代码的失败情况。

  - 更改"所用时间(秒)",在"所用时间(秒)"文本框中键入时间间隔。

  - 通过从"事件严重性"下拉列表中选择新的严重性来更改事件严重性,然后单击"下一步"。

  6.  也可以在"选择跟踪提供程序"对话框中执行以下一项或多项操作以更改提供程序:

  - 如果要将 IIS 配置为跟踪 ASP 请求,请单击"ASP"。

  - 如果要将 IIS 配置为跟踪 ASP.NET 请求,请单击"ASPNET"。

  - 如果要将 IIS 配置为跟踪 WWW 服务器请求,请单击"WWW 服务器"。

  - 如果要将 IIS 配置为跟踪 ISAPI 请求,请单击"ISAPI 扩展"。

  7.  也可以单击某一提供程序以更改其详细级别。

  8.  在"提供程序属性"下的"详细程度"下拉列表中,单击一个详细级别。

  9.  针对在"选择跟踪提供程序"对话框中选择并且要更改其详细级别的每个提供程序,重复执行第 7 步和第 8 步。

  10.  也可以单击某一提供程序以更改希望其跟踪的区域。

  11.  在"区域"下,选择希望此提供程序跟踪的区域。

  12.  针对在"选择跟踪提供程序"对话框中选择并且要更改其跟踪的区域的每个提供程序,重复执行第 10 步和第 11 步。

  13.  单击"完成"。

  注: 必须指定至少一个跟踪提供程序才能使"完成"按钮启用。

(六)删除失败请求跟踪规则

  如果不再需要跟踪特定的请求故障,则可以删除失败请求的跟踪规则。可以删除本地级别的失败请求跟踪规则,也可以删除继承自父级别的失败请求跟踪规则。

  1.  打开 IIS 管理器,然后导航至要管理的级别。

  2.  在"功能视图"中,双击"失败请求跟踪规则"。

  3.  在"失败请求跟踪规则"页上,单击要删除的跟踪规则以将其选中。

  4.  在"操作"窗格中,单击"删除",然后单击"是"。

时间: 2024-10-14 20:39:59

IIS 之 失败请求跟踪规则的相关文章

访问IIS元数据库失败解决方法

这个问题一般在做.net开发网站时候会遇到,我就是在那个时候遇到的 访问 IIS 元数据库失败 解决方法 现象如下: 访问 IIS 元数据库失败. 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Web.Hosting.HostingEnvironmentException: 访问 IIS 元数据库失败. 用于运行 ASP.NET 的进程帐户必须具有对 IIS 元数据库(如 IIS://

访问 IIS 元数据库失败

问题: 访问 IIS 元数据库失败.说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Web.Hosting.HostingEnvironmentException: 访问 IIS 元数据库失败. 用于运行 ASP.NET 的进程帐户必须具有对 IIS 元数据库(如IIS://servername/W3SVC)的读访问权.有关如何修改元数据库权限的信息,请参见http://support.

问题.NET访问 IIS 元数据库失败。

问题现象:访问 IIS 元数据库失败. 说明:执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Web.Hosting.HostingEnvironmentException: 访问 IIS 元数据库失败. 问题原因:先安装.NET,后安装IIS,IIS没有启用.NET的新程序. 问题处理:如果是先安装IIS,再安装.NET Framework,系统应该可以正常解析.aspx页面: 但是,如果是先

异常详细信息: System.Web.Hosting.HostingEnvironmentException: 访问 IIS 元数据库失败 解决方法

访问IIS元数据库失败 同理,给操作系统的新建用户赋予IIS操作权限同样可以采用该命令来处理 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Web.Hosting.HostingEnvironmentException: 访问 IIS 元数据库失败. 用于运行 ASP.NET 的进程帐户必须具有对 IIS 元数据库(如 IIS://servername/W3SVC)的读访问权.有关如何

IIS处理并发请求时出现的问题及解决

原文链接:http://www.cnblogs.com/hgamezoom/p/3082538.html 一个ASP.NET项目在部署到生产环境时,当用户并发量达到200左右时,IIS出现了明显的请求排队现象,发送的请求都进入等待,无法及时响应,系统基本处于不可用状态.因经验不足,花了很多时间精力解决这个问题,本文记录了我查找问题的过程和最后解决方案,供大家参考. 软硬件环境: IBM刀片服务器,Intel至强处理器,4物理核,16个逻辑核心,内存32G Windows Server2008 E

IIS处理浏览器请求的流程

我曾在(发布网站 IIS部署网站)一文中说到 我们在IIS上部署一个网站的时候(我们在Internet 信息服务(IIS)管理器,对应网站的右边>编辑网站>基本设置,可以看到,网站名称与应用程序池的名称是一样的:其实我们在IIS里创建一个网站的时候,IIS会自动给我们建立一个与网站名称相同名称的应用程序池,这个应用程序池是干什么用的呢?当你请求这个MyTestWebSite网站以后,网站需要处理我们的请求,这样就需要有一个进程来处理,这个进程就是这个应用程序池里面的进程,帮我们处理对于这个网站

Errore HTTP 404.2 - Not Found" IIS 7.5 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理

今天配置本地iis出现了一些问题,第一个是出现cgi等错误,iis重新安装后(大部分功能都打勾了)还是不能解决,选择iis服务器根目录,选择isapi和cgi限制,跟服务器iis对比了下,发现里面只有asp.net v2.0,于是添加了一个4.0,windows目录下的Microsoft.NET/Framework/v4.0.30319/aspnet_isapi.dll,问题解决 第二个问题是直接加了个默认目录是index.aspx,用了url重写,出现Errore HTTP 404.2 - N

HTTP错误 404.17 - Not Found" IIS 7.5 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理

Errore HTTP 404.2 - Not Found" IIS 7.5 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理 出现这种情况的原因通常是因为先安装了Framework,后安装的IIS: 运行cmd,输入: C:\Windows\Microsoft.NET\Framework\V4.0.30319\aspnet_regiis -i 注:C:\Windows\Microsoft.Net\Framework\V4.0.30319\   是 netframework安装对应的路径

IIS如何确定请求的处理程序

1. 给定一个url请求,IIS需要确定它的文件名,扩展名,以及最相似的与本请求资源合适的"ScriptMaps"metadata (缓存的ISAPI扩展 - 应用程序扩展名映射列表); 2. IIS检查是否有设定了的应用程序通配符,若有则匹配第一条应用程序扩展名映射: 如果这个扩展映射返回“我不处理这类请求”,IIS将继续查找下一个,直到找到匹配的: 3. 如果没有通配符处理这个请求,然后IIS开始根据请求的扩展名,来依次匹配每个ScriptMaps,来确定合适的应用程序来处理.如果