Upload
sentri
View
455
Download
0
Embed Size (px)
DESCRIPTION
Jason Himmelstein's presentation at SP Connections 2012
Citation preview
SharePoint Logging & Debugging
The Troubleshooter’s Best Friend
Jason Himmelstein Sentri, Inc
www.sharepointlonghorn.com
@sharepointlhorn
Cornelius J. van Dyk Crayveon Corporation
www.cjvandyk.com/blog
@cjvandyk
• 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
• 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
• How has SharePoint traditionally done logging
New Functionality in SharePoint 2010
• Size limitation
• Easy Granular tuning, with visibility into what’s tuned
• Ability to specify number of days to log
• 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.
• How do I turn it off and on?
• Health Logging timer jobs are disabled by default
• How to enable:
• Filter by Disabled and enable one by one
• The drivers behind Web Analytics
• True detail on who clicked what, and what they saw
Finding the root cause
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?
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
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%';
The Developer Dashboard (cont’d)
The Developer Dashboard (cont’d)
The Developer Dashboard (cont’d)
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
Configurable ULS Logs
Flood Protection
Developer Dashboard
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
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?
NTEventLog in SPFLogger
NTEvent Analytics in SPFLogger
ULSTraceView in SPFLogger
TimerJob Log in SPFLogger
TimerJob Analytics in SPFLogger
Handy Reference Information
• Useful Stuff
• Jason’s info http://www.sharepointlonghorn.com
@sharepointlhorn
• Corne’s info http://www.cjvandyk.com/blog
@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
Thanks to our giveaway sponsor & Sentri
Partner!
Your Feedback is Important
Please fill out a session evaluation form
drop it off at the conference registration
desk.
Thank you!