Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

34
SharePoint Logging & Debugging The Troubleshooter’s Best Friend Jason Himmelstein Sentri, Inc www.sharepointlonghorn.com [email protected] @sharepointlhorn Cornelius J. van Dyk Crayveon Corporation www.cjvandyk.com/blog [email protected] @cjvandyk

description

Jason Himmelstein's presentation at SP Connections 2012

Transcript of Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

Page 1: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

SharePoint Logging & Debugging

The Troubleshooter’s Best Friend

Jason Himmelstein Sentri, Inc

www.sharepointlonghorn.com

[email protected]

@sharepointlhorn

Cornelius J. van Dyk Crayveon Corporation

www.cjvandyk.com/blog

[email protected]

@cjvandyk

Page 2: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

• SharePoint Practice Director, Sentri Inc.

• MCITP, MCTS SharePoint 2010

• 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 3: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

• 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 4: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging
Page 5: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging
Page 6: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

• How has SharePoint traditionally done logging

Page 7: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

New Functionality in SharePoint 2010

Page 8: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging
Page 9: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

• Size limitation

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

• Ability to specify number of days to log

Page 10: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

• 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 11: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging
Page 12: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

• How do I turn it off and on?

Page 13: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

• Health Logging timer jobs are disabled by default

• How to enable:

• Filter by Disabled and enable one by one

Page 14: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

• The drivers behind Web Analytics

• True detail on who clicked what, and what they saw

Page 15: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

Finding the root cause

Page 16: Himmelstein SP Connections HAD207 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 17: Himmelstein SP Connections HAD207 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 18: Himmelstein SP Connections HAD207 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()

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

$j.DisplayLevel = 'OnDemand';

$j.Update()

Optional parameters

$j.TraceEnabled = $true;

$j.RequiredPermissions = '%MaskSetting%';

Page 19: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

The Developer Dashboard (cont’d)

Page 20: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

The Developer Dashboard (cont’d)

Page 21: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

The Developer Dashboard (cont’d)

Page 22: Himmelstein SP Connections HAD207 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 23: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

Configurable ULS Logs

Flood Protection

Developer Dashboard

Page 24: Himmelstein SP Connections HAD207 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 25: Himmelstein SP Connections HAD207 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 more easily? ● BDC models

● SQL Views

● CodePlex Projects • Are there performance implications?

Page 26: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

SQL Views

CodePlex Projects

http://SPFLogger.codeplex.com

Page 27: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

NTEventLog in SPFLogger

Page 28: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

NTEvent Analytics in SPFLogger

Page 29: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

ULSTraceView in SPFLogger

Page 30: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

TimerJob Log in SPFLogger

Page 31: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

TimerJob Analytics in SPFLogger

Page 32: Himmelstein SP Connections HAD207 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 33: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

Thanks to our giveaway sponsor & Sentri

Partner!

Page 34: Himmelstein SP Connections HAD207 SharePoint Logging & Debugging

Your Feedback is Important

Please fill out a session evaluation form

drop it off at the conference registration

desk.

Thank you!