ENTERPRISE

Monitoring a SharePoint 2010 Environment : Using the SharePoint Health Analyzer

2/21/2011 11:52:45 AM
Previous versions of SharePoint did not include many integrated tools to help with monitoring the health of the SharePoint environment. SharePoint 2010 was built with a native SharePoint Health Analyzer, as shown in Figure 1, which greatly improves the ability of SharePoint administrators to quickly detect issues within the farm.
Figure 1. Viewing the SharePoint Health Analyzer.

Reviewing SharePoint Health Analyzer Settings

The SharePoint Health Analyzer is essentially a SharePoint list, shown in Figure 2, that is driven by timer jobs that run on a regular basis. The list settings are XML-driven and can be configured to automatically resolve SharePoint Health issues in certain cases.

Figure 2. Examining Health Analyzer Rule Definitions.

In a default installation, there are more than 60 preconfigured rule definitions, in four different categories: Availability, Configuration, Performance, and Security. Each list item is configured to be checked on a regular basis. The following are a list of the default rules created in SharePoint 2010:

  • Accounts used by application pools or service identities are in the local machine Administrators group.

  • Web applications using Claims authentication require an update.

  • The server farm account should not be used for other services.

  • The Unattended Service Account Application ID is not specified or has an invalid value.

  • Application pools recycle when memory limits are exceeded.

  • Databases used by SharePoint have fragmented indices.

  • Databases exist on servers running SharePoint Foundation.

  • The paging file size should exceed the amount of physical RAM in the system.

  • Databases used by SharePoint have outdated index statistics.

  • The timer service failed to recycle.

  • Search—One or more property databases have fragmented indices.

  • Search—One or more crawl databases may have fragmented indices.

  • The Visio Graphics Service has a maximum cache age setting that will adversely impact performance.

  • The Visio Graphics Service has a maximum Web Drawing size setting that will adversely impact performance.

  • The Visio Graphics Service has a maximum recalc duration setting that will adversely impact user-perceived performance.

  • The Visio Graphics Service has a minimum cache age setting that will adversely impact performance.

  • The Visio Graphics Service has a minimum cache age setting that may cause a security issue.

  • Web Analytics: Monitors the health of the Report Consolidator component.

  • Web Analytics: Monitors the health of the Logging Extractor component.

  • Web Analytics: Monitors the health of the Data Analyzer Light component.

  • Web Analytics: Monitors the health of the User Behavior Analyzer component.

  • Alternate access URLs have not been configured.

  • The Application Discovery and Load Balancer Service is not running in this farm.

  • Automatic Update setting inconsistent across farm servers.

  • Built-in accounts are used as application pool or service identities.

  • Missing server-side dependencies.

  • Databases require upgrade or not supported.

  • Databases running in compatibility range; upgrade recommended.

  • One or more categories are configured with Verbose trace logging.

  • Outbound email has not been configured.

  • Product/patch installation or server upgrade required.

  • Databases within this farm are set to read only and will fail to upgrade unless it is set to a read-write state.

  • Web.config file has incorrect settings for the requestFiltering element.

  • Web.config files are not identical on all machines in the farm.

  • The InfoPath Forms Services Maintenance timer job is not enabled.

  • InfoPath form library forms cannot be filled out in a web browser.

  • InfoPath Forms Services forms cannot be filled out in a web browser because no State Service connection is configured.

  • Trial period for this product is about to expire.

  • Expired sessions are not being deleted from the ASP.NET Session State database.

  • The State Service Delete Expired Sessions timer job is not enabled.

  • Verify each User Profile Service Application has an associated Managed Metadata Service Connection.

  • Verify each User Profile Service Application has an associated Search Service Connection.

  • Verify each User Profile Service Application has a My Site Host configured.

  • Verify that the critical User Profile Application and User Profile Proxy Application timer jobs are available and have not been mistakenly deleted.

  • Validate the My Site Host and individual My Sites are on a dedicated web application and separate URL domain.

  • Verify that the Activity Feed Timer Job is enabled.

  • Web Analytics: Verifies that when the Web Analytics is installed and running, usage logging is enabled in the farm.

  • Web Analytics: Verifies that a web application is serviced by at most one Web Analytics service application proxy.

  • Web Analytics: Verifies that the SQL Server Service Broker is enabled for the Web Analytics staging databases.

  • Web Analytics: Verify that there is a data processing service started when there is a web service started.

  • Web Analytics: Verify that the Site Inventory Usage Collection timer job is enabled for all the web applications serviced by the Web Analytics service application.

  • Drives are running out of free space.

  • Drives are at risk of running out of free space.

  • Content databases contain orphaned items. Monthly Yes No

  • Some content databases are growing too large.

  • Database has large amounts of unused space.

  • The Security Token Service is not available.

  • One or more servers is not responding.

  • One or more services have started or stopped unexpectedly.

  • Drives used for SQL databases are running out of free space.

  • All State Service databases are paused for a State Service Application.

  • A State Service Application has no database defined.

  • The settings for Word Automation Services are not within the recommended limits.

  • Critical state of this rule indicates that the Word Automation Services is not running when it should be running.

Modifying Health Analyzer Job Definitions

