Module 4: Troubleshooting Web Servers
Overview Use IIS 7.0 troubleshooting features to gather troubleshooting information Use the Runtime Control and Status API Use Automatic Failed Request Tracing Add trace events to managed modules
Lesson 1: Troubleshooting IIS 7.0 Describe how IIS 7.0 Failed Request Tracing functions List uses for the Runtime Control and Status API Describe IIS 7.0 Failed Request Event Buffering Use IIS 7.0 custom errors to help troubleshooting efforts
Failed Request Tracing Tracing without reproducing “failed requests” Configurable custom failure definitions per URL Persistant failure log files Can use for all requests to monitor server activity
Runtime Control and Status API Run-time state information available Current processes running Application Pools Process Id (PID) Currently executing requests Run-time control possible AppDomains loaded Real-time starting & stopping of sites
Failed Request Event Buffering Traces all requests through IIS pipeline Automatically enabled Easily identifies requests that are stuck, or failing Identifies time taken in each module, helping to analyze long running requests Begin Request Read Configuration Authenticate Authorize Cached ISAPI Filter Determine Handler
Troubleshooting in IIS 7.0: Custom Errors Re-built custom errors Language specific (Accept-Encoding) Experience different for external clients than “Localhost” Detailed information Time URL Current Module Response Status, Sub-Status More information (steps to fix problem)
Lesson 2: Using the Runtime Control and Status API Describe uses for the Runtime Status and Control API (RSCA) List RCSA design goals Describe the function of the IRSCA_WAS object Describe the function of the IRSCA_W3SVC object Identify RSCA Example Objects and Data
Runtime Status and Control API (RCSA) Obtains runtime status Controls runtime settings Across all areas: Application Pools Worker Processes Web Sites Application Domains HTTP Requests
RCSA Goals Provide means of obtaining current runtime state Provide direct and consistent way to control runtime state Expose detailed runtime state
Lesson 3: Using Automatic Failed Request Tracing Describe the IIS 7.0 tracing infrastructure Describe Automatic Failed Request Tracing
How the Tracing Infrastructure Works Consumer Module (ETW, FREB etc) w3core Trace event sources Trace event providers / consumers Any pipeline module Trace Configuration Read trace configuration Trace Configuration Trace Event Your trace output format
Automatic Failed Request Tracing No reproduction tracing for “failed requests” Specify tracing by: Content type Status code Time taken Provider URL Trace log files persist beyond process lifetime