With “collaboration” a watchword for much of business practice today, and online platforms providing the environment in which it takes place, it’s essential to ensure that your working data is available and secure.
For Windows users especially, Microsoft SharePoint is the platform of choice. This guide will help in monitoring and maintaining your SharePoint environment.
What is Microsoft SharePoint?
It’s a browser-based content management system; a document-sharing, editing, and collaboration platform. SharePoint enables work groups to set up password-protected repositories for project documents, and use them to store, share and organise information.
SharePoint is compatible with a range of Web browsers, including Internet Explorer, Mozilla Firefox, and Google Chrome. Data can be accessed using desktop and mobile devices, and SharePoint may be used to create websites.
SharePoint in Action
Microsoft SharePoint is the collective name for a number of associated tools and technologies.
SharePoint Online is a cloud service hosted by Microsoft, as an alternative to on-site deployments of SharePoint Server. Enterprises can sign up for a standalone instance of SharePoint Online, or one of the various plans available for Office 365. You’ll first need to set up your existing Office 365 account for file storage and sharing. In both cases, organisations can set up websites and collaborative spaces for project work groups.
The SharePoint Foundation technology is the backbone of all SharePoint deployments. It was previously known as Windows SharePoint Services (WSS), and is free for on-premises use. SharePoint Foundation can be used to generate websites and for collaboration on page design, calendars, lists, documents, and data.
SharePoint Server brings SharePoint Foundation functionality to on-premises deployments, and adds functions and features like enterprise-wide search, business intelligence (BI), Newsfeeds, personal websites, and Enterprise Content Management.
SharePoint Designer is a free module for editing external content types and generating workflow data solutions derived from Business Connectivity Services.
OneDrive for Business is a desktop client with which you can synchronise a folder on your local system with a OneDrive for Business library, or an offline mirror of a work group collaboration site.
Optimise the SharePoint Environment
To achieve the best performance from your application and Web servers, you’ll need to allocate as much memory to them as you can. Gigabit network adapters should be assigned to all server modules, to maximise the flow of network traffic. If traffic loads are particularly heavy, virtual local area networks (or VLANs) may be an option.
In a production environment, assign one network adapter to users of application servers and front-end Web servers, and another adapter for communications via Microsoft SQL Server.
To reduce the impact on overall data centre performance, backup and management jobs should have their own private network adapters to handle communication between servers.
Network latency is to be avoided, so try to position your application servers and front-end Web servers within a maximum of one millisecond (1 ms) from a database server. Wherever possible, aggregate your servers in a single data centre, in one geographical time zone.
System components should be separated into logical drives, with redundancy provided through RAID arrays. Take care to isolate swap drives and log files from your application and Windows file drives, by using separate physical disks. A minimum 200 GB of storage space for OS and temporary files, and 150 GB for log files is a safe working level for most production environments.
Redundancy should extend to Web server provision, so provide an additional server which can take up the slack if one has to be pulled out of service (e.g. for load-balancing).
Database configuration affects SharePoint performance, so be sure to provide sufficient capacity and room to grow, to cope with all service requests. Content databases should be limited to 200 GB. With SQL Server mirroring, constrain each instance of SQL Server to 50 databases, or less.
If your data farm can accommodate the downtime imposed, database indices should be defragmented and rebuilt on a daily basis.
Service packs, updates and hot fixes should be installed regularly – ideally, during non-peak hours. Servers should be rotated out of service sequentially, as updates to them are applied. Be sure to test all updates in a pre-production environment, before rolling them out.
SharePoint is Not an Island
Rather than a single entity, SharePoint is a combination of services, acting as one. These functions are dependent on core components that also need to be monitored, to keep the platform active.
SharePoint is a Microsoft offering, so the underlying health of your Windows OS is key to its performance. Monitor all event logs, as these can indicate the success or otherwise of an update or patch, and throw up potential problems with your SharePoint infrastructure.
User credentials for service accounts under SharePoint must be validated using the Active Directory (AD). As well as unique accounts for SharePoint applications, the SharePoint search account and service account rely on AD to facilitate communication between servers. So, your Active Directory should be monitored to ensure that it remains viable.
An SQL database is used to store information in Microsoft SharePoint. So SQL Server needs to be monitored to ensure that it functions properly, and that communication between it and SharePoint Web Front End is ongoing. In particular, access to the SharePoint_Config database and to content databases referenced by each Web application needs to be maintained, for each service account that SharePoint uses.
Being Web-based, SharePoint hinges on the Internet Information Server (IIS) being properly configured and fully functional. Typically, IIS configuration will involve at least one IIS website and an application pool. With several of each, complex relationships may evolve, which have to be monitored.
SharePoint’s central administration and Shared Services Provider may be associated with specific application pools – which is the case in a typical production environment. Your main Web portal, so-called “extended” Web applications and your My Sites deployment might or might not have application pools dedicated to them.
You’ll need to properly map the various relationships, and the identities of the relevant application pools. For platform availability to be maintained, their response to user requests and ongoing status must be carefully monitored.
Set Performance Benchmarks
Assessing the behaviour of your SharePoint environment becomes much easier if you know which levels of availability and service provision can be considered good, adequate, or cause for concern. That’s where performance standards and benchmarks come in.
When establishing benchmarks, you’ll need to study the various types of projects and data on your site and how they are used in the database, applications and communication functions necessary to your enterprise. This will influence how your SharePoint environment is set up and its resources deployed to meet various functions.
As a rough guide for database functions, you can use the following values:
· Network Waiting Queues should be set at 0 or 1 for best performance.
· For latency, the average length of a Disk Queue should be less than 5 ms.
· Memory Usage should be kept below 70%.
· 25% or more of disk capacity should be kept free, at all times.
· Aim for a hit ratio of 90% or more for Buffer Caches.
This said, management and system administrators must recognise that benchmarks will be in a state of flux, as conditions change, and alterations are made to your SharePoint infrastructure.
The Need for Monitoring
In general, data centres, data farms, applications, servers, network performance and services should be monitored to keep your SharePoint environment running smoothly. Working with your established thresholds or performance benchmarks will enable you to spot potential problems early, and to do preventive maintenance. You’ll also be well placed to create a contingency plan, for when issues do arise.
Your SharePoint Monitoring Tool-Kit
SharePoint has an arsenal of on-board tools for monitoring its environment.
SharePoint Health Analyser has scheduled, pre-defined rules for countering problems arising due to performance, availability, security, and configuration issues. Once an error is detected, this triggers its corresponding rule. The rules are briefly explained, with links to online resources for further clarification.
Timer jobs can be scheduled daily, weekly or monthly to gather data on the status of your servers. This is then written to a Logging database and logging folder.
SharePoint’s Central Administration home page has a Reporting function, where you can view health and administrative reports, and configure data collection and diagnostic logging.
Using Windows PowerShell, you can view diagnostic logs, and run commands for specifying the logs you wish to view.
SharePoint’s Operations Manager is a console from which you can monitor devices, operations and services, and monitor the health, availability and performance status for many computers at once.
With Event Viewer, you can filter, browse and manage events across multiple logs, and troubleshoot problems.
The performance of SharePoint Web pages (slow loading pages, faulty database queries etc.) may be analysed using SharePoint Developer Dashboard – which must first be enabled with Windows PowerShell.
Windows Management Instrumentation (WMI) provides a monitoring class for each manageable resource on SharePoint.
SQL Server Reporting Services (SSRS) is a tool-kit for creating graphs, tables, free-form and interactive reports from XML-based data sources, relational and multi-dimensional databases. Reports may be exported to other applications, viewed online, or included on a SharePoint website.
Decide What to Monitor
A characteristic of SharePoint is that any issues you encounter will typically not be down to hardware or infrastructure problems. Instead, performance blips usually derive from the content the environment is hosting.
SharePoint’s default setting is for small-scale deployments, where static files, webpage content, streaming media, workflows and other data types are held in a single content database.
As your data centre and its applications increase in size, you’ll need to consider separating each content type out into dedicated containers, with appropriate monitoring for each. With your data types separate, you can optimise each database on an individual SQL server.
Your performance monitoring thresholds will enable you to establish and maintain the availability, stability and performance of all aspects of your SharePoint content. A phased approach is best, with strategies to respond to various levels of operation, such as:
· Acceptable levels of operation
· Approaching the limits of acceptable operation
· At the limit of acceptable operation
· Above the limits of acceptable operation
· Major overload of the system
Appoint a Team to Do the Monitoring
You’ll need a monitoring team, whose size will depend on the scale of your data centre and SharePoint environment. Consider the size of your user base, the number of users typically demanding access at once, and the number of service requests per second – especially during peak hours.
As a rule of thumb, a small site with 1 to 4 servers catering to line of business (LOB) applications and a small user base would require 1 person to monitor it. An additional team member could be added as the number of servers increases from 4 to 10.
3 or 4 monitoring staff could cover between 10 and 40 servers, while 5 or more should be deployed for data farms comprising 40 to 100 servers.
Plan for Contingencies
Have a strategy in place for when problems occur. Your contingency plan need not include SharePoint Health Analyser rules which have a workable solution in place. For other issues, you’ll need to study event logs using Event Viewer or other monitoring tools.
Be proactive, rather than reactive, with monitoring in place to spot problems well before they occur, and a response plan that puts maintaining system availability and performance first.
Be Site-Specific
No two data centres are exactly alike, and with expansion very much part of the SharePoint DNA, monitoring tactics must reflect the characteristics of each farm as it grows. On-site functions such as indexing and searching, Excel Calculation Services, and Forms Services may affect SharePoint applications, so your monitoring strategy needs to take this into account.
Report on What’s Observed
As well as keeping the day-to-day environment running, monitoring data keeps SharePoint administrators and senior management informed. Dashboard systems on Web platforms, graphically displayed metrics and reporting tools, SQL Reporting Services packs and PowerShell reporting tool-kits are just some of the options for presenting clear findings to admins and business stakeholders.
Your best bet is usually some combination of these. Your priority should be to give administrators and business decision-makers quick and comprehensible access to the information they need to guide the enterprise.