The default SharePoint Health Analyzer rules can be modified directly from within Central Admin or from PowerShell. In addition, the rules can be easily extended by third-party tools or add-ons to SharePoint. Developers or administrators can also write their own custom rules to look for specific criteria.

Custom rules can be created through creation of code that uses either the SPHealthAnalysisRule or SPRepairableHealthAnalysisRule classes. Rules are compiled and registered with the Health Analyzer and, when created, are allocated an associated timer job created to run the rule.

For SharePoint administrators, the default content rules can be modified to change how often they run and whether the rule will attempt to automatically fix the problem associated with the rule. Clicking the rule and then clicking Edit Item pulls up a dialog box similar to the one shown in Figure 3, which enables for customization of the rule.

Figure 3. Modifying SharePoint Health Analyzer rule definitions.


Other  
  •  Using SharePoint 2010 Management PowerShell for Backup and Restore
  •  Restoring SharePoint Using SharePoint Central Administration
  •  Windows Azure : Static reference data (part 2) - Performance disadvantages of a chatty interface & Caching static data
  •  Windows Azure : Static reference data (part 1) - Representing simple static data in SQL Azure & Representing simple static data in the Table service
  •  Performing Granular Backup Using the SharePoint Central Administration
  •  Using SharePoint Central Administration for Backup and Restore
  •  Backing Up and Restoring a SharePoint Environment : Using the Recycle Bin for Recovery
  •  Using Non-Windows Systems to Access Exchange Server 2010 : Understanding Other Non-Windows Client Access Methods
  •  Using Non-Windows Systems to Access Exchange Server 2010 : Remote Desktop Connection Client for Mac
  •  Using Non-Windows Systems to Access Exchange Server 2010 : Configuring and Implementing Entourage for the Mac
  •  Using Non-Windows Systems to Access Exchange Server 2010 : Mac Mail, iCal, and Address Book
  •  Parallel Programming with Microsoft .Net : Futures - Variations
  •  Parallel Programming with Microsoft .Net : Futures - Example: The Adatum Financial Dashboard
  •  Parallel Programming with Microsoft .Net : Futures - The Basics
  •  Using Non-Windows Systems to Access Exchange Server 2010 : Outlook Express
  •  Using Non-Windows Systems to Access Exchange Server 2010 : Understanding Non-Windows–Based Mail Client Options
  •  Deploying the Client for Microsoft Exchange Server 2010 : Deploying with Microsoft System Center Configuration Manager 2007
  •  Deploying the Client for Microsoft Exchange Server 2010 : Pushing Outlook Client Software with Group Policies
  •  Deploying the Client for Microsoft Exchange Server 2010 : Installing the Outlook Client for Exchange Server
  •  Deploying the Client for Microsoft Exchange Server 2010 : Preparing the Deployment
  •  
    Top 10
    Windows 7 : Recovering After a Crash or Other Problem (part 1) - Recovering Using Restore Points
    Keyboard Events in Silverlight
    Windows 7 : Using Windows Defender (part 2) - Scanning Your Computer for Spyware and Malware
    Windows Server 2008 : Configure NAP
    Programming the Mobile Web : HTML 5 (part 1)
    Algorithms for Compiler Design: IMPLEMENTATION OF THE TRANSLATIONS SPECIFIED BY SYNTAX-DIRECTED DEFINITIONS
    Exploring the T-SQL Enhancements in SQL Server 2005 : The PIVOT and UNPIVOT Operators
    Safeguarding Confidential Data in SharePoint 2010 : Enabling SQL Database Mirroring
    Mobile Application Security : SymbianOS Security - Development and Security Testing
    Windows 7 : Configuring Disks and Drives (part 2) - Converting a Basic Disk to a Dynamic Disk
    Most View
    Sharepoint 2010 : Managing SharePoint Content Databases
    Ten Keys to Successful Microsoft Business Intelligence
    SQL Server 2008 : Auditing SQL Server - Creating Server Audit Specifications
    SQL Server 2008 : Explaining XML - XQuery and XPath
    Microsoft ASP.NET 4 : Configuring ASP.NET from IIS
    Building ASP.NET Web Applications : Understanding State Management
    iPhone Application Developmen : Using the View-Based Application Template (part 1)
    Connect-Back Shellcode
    Microsoft SQL Server 2005 : Report Definition and Design (part 1) - Data Sources
    Windows 7 : Protecting Your Computer While Browsing (part 2) - Viewing and Managing Browsing History
    Advanced SharePoint 2010 Installation and Scalability : Scaling Logical SharePoint Components
    Combinations and Permutations with F#
    Working with Windows 7
    Exchange Server 2010 : Track Exchange Performance (part 2) - Test the Performance Limitations in a Lab
    Windows 7 : Understanding User Account Control and Its Impact on Performance
    SharePoint 2010 : Outlining the Inherent Threat in SharePoint Web Traffic
    Backing Up the Exchange Server 2010 Environment : Understanding the Importance of Backups & Establishing Service Level Agreements
    WAP and Mobile HTML Security : Application Attacks on Mobile HTML Sites
    IIS 7.0 : Implementing Access Control - Authentication (part 1)
    Windows Server 2008 : Domain Name System and IPv6 - Secure DNS with DNSSEC