sharepoint logging & debugging

29
SHAREPOINT LOGGING & DEBUGGING: THE TROUBLESHOOTERS BEST FRIEND Jason Himmelstein SharePoint Practice Director, Sentri, Inc www.sharepointlonghorn.com [email protected] @sharepointlhorn Cornelius J. van Dyk Enterprise Architect, Crayveon Corporation www.cjvandyk.com/blog [email protected] @cjvandyk

Upload: sentri

Post on 10-Feb-2015

1.970 views

Category:

Technology


1 download

DESCRIPTION

SharePoint Saturday Austin - SharePoint Logging & Debugging: The Troubleshooter’s Best Friend

TRANSCRIPT

Page 1: SharePoint logging  & debugging

SHAREPOINT LOGGING & DEBUGGING: THE TROUBLESHOOTER’S BEST FRIEND

Jason Himmelstein SharePoint Practice Director, Sentri, Inc

www.sharepointlonghorn.com [email protected]

@sharepointlhorn

Cornelius J. van Dyk Enterprise Architect, Crayveon Corporation

www.cjvandyk.com/blog [email protected]

@cjvandyk

Page 2: SharePoint logging  & debugging

• Please turn off all electronic devices or set them to vibrate.

• If you must take a phone call, please do so in the hall so as not to disturb others.

• Open wireless access is available with no password

• Feel free to “tweet and blog” during the session

• Thanks to our Title Sponsors:

Thank you for being a part of the first SharePoint Saturday Austin

Page 3: SharePoint logging  & debugging

ABOUT JASON • SharePoint Practice Director, Sentri Inc. • Microsoft vTSP

– virtual Technology Solutions Professional

