40 Windows Server Performance Monitoring Tools
Setting up a smoothly running windows server is one thing. Keeping it that way is a different kind of beast. Once servers go into production they have to be constantly monitored. There is a plethora of issues which can impact the performance of windows servers. Hardware failures, increased usage, software updates, environmental problems – to just name a few.
Fortunately, the windows ecosystem provides many tools to ease the pain of monitoring. We have compiled an extensive list of available windows server performance monitoring tools. This list focuses on performance, but many tools can also be used for general monitoring (e.g. for easily preventable server failures).
Microsoft's Performance Monitoring Tools
Microsoft itself offers a wide palette of tools which can be used for performance monitoring. While some, like Windows Performance Monitor, are widely known, others are less visible but nevertheless useful.
Windows Performance Monitor
Windows Performance Monitor, probably the most obvious choice for this list, is used for analyzing system performance both on an application level as well as on a hardware level. You can choose from a wide array of metrics what to monitor. You can define thresholds which will trigger alerts and/or automatic actions. It will also collect this data to provide reports and display past performance data.
Here are a few helpful resources to get started with Windows Performance Monitor:
- Windows Performance Monitor (Microsoft TechNet)
- How to create performance counter alert and send email when the alert is triggered (Microsoft)
- Using Performance Monitor effectively (Rickard Nobel)
- Using Performance Monitor for monitoring SQL servers (MSSQLTips)
Microsoft Operations Manager (or MOM / SCOM) is used for monitoring whole fleets of servers, applications and networks through a centralized interface. It is part of the (non-free) Microsoft System Center suite of IT management tools.
Operations Manager (or MOM / SCOM) can monitor a heterogeneous network of systems. It can monitor Windows servers, routers, switches, firewalls, AWS systems, Azure servers and even Linux servers.
- Operations Manager Monitoring Scenarios (Microsoft TechNet)
- Introduction to Microsoft Operations Management Suite (StarWind Software)
- Microsoft System Center Operations Manager (SCOM) Concepts For Beginners (Tom's IT Pro)
- Operations Management Suite – Performance Monitoring (Cloud Administrator)
- Application Performance Monitoring with Operations Manager 2012 (Microsoft Server & Cloud Blog)
Windows Reliability Monitor
Windows Reliability monitor is a small tool available in Windows Server 2008, Windows Server 2012 as well as its desktop siblings. It shows important events and errors that might indicate problems and performance issues. It is especially helpful for tracking down the root cause of performance problems.
- How To Use the Windows Reliability Monitor (Redmondmag)
Microsoft Server Performance Advisor
The Server Performance Advisor (commonly called SPA) is a tool for optimizing server performance on Windows Server 2008 and Windows Server 2012. It consists of two parts: The SPA framework is responsible for collecting performance data from one or more servers which should be analyzed. SPA advisor packs then analyze said data. There are several advisor packs focusing on different parts of the server architecture. One analyzes the performance of the operating system. Another one screens the performance of Internet Information Server (IIS). One tracks general performance of Hyper-V servers (not the guest operating system). Another analyzes Active Directory performance.
- SPA 3.0 – A simple server performance tuning advisor (MSDN channel 9, video)
- Technical: Microsoft – Server Performance Advisor – Setup & Trouble Shooting (Learning in the Open)
Relog is a small command line tool for modifying logs of Windows Performance Monitor. For example, it convert logs into different formats like CSV, merge log files or resample data.
- Manipulating Performance Monitor Logs (Microsoft TechNet Blogs)
Logman is another command line tool which ships with Windows Server. It provides many of the features of Windows Performance Monitor, especially those used for controlling performance logging, through a command line interface. Many system administrators use Logman to automate performance monitoring tasks.
- Performance Monitoring with Logman (Travis Gan)
- Automate Performance Monitor Statistics Collection for SQL Server and Windows (MSSQLTips.com)
The command line tool Typeperf is used for displaying performance counters. It can show lists of available counters as well as the values of specific counters. Output can either be displayed on the command line, or written into log files. Like Logman it provides access to Performance Monitor features through the command line. Unlike Logman, it focuses on querying counters rather than controlling log creation.
- Collecting Performance Data into a SQL Server Table (simple talk)
Another command line tool, Tracerpt, is used for parsing logs from Performance Monitor or the Event Tracing subsystem and generating reports and/or CSV files for further processing.
- Inside Event Tracing for Windows (Windows IT Pro)
Third Party Tools for Monitoring Windows Server Performance
Opsview Windows Performance Monitor
Opsview Windows Performance Monitor uses Windows' WMI framework to monitor multiple windows servers. It can display server status by server groups, offers reports with benchmarks and can monitor end-to-end performance.
Veeam Task Manager for Hyper-V
If you are handling a fleet of virtual windows servers, Veeam Task manager lets you easily monitor the status of single VMs. It can be installed on any device or start from USB devices so that it is quickly available for trouble shooting.
ManageEngine's Free Tools
ManageEngine sells a range of commercial IT and network management solutions. Besides it's main products, it also offers various smaller but free monitoring tools.
- Hard Disk Space Monitor
Hard Disk Space Monitor lets you retrieve information about hard drives from multiple computers in your network.
- Active Directory Domain Controller Monitoring Tool
DC Monitor is another simple free tool which automatically discovers windows domain controllers in a network and can show various performance indicators like CPU, disk and memory utilization.
- Windows Health Monitor
Windows Health Monitor allows you to monitor up to 20 servers simultaneously. It can monitor various performance parameters including response time and bandwidth utilization. A dashboard provides an overview of all connected servers and highlights windows servers with critical threshold values.
- Exchange Health Monitor
This tool focuses on monitoring health & performance of Microsoft Exchange Servers. Besides the usual performance parameters it also monitors related windows services and exchange specific indicators like mail queue sizes, messages sent/received per second and number of client logons.
- Free SharePoint Health Monitor
SharePoint Health Monitor checks windows servers providing SharePoint services. Like ManageEngine's similar tools it monitors a set of base performance indicators and indicators specific to SharePoint and it's related services. Examples include state, current/maximum connections, IIS state, ASP requests queued, MSSQL buffer cache hit ratio, free pages, etc...
- SQL Health Monitoring Tool
This tool monitors the performance of MS SQL servers. It supports all versions up to MS SQL 2012 and 2014. Monitored parameters include SQL Server sessions, buffer, memory, locks and latches. The tool can monitor up to two SQL servers simultaneously.
- Hyper-V Server Performance Monitoring Tool
Besides monitoring common performance parameters of the host system, the Hyper-V Server Performance Monitoring Tool also allows you to view the number of virtual machines, storage, memory and network utilizations of each guest VM. The free tool is limited to two Hyper-V host servers.
- XenServer Health Monitor
This health monitoring tool works like the Hyper-V performance monitoring tool, but for Citrix XenServer.
- Free Azure Performance Monitoring Tool
A cloud monitoring tool which keeps an eye on performance metrics of Windows Azure instances. It checks CPU/memory utilization as well as ASP.net details like application restarts, requests queued, worker process restarts, requests/sec and total errors. It also gives access to the event log of the Azure environment.
- Free EC2 Health Monitor
Another cloud monitoring tool, but for Amazon EC2. It can display the status of all EC2 instances in a single GUI. It shows various instance details and can monitor CPU, memory, disk read/write and network I/O of AMIs in in graphs. It also enables you to see historical data of these performance metrics.
Lepide DC monitor
Lepide DC Monitor is a freeware tool that promises to take the pain out of domain controller monitoring. It allows monitoring of multiple domain controllers from a single place. You can use it to determine the state and performance of each domain controller. Among the monitored parameters are CPU/memory/disk utilization, Page Reads/sec, Page Writes/sec, NTFRS Handles, File Reads/sec, File Writes/sec and more.
SolarWinds Free Tools
SolarWinds offers a range of free tools besides it's core IT management and monitoring products.
- Server Health Monitor
SolarWinds' Server Health Monitor supports monitoring of up to five physical servers. It monitors critical hardware components like fan speed and temperature so that you can quickly identify issues which might impact your server performance.
- VM Monitor
VM Monitor checks VMware® or Microsoft Hyper-V® hosts and all guest VMs in real-time. It monitors virtual server health statistics and lets you identify VMs with performance issues at a glance.
- WMI Monitor
WMI monitor can query multiple WMI metrics of a server and display them in an easy overview. You can define thresholds on which a counter is highlighted. WMI Monitor supports sharing of monitoring templates, so you can download prepared monitoring sets from the SolarWinds community.
- Storage Response Time Monitor
This tool tracks storage latency and throughput across multiple storage objects, NAS volumes and LUNs. It also displays the busiest VMs using these storage connections.
- Database Performance Analyzer
Database Performance Analyzer monitors response times of databases. It requires no agent installed on the database server and supports SQL Server, Oracle, DB2 and SAP ASE instances.
Logwiz can be used to automate the collection of performance monitor logs. It provides an easy step-by-step wizard to create logs using Logman. It is a free tool released under the Microsoft Public License (Ms-PL).
Spotlight on SQL Server Enterprise
Quest (formerly Dell) offers a paid product for optimizing and tuning SQL server performance. It can monitor multiple servers from a central dashboard, analyze query performance and provide optimizations as well as monitor performance data to track down issues early and quickly.
Glint calls itself a Windows system activity monitor. The free tool shows up to 200 performance indicators on a local or remote system. It is similar to Microsoft's Windows Performance Monitor but offers a more compact view so that you can monitor more indicators at once.
- Glint Monitors Hundreds of System Resources (Lifehacker)
Besides these specialized windows server performance monitoring tools there are plenty general purpose monitoring suites. Most of such suites can not only monitor availability but also performance data to a certain degree.
Providing a complete list of monitoring suites would be outside the scope of this article, but here are a few of the most used suites to jump-start you into the topic.
Nagios is a widely used monitoring suite. The software itself runs on Linux, but there are components (called "agents") which allow monitoring of Windows servers. Through this agent, it can monitor plenty of performance related signals, like CPU utilization, memory usage and disk usage.
Zabbix is another open source monitoring suite. The central server runs on Linux, but it can monitor windows servers through the use of a monitoring agent on the server.
Munin collects data from different connected servers and displays them in a central web interface. It shows performance data in historical progression to help determine what changed if a performance problem appears. It is written in Perl and runs on any platform. For monitoring windows servers you need to install an agent on the server.
While Veeam Task Manager is meant for manually inspecting VMs, Veeam One is a complete monitoring suite specialized on vSphere, Hyper-V and Veeam environments. Besides monitoring it also helps evaluating performance and configuration and capacity planning including forecasts. A limited free version is available.
ManageEngine Applications Manager
Besides the beforementioned free tools, ManageEngine also offers a monitoring suite for larger infrastructures. Applications Manager monitors business applications and servers for availability and performance issues.
PRTG is a commercial monitoring suite running natively on Windows, but covering all platforms. It can be used for free with up to 100 sensors which for common use cases is enough for approximately 10 servers.
SolarWinds Server & Application Monitor
SolarWinds' Server & Application Monitor is a commercial monitoring suite for servers, virtual servers and applications. It offers built-in capacity forecasts and other performance-centric features.
PolyMon is an open source monitoring suite based on the .NET 2.0 framework and SQL Server 2005. It monitors various parameters including windows performance counters. It allows you to analyze historic trends and generate email alerts.
PA Server Monitor
PA Server Monitor is a monitoring suite based on Windows, but providing monitoring support for a ll platforms. It stores data on local servers, offers different access levels and provides an automatic failover mode. PA Server Monitor is commercial software, available in several different editions (including a free one).
ELM Enterprise Manager
ELM Enterprise Manager consolidates events, performance counters, service and process status, file changes and ping status of multiple windows servers in one central console.
Updates welcome: Know a tool which should be on this list? Let us know!
Some of the tools above offer automatic monitoring, but usually you also have plenty of monitoring tasks which cannot be automated. At the very least you need to frequently check that you monitoring solution is still operational.
Checkpanel lets you organize such recurring manual checks with ease. Make sure you never forget to check that backup again. You can log the current state (working/failing) of each task and view a history of all past checks. Checkpanel will remind you when it is time to check an item again.
Check out the following resources for a quick impression which kinds of checks you can manage with Checkpanel:
Title photo: Rishabh Varshney