我的大部分职业生涯都在使用和排除 IIS Web 服务器故障。在我看来,对 Web 管理员来说最好的事情就是 IIS 7.0 中的 FRT(失败请求跟踪)。
我也使用过 Windows 的事件跟踪,FRT 也同样有用。
有没有这样的跟踪工具可以对管道中的请求流提供如此深入和更深入的理解?
答案1
更新:我使用 Windows 的事件跟踪,如果我想解决问题,例如“用户尝试访问匿名身份验证网站时收到提示“。ETW 提供有关每个 ISAPI 如何处理请求或用户发出的每个请求发生什么身份验证的详细信息。
在 Windows Server 2003 中,您可以使用 logman 查询可用于跟踪的内置提供程序。我使用以下提供程序,您可以自由添加自己的提供程序以进行特定跟踪:
{DD5EF90A-6398-47A4-AD34-4DCECDEF795F} 0xFFFFFFFF 0x5 # HTTP Service Trace
{DC1271C2-A0AF-400F-850C-4E42FE16BE1C} 0xFFFFFFFF 0x5 # IIS: IISADMIN Global
{D55D3BC9-CBA9-44DF-827E-132D3A4596C2} 0xFFFFFFFF 0x5 # IIS: WWW Global
{1FBECC45-C060-4E7C-8A0E-0DBD6116181B} 0xFFFFFFFF 0x5 # IIS: SSL Filter
{3B7B0B4B-4B01-44B4-A95E-3C755719AEBF} 0xFFFFFFFF 0x5 # IIS: Request Monitor
{3A2A4E84-4C21-4981-AE10-3FDA0D9B0F83} 0xFFFFFFFE 0x5 # IIS: WWW Server
{A1C2040E-8840-4C31-BA11-9871031A19EA} 0xFFFFFFFF 0x5 # IIS: WWW Isapi Extension
{06B94D9A-B15E-456E-A4EF-37C984A2CB4B} 0xFFFFFFFF 0x5 # IIS: Active Server Pages (ASP)
{AFF081FE-0247-4275-9C4E-021F3DC1DA35} 0xFFFFFFFF 0x5 # ASP.NET Events
{e13c0d23-ccbc-4e12-931b-d9cc2eee27e4} 0xFFFFFFFF 0x5 # .NET Common Language Runtime
{C92CF544-91B3-4dc0-8E11-C580339A0BF8} 0xFFFFFFFF 0x5 # NTLM Security Protocol
{bba3add2-c229-4cdb-ae2b-57eb6966b0c4} 0xFFFFFFFF 0x5 # Active Directory: Kerberos
{f33959b4-dbec-11d2-895b-00c04f79ab69} 0xFFFFFFFF 0x5 # Active Directory: NetLogon
{cc85922f-db41-11d2-9244-006008269001} 0xFFFFFFFF 0x5 # Local Security Authority (LSA)
{8e598056-8993-11d2-819e-0000f875a064} 0xFFFFFFFF 0x5 # Active Directory: SAM
将此文本保存在名为的文件中iis.guid
,并使用几个批处理文件来启动和停止跟踪。StartTracing.cmd
:
logman start Iis6.Trace -pf iis.guid -ets -ct perf
停止跟踪.cmd:
logman stop Iis6.Trace -ets
然后您可以使用 LogParser 工具来解析 .etl 文件。
cscript DumpTraceReqs.js c:\EtwTracing\Iis6.Trace.etl > c:\EtwTracing\logfile.txt
现在,阅读此 logfile.txt 很容易,并提供详细信息。
我也用过
- 来自的 Dbgview.exehttp://live.sysinternals.com/在 IIS 5.0 中。
- 进程监视器http://live.sysinternals.com/
- 在 IIS 7 / 7.5 中进行跟踪的失败请求跟踪
我想知道是否还有更多我们可以使用的。