• SharePoint Foundation Logger (http://spflogger.codeplex.com) • Web: www.sentri.com • Blog: www.sharepointlonghorn.com • Twitter: @sharepointlhorn • LinkedIn: www.linkedin.com/in/jasonhimmelstein

Page 4: SharePoint logging  & debugging

ABOUT CORNELIUS • Chief SharePoint Architect, Crayveon • 7 time Microsoft MVP • MCITP, MCTS SharePoint 2010 • SharePoint Foundation Logger (http://spflogger.codeplex.com) • Blog: www.cjvandyk.com/blog • Twitter: @cjvandyk • LinkedIn: http://www.linkedin.com/in/cjvandyk

Page 5: SharePoint logging  & debugging

SHAREPOINT LOGGING – A HISTORY • How has SharePoint traditionally done logging

– IIS Logs

– ULS Logs

– Upgrade Logs

– PSConfig Logs

Page 6: SharePoint logging  & debugging

SHAREPOINT LOGGING – NEW & IMPROVED! New Functionality in SharePoint 2010

– Correlation IDs

– Flood Protection

– Developer Dashboard

– Usage Logging (Web Analytics)

– Configurable ULS Logs

Page 7: SharePoint logging  & debugging

CORRELATION IDS • What is this weird 32 character message and why do I

care?

• How are they used in SharePoint 2010?

• Why are they useful?

Page 8: SharePoint logging  & debugging

FLOOD PROTECTION

• I’m smart, why don’t I want to see everything?

• How does Flood Protection work?

• How do I turn it off and on?

With this option enabled, if the same event fires 5 times within 2 minutes, SharePoint will suppress the event from logging and throw a summary event at the 2 minute mark. The default behavior and can be customized using PowerShell and the Set-SPDiagnosticConfig cmdlet.

Page 9: SharePoint logging  & debugging

FLOOD PROTECTION (CONT’D) • How do I turn it off and on?

Page 10: SharePoint logging  & debugging

THE DEVELOPER DASHBOARD • How do I turn it on for a limited scope only?

• There’s some great info here for developers, but what does it tell

me from an Operations/Support perspective?

• How can I convince my development team to code for it?

• SPMonitored Scope – Not available in Sandboxed Solutions

Page 11: SharePoint logging  & debugging

THE DEVELOPER DASHBOARD (CONT’D) • Enabling the dashboard

– 3 modes

• Off

• On

• OnDemand (recommended)

– STSADM • stsadm -o setproperty -pn developer-dashboard -pv [off | on | ondemand]

– PowerShell

$j = [Microsoft.SharePoint.Administration.SPWebService]::ContentService.DeveloperDashboardSettings; $j.DisplayLevel = ; $j.Update()

Add-PSSnappin Microsoft.SharePoint.PowerShell –EA 0

$j = [Microsoft.SharePoint.Administration.SPWebService]::ContentService.DeveloperDashboardSettings;

$j.DisplayLevel = 'OnDemand';

$j.Update()

Optional parameters

$j.TraceEnabled = $true;

$j.RequiredPermissions = '%MaskSetting%';

Page 12: SharePoint logging  & debugging

THE DEVELOPER DASHBOARD (CONT’D)

Page 13: SharePoint logging  & debugging
Page 14: SharePoint logging  & debugging
Page 15: SharePoint logging  & debugging

SPMONITOREDSCOPE

• The SPMonitoredScope class resides in the Microsoft.SharePoint.Utilities namespace. – Example of wrapped code:

• A tip for the best and most effective use of SPMonitoredScope: – All calls to external components, such as custom databases, external Web services, and so on, should

be wrapped with SPMonitoredScope. This will make it easier for administrators to identify them as points of failure, and to isolate the problem quickly.

• Sandbox Solutions are not able to be wrapped in SPMonitoredScope

• Measured statistics are written to the ULS logs as well as to the Developer Dashboard.

• There are a few limitations for using SPMonitoredScope. – Only calls to SharePoint databases are captured.

– Only the code wrapped with SPMonitoredScope that resides on the front-end Web server appears on the Developer Dashboard. Code that executes on application servers only displays the SPMonitoredScope information in the ULS logs of the computer that the code is running on.

• Create custom monitors by adding ISPScopedPerformanceMonitor to the current SPMonitoredScope

Page 16: SharePoint logging  & debugging

DEMO

• Developer Dashboard

Page 17: SharePoint logging  & debugging

HEALTH DATA COLLECTION • Health Logging timer jobs are disabled by default

– Be selective in what you want to enable

• How to enable: – Central Admin | /_admin/ServiceJobDefinitions.aspx

• Filter by Disabled and enable one by one

– Powershell commandlet: SPDiagnosticProvider

– Enable all Health Data Collection option in Central Admin | /_admin/LogUsage.aspx

Page 18: SharePoint logging  & debugging

USAGE LOGGING

• The drivers behind Web Analytics

• True detail on who clicked what, and what

they saw

Page 19: SharePoint logging  & debugging

CONFIGURABLE ULS LOGS

• Size limitation

• Easy Granular tuning, with visibility into what’s tuned

• Ability to specify number of days to log

Page 20: SharePoint logging  & debugging

DEMO

• Web Analytics • In Central Admin

– Administrative Report Library – Search Admin Reports – Health Reports -Slowest Pages & Top Active Users – Break down by Web Application – Traffic, Search Inventory

• Configurable ULS Logs

Page 21: SharePoint logging  & debugging

ONE DATABASE TO RULE THEM ALL: THE LOGGING DATABASE

• What can it log? • How do I tell it to start logging? • How do I get the information out? • Are there tools out there to help me see the data easier?

– BDC models – SQL Views – CodePlex Projects

• Are there performance implications?

Page 22: SharePoint logging  & debugging

DEMO

• SQL Views

• CodePlex Projects – http://SPFLogger.codeplex.com

Page 23: SharePoint logging  & debugging

NTEVENTLOG IN SPFLOGGER

Page 24: SharePoint logging  & debugging

NTEVENT ANALYTICS IN SPFLOGGER

Page 25: SharePoint logging  & debugging

ULSTRACEVIEW IN SPFLOGGER

Page 26: SharePoint logging  & debugging

TIMERJOB LOG IN SPFLOGGER

Page 27: SharePoint logging  & debugging

TIMERJOB ANALYTICS IN SPFLOGGER

Page 28: SharePoint logging  & debugging

HANDY REFERENCE INFORMATION • Useful Stuff

• Jason’s info – http://www.sharepointlonghorn.com – [email protected] – @sharepointlhorn

• Corne’s info – http://www.cjvandyk.com/blog – [email protected] – @cjvandyk

• Todd Carter’s info – @toddca – http://www.todd-carter.com/

• Russ Maxwell’s Blog – http://blogs.msdn.com/b/russmax

• Microsoft References – SPMonitoredScope Class

• http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.utilities.spmonitoredscope(office.14).aspx

– Using SPMonitoredScope Class • http://msdn.microsoft.com/en-us/library/ff512758.aspx

• Download links • http://spflogger.codeplex.com • Microsoft SharePoint 2010 Administration Toolkit v2.0

Page 29: SharePoint logging  & debugging

THANKS TO OUR OTHER SPONSORS! Thanks to our Sponsors