Title: Chris Adams
1Managing IIS 6.0 Servers in an Enterprise
Environment A Handful of Tips and Tricks
- Chris Adams
- Program Manager
- IIS Product Unit
- Microsoft Corporation
2Agenda
- 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
3A 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
4A 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
- Todaylearn how to use em right! (I hope!)
5Understanding complexities with Deployments
6Understanding 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)
7Understanding 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
8Understanding 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
9Understanding Complexities with Deployments (4)
- IIsExt.vbs Used to enable dynamic content
- ISAPIs Typically .dlls
- Do not require regsrv32 (like COM objects)
- Requires Path for Deployment
- Application Permissions Requirements
- CGIs
- Typically .exe or .cgi
- Base Threads for Execution
- Security Enable one-by-one, or per application
- Do not choose Allow all Unknown
10Understanding Complexities with Deployments (5)
- SSL-enabled sites IIsCertDeploy.vbs
- SSL Background
- Typical IPPort Bindings for SSL-enabled
sites - Advanced IPPortHostHeader
- Requires Service Pack 1
- Why is this important?
- Testing environments with no SSL are dangerous
problematic
11Understanding 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-users
experience - Moving Certificate from Test to Production
Single Server iiscertdeploy.vbs e
pathtopfxfile -I metabasepath -p pwdforfile
12 demonstration
One Click Deployment
13Managing IIS 6.0 applications in an Enterprise
14Managing 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 URIs per day
- Maximum Requests per time slot
15Managing IIS 6.0 applications in an Enterprise
(2)
- Using Log Parser to get this Top
- URIs per day
- Max Requests per time slot
REM Top URI Per Day SELECT TO_STRING(TO_LOCALT
IME(TO_TIMESTAMP(date, time)), 'HH') AS Hours,
COUNT() AS PercentHits INTO
PercentHourlyHits.gif FROM logs\ex.log
www.logparser.com for more
16Managing 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?)
17Managing IIS 6.0 applications in an Enterprise
(5)
18Managing 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
19Managing 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
20 demonstration
A few tricks(or Tips) Enable Metabase
Auditing Enable Compression Enable
Centralized Logging Enable Time-Taken, etc.
Enable LogEventOnRecycle
21Preparing when things go wrong
22Preparing 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)
23 demonstration
Viewing Currently Executing Requests Using
Tracing IIS Request Viewer
24 demonstration
Finding Permission Failures with AuthDiags
AuthMon
25Protection Looking at Disasters
26Protection 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
27Protection 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
28 demonstration
Automating Backups in IIS 6.0
29Protection 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 donePractice, practice, practice
30 demonstration
Turn key (one-click) restores
31Session 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!
32References and Resources
- Drill-down webcasts on key topics discussed
today - Automate, Automate, Automate Scripting IIS 6.0
- http//msevents.microsoft.com/CUI/WebCastEventDet
ails.aspx?EventID1032280620EventCategory5cultu
reen-USCountryCodeUS - Disaster Recovery and IIS 6.0 Metabase Backups
in a Nutshell http//msevents.microsoft.com/CUI
/EventDetail.aspx?EventID1032255809Cultureen-US
- IIS 6.0 IIsCnfg.vbs versus IIsBack.vbs
- http//msevents.microsoft.com/CUI/EventDetail.asp
x?EventID1032268486Cultureen-US - Using Host Headers with SSL-enabled
Websites - http//msevents.microsoft.com/CUI/WebCastEventDet
ails.aspx?EventID1032280959EventCategory5cultu
reen-USCountryCodeUS -
33References and Resources (2)
- Drill-down webcasts on key topics discussed
today - Using MOM Web Sites and Services Management
Pack - http//msevents.microsoft.com/CUI/WebCastEventDet
ails.aspx?EventID1032267008EventCategory5cultu
reen-USCountryCodeUS - IIS 6.0 Service Pack Tracing Inside and Out
- http//msevents.microsoft.com/CUI/WebCastEventDet
ails.aspx?EventID1032268451EventCategory5cultu
reen-USCountryCodeUS - IIS Data Mining with Log Parser 2.x
- http//msevents.microsoft.com/CUI/WebCastEventDet
ails.aspx?EventID1032263723EventCategory3cultu
reen-USCountryCodeUS