SharePoint 2013 comes with a wide range of tools that can help you monitor the health and usage of your SharePoint deployment, the SharePoint Health Analyzer The SharePoint Health analyzer is a built-in SharePoint component that alerts administrators to potential performance or configuration problems within a SharePoint server farm. The SharePoint Health Analyzer is based around a set of preconfigured rules in the following four categories:
- Security: These rules check whether your environment breaks various security guidelines; for example, if administrator accounts are used to run
application pools or the server farm account is used for other services.
- Performance. These rules detect conditions that can impact the performance of the server farm; for example, if database indices are fragmented or the paging file size is insufficient.
- Configuration. These rules detect a wide range of potential configuration problems, such as whether outbound email is not configured, a patch installation is required, the distributed cache is not enabled, Web.config files are not identical across all servers in the farm and so on.
- Availability: These rules detect conditions that may result in server or farm downtime, such as if drives are running out of free space, the Security Token Service is not available, or one or more servers is not responding.
Each rule is executed periodically by a timer job, either monthly, weekly, daily, hourly, or only on demand. When an issue is detected, the Central Administration home page displays a red banner that is intended to draw your attention to the problem. As an administrator, you can:
- Enable or disable specific rules.
- Change the frequency with which rules are evaluated.
- Execute rules on demand.
- Configure alerts or workflows on rule definitions.
- Configure rules to attempt to repair detected errors automatically.
You might want to disable rules that do not apply to your environment, or run rules that regularly identify problems on a more frequent basis. Similarly, you may want to configure alerts or workflows on rules that regularly identify issues, for example to alert a server administrator when disk space is low. Executing rules on demand is useful when you have resolved a problem and you want to verify your solution.
Diagnostic logging
SharePoint logs a wide range of diagnostic information to the Windows event log and to the SharePoint Unified Logging Service (ULS) trace log. SharePoint writes information to the logs when events occur. These events are organized by category and then by subcategory. Categories reflect major platform areas, for example, service applications and feature sets, such as Business Connectivity Services, Document Conversions and SharePoint Foundation. Within each category, subcategories provide a category-specific breakdown of functionality. For example, the Document Conversions category includes subcategories for the Launcher Service, the Load Balancer Service and SharePoint Foundation. SharePoint assigns a severity to every event that occurs. For the Windows event log, these severity levels are as follows, from the lowest to the highest severity:
- Verbose
- Information
- Warning
- Error
- Critical
For the ULS trace logs, the severity levels are as follows, from lowest to highest severity:
- Verbose
- Medium
- High
- Monitorable
- Unexpected
As an administrator, you can configure the least critical events that you want to write to the Windows event log or the ULS trace log. You can apply your least critical event criteria to every diagnostic category, to specific categories, or to specific subcategories. This enables you to strike a balance between providing enough information to troubleshoot problems without filling the logs with an unnecessary amount of information. For example, if you are experiencing problems with the Visio Services application, you might apply more verbose logging criteria to the Visio Graphics Service category to help you diagnose the problem. You can configure how long the SharePoint server should keep log files and how much disk space the log files are permitted to use. You can also enable the Event Log Flood Protection feature, that prevents SharePoint repeating events multiple times.
Usage and health data collection
You can configure SharePoint 2013 to collect a wide range of usage and health information. This information can provide insights into how your deployment is used and help you to identify components that are performing poorly or experiencing heavy load. SharePoint 2013 collects usage and health data from a variety of sources, including event logs, performance counters, search usage data, site collection and site usage data and server statistics. Information is initially collected in log files in the 15\LOGS folder. SharePoint then uses timer jobs to collect data from these log files and update the usage database. You can configure how often these timer jobs run, depending on your monitoring requirements.
You can consume information from the usage database in a variety of ways. You can view health reports directly from the Central Administration website. These health reports provide insights into various aspects of your deployment, such as which pages are slowest and which users are most active. You can view usage reports as Excel workbooks on individual site collections. You can also query the usage database to generate reports using various tools, such as SQL Server Reporting Services.
Performance counters
Performance counters are hardware-level registers or platform-level registers that track resource consumption and other events. For example, the more widely-used performance counters include measures of percentage processor time, available memory and disk queue lengths. When you install SharePoint 2013, it adds a wide range of additional performance counters to Windows Server. You can use performance counters in various ways. You can use the Performance Monitor tool, that is built into Windows Server, to view live performance counter data and capture traces. You can also use the Add-SPDiagnosticsPerformanceCounter cmdlet in Windows PowerShell to add performance counters to the SharePoint usage database, so that the performance counter data is logged automatically at specific intervals.