330 likes | 498 Views
Managing IIS 6.0 Servers in an Enterprise Environment: A Handful of Tips and Tricks. Chris Adams Program Manager IIS Product Unit Microsoft Corporation. Agenda. A quick introduction… Understanding Complexities with Deployments Managing IIS 6.0 & applications in an Enterprise
E N D
Managing IIS 6.0 Servers in an Enterprise Environment: A Handful of Tips and Tricks Chris Adams Program Manager IIS Product Unit Microsoft Corporation
Agenda • A quick introduction… • Understanding Complexities with Deployments • Managing IIS 6.0 & applications in an Enterprise • Preparing when things go wrong… • Protection: Looking at disasters • Summary…
A quick introduction… • The day starts and ends with Preparation • IT Administrators lifecycle events in IIS • Deployments • Managing Sites & Applications • Troubleshooting & Diagnostics • Preparing for the unknown: Disasters • Prepare with understanding of Tools • Deployment: Scripting • Managing: Log Parser, Performance Monitor • Troubleshooting: Event Tracing, Log Parser, Debug Diagnostics 1.0 • Disasters: Xcopy, IIsCertDeploy, IIsBack
A quick introduction (2) • Tools for IIS 6.0 enterprise management facts • OS-related tools shipped on Windows Server 2003 CD • IIS 6.0 related tools shipped on the Windows Server 2003 CD • IIS 6.0 Resource Kit Tools • IIS Diagnostics Tools: www.iisdiagnostics.com • Today…learn how to use ‘em right! (I hope!)
Understanding Complexities with Deployments • Why is it so hard? • Moving IIS 6.0 configuration from server to servers • Effectively doing “diffs” between IIS 6.0 servers • Moving content from server to server • How do I solve these complexities? • Understand what tools to use • Understand your IIS 6.0 server requirements • Model deployments (i.e. templatize them)
Understanding Complexities with Deployments (2) • Tools to use: • Xcopy or Robocopy • IIsCnfg.vbs, AdsUtil.vbs & IIsExt.vbs • IIsCertDeploy.vbs (only for SSL-enabled sites) • XCopy\Robocopy • Moves content from server to server • Why use this method? • Server Backups offer disk-based & files backup • Web Farms: Difficult because you have x-servers • Use Xcopy\Robocopy to move to Central Location
Understanding Complexities with Deployments (3) • IIsCnfg.vbs • Moves configuration from dev\staging environment • /export /import – Understand offerings • Automation opportunities… • AdsUtil.vbs • First step: Add to System Path (not in %windir%\system32) • Default: %systemroot%\inetpub\adminscripts
Understanding Complexities with Deployments (4) • IIsExt.vbs: Used to enable dynamic content • ISAPI’s: Typically *.dll’s • Do not require regsrv32 (like COM objects) • Requires Path for Deployment • Application Permissions: Requirements • CGI’s: • Typically *.exe or *.cgi • Base Threads for Execution • Security: Enable one-by-one, or per application • Do not choose “Allow all Unknown…”
Understanding Complexities with Deployments (5) • SSL-enabled sites & IIsCertDeploy.vbs • SSL Background: • Typical: IP:Port Bindings for SSL-enabled sites • Advanced: IP:Port:HostHeader • Requires Service Pack 1 • Why is this important? • Testing environments with no SSL are dangerous & problematic
Understanding Complexities with Deployments (6) • Why is this important? (cont.) • Ex: Testing using IP address, not FQDN • Ex: 4443, not 443Using non-standard ports • Result: Failure to understand the end-user’s experience • Moving Certificate from Test to Production Single Server iiscertdeploy.vbs –e %pathtopfxfile% -I %metabasepath% -p pwdforfile
demonstration One Click Deployment
Managing IIS 6.0 & applications in an Enterprise • Use the right Tools • Core OS Tools • Using Performance Monitor • Service Pack 1 Tracing • Microsoft Operations Manager (MOM) 2005 • Base lining the application • Understanding the Applications usage • Top request URI’s per day • Maximum Requests per time slot
Managing IIS 6.0 & applications in an Enterprise (2) • Using Log Parser to get this Top … • URI’s per day • Max Requests per time slot REM ** Top URI Per Day SELECT TO_STRING(TO_LOCALTIME(TO_TIMESTAMP(date, time)), 'HH') AS Hours, COUNT(*) AS PercentHits INTO PercentHourlyHits.gif FROM logs\ex*.log www.logparser.comfor more…
Managing IIS 6.0 & applications in an Enterprise (3) • Why should you install Service Pack 1? • Many features added… • Enable Metabase Auditing • Enable Static Compression • Enable key Logging Fields • Centralized W3C Logging • Biggest: Enterprise Tracing events increased 10x to ~240 events • What is tracing (um, how ETM works?)
Managing IIS 6.0 & applications in an Enterprise (5) • How ETW works -
Managing IIS 6.0 & applications in an Enterprise (6) Request • Primary purpose of Tracing – Diagnostics… • Why do I use tracing to “manage” applications? • Application “Profiling” • Know each component “used” for the application Begin Request Read Metadata Authenticate Authorize Cached ISAPI Filter Determine Handler
Managing IIS 6.0 & applications in an Enterprise (6) • Additional thoughts… • Improve performance by using compression where appropriate • Review Application Pool (i.e. worker processes) strategy • Using time-based recycling – when? • Using request-based recycling • Memory-based recycling… • Avoid downtime: Turn off recycling on configuration changes
demonstration A few tricks…(or Tips) Enable Metabase Auditing Enable Compression Enable Centralized Logging Enable Time-Taken, etc. Enable LogEventOnRecycle
Preparing when things go wrong… • Troubleshooting 101 • Isolate the issues… • Web Farm considerations • “Typical” issues you deal with… (or will!) • Application failures: Crash, Hang, or Memory Leaks • Server Errors: HTTP 500 Errors • Common Tools used for Troubleshooting: • Windows Server 2003 Service Pack 1 Tracing • www.iisdiagnostics.com (Log Parser, IIS Request Viewer, DebugDiag, AuthDiag, SSLDiag)
demonstration Viewing Currently Executing Requests Using Tracing & IIS Request Viewer
demonstration Finding Permission Failures with AuthDiag’s AuthMon
Protection: Looking at Disasters • Often overlooked, rarely prepared for… • Why overlooked? • IT professionals often think they are covered with disk backups • Misconception that System state backups include Metabase • Creating turn-key solutions for backups & recovery • Simplify: Create a single share to create single directory for capture • Test, test, and test
Protection: Looking at Disasters (2) • Backing up IIS 6.0 & key data points • What data to get… • SSL Certificates (if necessary) • IIS 6.0 Metabase • Content • Get it done… Practice, practice, practice
demonstration Automating Backups in IIS 6.0
Protection: Looking at Disasters (3) • Restoring IIS 6.0 & key data points • Benefit of central store • Turn-key restore script needs no fancy connections • If central store not available, use tape backup to restore to another location (and update script!) • Make sure all scripts are hosted locally on server and in system path • Get it done…Practice, practice, practice
demonstration Turn key (one-click) restores
Session Summary • Use the right tools to deploy IIS 6.0 configuration, content, and dependencies • Use application log data to find out how your application works • Configure your server the right way at deployment, not afterwards • Be prepared for failures and take appropriate action • Always have a roll-back strategy – timing is everything!
References and Resources • Drill-down webcasts on key topics discussed today: Automate, Automate, Automate: Scripting IIS 6.0 http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032280620&EventCategory=5&culture=en-US&CountryCode=US Disaster Recovery and IIS 6.0: Metabase Backups in a Nutshellhttp://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032255809&Culture=en-US IIS 6.0: IIsCnfg.vbs versus IIsBack.vbs http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032268486&Culture=en-US Using Host Headers with SSL-enabled Websites http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032280959&EventCategory=5&culture=en-US&CountryCode=US
References and Resources (2) • Drill-down webcasts on key topics discussed today: Using MOM Web Sites and Services Management Pack http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032267008&EventCategory=5&culture=en-US&CountryCode=US IIS 6.0 Service Pack Tracing: Inside and Out http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032268451&EventCategory=5&culture=en-US&CountryCode=US IIS Data Mining with Log Parser 2.x http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032263723&EventCategory=3&culture=en-US&CountryCode=US