Product: SolarWinds Server & Application Monitor
Product Homepage: click here
Free Trial Download: click here
SolarWinds develops and markets enterprise IT infrastructure management software. It sells around 30 products and provides free tools that address a variety of IT-management issues, including network management, server and application management, virtualization management, storage management, helpdesk management and IT security management.
SolarWinds Server & Application Monitor (SAM for short) is one of these products. It allows administrators to create and monitor their own custom collection components. It also allows the creation of Application Monitor templates to combine process monitors, port availability and performance counters, allowing to assess the status of every aspect of an application.
The SolarWinds family of products share many common components, including the engine that these products use to function, referred to as the Orion Platform. Previously known as Orion Application Performance Monitor, it has been renamed to SolarWinds SAM since version 5.0. This review focuses on SAM v6.1 from an Exchange perspective, more specifically using the feature AppInsight for Exchange.
AppInsight provides a new level of application monitoring detail that was previously very difficult to achieve using Application Templates. AppInsight is not a direct replacement for Applications Templates but rather a new monitoring concept within SAM (Application Templates remain the primary method for quickly monitoring applications). In contrast, AppInsight is almost an entirely new product deeply embedded within SAM.
Unfortunately, due to the complex and powerful nature of SAM, it is simply impossible to cover every aspect of SAM in this review, even when only reviewing it from an Exchange perspective.
Resource and space requirements are reasonable, with most SAM systems performing well on 3.0 GHz systems with 4 GB of RAM. SAM is capable of monitoring networks of any size, ranging from small corporate LANs to large enterprise networks. However, when monitoring larger networks, additional consideration needs to be given to the hardware used and the system configuration.
For a “normal” production environment, it is recommended to install SAM on one server, and its database on its own SQL Server (installations of multiple SAM servers using the same database are not supported).
As for the minimum software requirements and recommendations for the SAM server, these are very straightforward:
- Operating System: Windows Server 2003, 2008 R2, 2012 or 2012 R2;
- Microsoft IIS is required but it can be installed automatically as part of the setup process;
- NET Framework 3.5 (4.0 recommended) is required but it can also be installed automatically;
- Browser: Internet Explorer 7 or higher with Active scripting, Firefox 13.0 or higher, or Google Chrome;
- PowerShell 2.0 must also be installed.
As for the SAM database server, the following versions of SQL are supported in SAM v6.1: SQL Server 2008 Express, Standard, or Enterprise; SQL Server 2012.
Virtualizing SolarWinds using VMware or Hyper-V is fully supported. However, it is strongly recommended that the SQL server database is kept on a separate physical server.
This is not an installation or configuration guide, so some steps are skipped for brevity reasons.
SAM offers an intuitive wizard that guides us through its installation and configuration:
- Using an account with local administrative privileges, log on to the SolarWinds server;
- Launch the SolarWinds SAM evaluation executable:
- If you haven’t already installed the required software, you will be prompted to install it at this stage. Click Install:
- Enter a valid e-mail address:
- Review the Welcome text, and then click Next:
- If the wizard detects that IIS is not installed, you have the option to let SAM install it automatically:
- Accept the terms of the license agreement, and then click Next:
- Accept the default install location, or choose a different location, and then click Next:
- Select either the Express Install – Recommended option or the Advanced Install option. In this case, as this is for a small lab environment, I chose express. Click Next:
- Click Next to start copying files:
- The installation begins:
- At the end of the installation, IIS will be automatically installed (if you did not manually install it beforehand):
- After files are copied and installed, configuration begins:
- When complete, click Finish to exit the Configuration Wizard:
Now that SAM is fully installed, you can login to its console. A webpage should automatically open when the installation is complete. If not, there are SAM shortcut icons in the Start menu. To login, type Admin in the User Name field, and then click LOGIN:
Once you are in, the main dashboard is displayed:
In less than 15 minutes, we installed SAM without any problems and we are already performing basic monitoring.
A great thing about all dashboards in SolarWinds is that they are fully customizable. We can easily re-arrange the order in which each panel is displayed by simply drag-and-dropping them, and we can click Customize Page in the upper right-hand corner in order to remove the ones we are not interested in, add new ones, etc.
AppInsight for Exchange
AppInsight for Exchange has been designed primarily for Exchange 2010 and 2013 Mailbox Role servers and to provide a detailed view of the Exchange environment as a whole. As we will see, it provides detailed metrics on mailboxes, databases and many performance counters without the need of agents running on the Exchange servers. Data is collected mainly using WMI and PowerShell every 5 minutes by default (customizable).
As expected, there are some particular requirements, such as:
- Local administrator permissions are needed for automatic configuration of the node being monitored, but they are not needed for monitoring once configuration is complete;
- To provide organization-wide monitoring capability, the service account needs to be a member of the View-Only Organization Management group;
- In order to gather certain types of information, the service account must be assigned the Mailbox Search management role within Exchange.
There are multiple ways to add AppInsight for Exchange to a node. This can be done via Node Discovery, via the Management resource, adding it via Network Sonar Discovery, or adding it via a Scheduled Discovery. Using discovery, SAM scan nodes and automatically assigns the Application Monitors it deems suitable for each scanned node. We can control the nodes to be scanned, the application templates used in the scan and the scanning parameters that determine a match. To do this:
- Click Settings at the top right of the SolarWinds Web Console;
- Now click Network Sonar Discovery in the Getting Started with Orion category:
- In this step we can configure SNMP credentials/strings to be used to scan devices in the network. As I’ll only be adding Windows servers, I’m skipping this step;
- We can also discover VMware vCenter or ESX servers in the network. Again, I am skipping this step;
- Now we configure the Windows credentials used in the discovery by clicking Add New Credential:
- In this example, I am using an administrator account with sufficient permissions to the target Windows and Exchange servers:
- Now, we specify the IP address range we want to scan. Alternatively, we can scan subnets or just particular hosts:
- In the Discovery Settings pane, we can configure the options used in the discovery such as SNMP timeouts, WMI retries, etc.:
- Click Next;
- In the last pane, we can schedule this scan to run daily or weekly, for example, so that new nodes are automatically discovered and monitored by SAM:
- Once we click in Discover, the discovery process begins:
- When finished, we can review the results of all the discovered nodes:
- Under Interfaces we get further details of all the nodes the discovery returned:
- We can select the types of volumes we want to monitor from a Windows perspective. In this case, I am only interested in monitoring memory and disk:
- Under Applications we can see that the discovery found 4 Exchange servers of a total of 8 Windows servers:
- In the Import Preview pane we see even further details of all the devices found during discovery. I have two additional Exchange servers (EXCAS1 and EXCAS2) which SAM did not detect as being Exchange servers. This is because, as already mentioned, AppInsight for Exchange is targeted at the mailbox server roles. However, CAS servers will be fully monitored as well using a specific CAS template which SolarWinds is currently working on.
- Once we click Import, the AppInsight for Exchange template and all its definitions, rules, monitors, etc., are imported and applied:
- Once the process is complete, click Next:
Now that everything is installed and configured, let us see what is being monitored. From the main webpage, click on HOME which takes us to the main dashboard:
In here we can see an overview of all servers and devices being monitored by SolarWinds, not just Exchange. For example, under All Applications, we can see that we are monitoring Active Directory, Exchange, IIS, DNS, etc… We can also see a list of the last 25 events, triggered alerts, and much, much more (not displayed).
If we navigate to Applications and then click on Exchange, we get an overview of the entire Exchange environment. In this dashboard we get a diversity of information (not all displayed in the screenshot below) including overall health, alerts, component status, processes statistics, and much more:
Besides this main overview dashboard, AppInsight for Exchange has four main Detail views:
- The Exchange Details view displays a broad overview of Exchange;
- The Performance Counter Details view displays details about the selected performance counter;
- The Database Details view displays details about the selected database;
- The Mailbox Details view displays details about the selected mailbox.
AppInsight is a very comprehensive and powerful product, which makes it impossible to fully demonstrate in this review. As such, in the following sections I will only be showing some of its features.
The Exchange Details view provides a great deal of information about the current Exchange environment. The available resources offered in this view include:
- Active Alerts;
- Application Availability;
- Application Details;
- Calendar and Resource Booking;
- Critical Processes and Services;
- Exchange Event Log Message Details;
- Exchange Server;
- Information Store;
- Mailbox Database Copies;
- Mailbox Database Size and Space Used;
- Mailbox Database Status;
- Mail Database;
- Replication Status Checks;
- Users By Mailbox Size;
- Users By % Mailbox Quota Used;
- Users By Messages Sent.
To navigate to the Exchange Details view:
- From the web console, locate the All Applications resource;
- Expand the AppInsight for Exchangetree by clicking [+];
- Expand the node tree by clicking [+];
- Click the application, as highlighted (when we hover the mouse over the application, we can see further details without actually going into it):
- We are then taken to the Exchange Details view page where we can see all the details listed previously:
Straight away we can see the level of detail that SAM brings into the picture. Let us have a look at some of these sections.
This section provides details around the Exchange version installed, its status, if it is part of a DAG and, if yes, further details such as the DAG name and the status of the other DAG members.
As with many items in the dashboard, we can hover the mouse over certain items, in this case one of the failed Exchange servers, to get more information:
This resource graphically shows the various states of Exchange in a percentage format:
We can have the chart show a predetermined, hourly time period of data by clicking on any one of the three Zoom buttons: 1h, 12h, or 24h or have the chart show a specific time range by dragging the mouse over a small area of the chart. The few hours without any data on the graph above are because this virtual machine went into sleep mode… 🙂
Critical Processes and Services
This resource numerically and graphically shows metrics concerning the Exchange’s critical processes and services:
Clicking on any component in the Component Name column will take us to the Component Details page for that component. In this case, I clicked on the Exchange Replication component:
This resource contains performance counters specific to the current status of the Exchange server. Clicking on any performance counter will take us to the Performance Counter Details page for that counter (which we will have a look at later):
This resource contains performance counters specific to the status of the Information Store:
This resource contains performance counters specific to the status of the current Mail Database:
Mailbox Database Copies
This resource shows the status of the Exchange mailbox database copies. The data can be sorted by clicking the headers of each column. Hovering over the node will provide a tooltip with information about that node, while hovering over any Database Name in the list will display detailed information about that database:
If the server is not part of a DAG, only the local databases will be displayed:
Mailbox Database Status, Size and Space Used
These two resources numerically and graphically show metrics concerning local databases’ status and size:
This resource contains performance counters specific to the status of the replication process:
Replication Status Checks
This resource performs up to 16 checks in Exchange 2010 and up to 18 checks in Exchange 2013 (it only shows test results which apply to the server being monitored). The status for each health check test can be Passed, Failed, or Warning. In this example we see a few failed tests as the server EXMBX3 is currently down:
If we click in >> More under DagMembersUp we can see why this particular test failed:
This resource contains performance counters specific to the status of storage, more specifically regarding latency:
Users By Mailbox Size, By % Mailbox Quota Used and By Messages Sent
These resources numerically and graphically show metrics concerning mailbox statistics per user. As always, the data can be sorted by clicking the headers of each column and hovering over most items will provide more details:
Note that because of performance reasons, user mailbox information is collected only once a day after midnight (local time).
Performance Counter Details View
This view is common to all AppInsight applications and can be accessed by clicking any performance counter found in any resource. The default resources for this view include:
- Performance Counters;
- Performance Counter Details;
- History Chart;
- Details on possible problems and remediation suggestions.
This resource displays all the available performance counters associated with the current application. The list of performance counters displayed will change depending on how we enter this view. For example, if we enter this view by drilling down from the database level, just the counters associated with that database will be displayed. If we enter this view by drilling down from the application view, then only the performance counters associated with the application will be shown.
Clicking on any performance counter in the list will display detailed information about that performance counter in the Performance Counter Details resource:
As well as a graph detailing the value history of the performance counter, hovering over any time period within the chart will display detailed information about that time period in the tooltip. The colors of the main chart correspond to the labels in the legend (we can choose which data to display by using the check boxes in the legend). We can also easily export the chart to a PDF or even export all its data into an HTML table for example.
Database Details View
Although the Exchange Details view already provides some information regarding databases, the Database Details view provides a greater deal of information. This view can be accessed by clicking on any listed database from a Database resource. The available resources unique to this view include:
- Active/Mounted Database Availability;
- Database Copies;
- Database Details;
- Database Disk I/O;
- Database File Size;
- Database I/O;
- Database Metrics;
- Transaction Log File Size;
- Transaction Log Disk I/O.
This resource provides details concerning the current database.
Active/Mounted Database Availability
This resource graphically shows the various states of database availability in a percentage format:
This resource provides generic details concerning local databases (including passive copies if any) on the server:
Database I/O and Disk I/O
These resources contain performance counters specific to the status of database I/O and Disk I/O:
Database File Size
This resource provides details concerning the size of local databases (including passive copies if any) on the server:
Messages and Users
These resources contain statistics specific to users in this particular database, including mailbox sizes, quotas and e-mails sent:
Transaction Log File Size and Log Disk I/O
These resources provide details concerning the status of the current transaction logs of the database, including their size, disk I/O, latency and queue length:
Mailbox Details View
The Mailbox Details view provides information about the selected Exchange mailbox, such as:
- Mailbox Details;
- Mailbox Synced Devices;
- Received Mail;
- Sent Mail;
- Total Mailbox and Attachments Sizes.
To navigate to the Mailbox Details view, click any user name within a Mailbox resource.
This resource provides details about the current user’s mailbox, from mailbox size to mailbox limits, from database to last logon time:
Mailbox Synced Devices
This resource provides details about the current user’s synced devices. In this case I do not have any mobile device synced with this mailbox, but we can see the information that is made available:
This resource graphically details the total number of received and sent e-mails for the selected mailbox, separated by internal/external senders/recipients:
Total Mailbox and Attachments Sizes
This resource graphically details the total size of the selected mailbox and its attachments. The attachment size is actually the total size of e-mails, including attachments and e-mail body.
Chart resources require several values for lines on charts to be visible. Once data is collected over a longer period of time, the output will be better:
We already saw that all dashboards are highly customizable. But what about the checks that SAM does to assess a server’s or application’s health? As expected, all the monitors and checks in the AppInsight for Exchange template can be customized:
- From the web console, navigate to Settings > SAM Settings > Manage Templates;
- Check the AppInsight for Exchange template in the list and then click Edit:
- From here, we can edit any component within the template:
Unfortunately, only a handful of these can be disabled… If you are not concerned about specific metrics being collected, for example, the solution is to remove or customize the thresholds for those metrics so that alerts are not raised. This can be done based on baseline data (7 day history) for example.
Although the above will apply to every server being monitored by AppInsight for Exchange (we are changing the baseline), it is also possible to make these changes just for a particular server, which might be helpful in some environments.
The following alerts are included with AppInsight for Exchange by default:
- Alert me when a replication status check fails;
- Alert me when mailbox database file is low on space;
- Alert me when mailbox database is in warning or critical state;
- Alert me when mailbox database is not on preferred server;
- Alert me when mailbox database transaction log is low on space;
- Notify users that their mailbox is exceeding size or quota;
- Warn me when database failover occurs.
To view any alerts raised by SAM we can check the Active Application Alerts in the main Exchange dashboard or the Active Alerts when in the Exchange Details view. Alternatively:
- From the web console, navigate to Home > Alerts;
- Select the alerts you want to view from the dropdown menu:
From here we can filter alerts by server or type of device, as well as filter based on the type of alert.
SolarWinds SAM provides a tool named SolarWinds Advanced Alert Manager that we can use to edit or create new alerts and even test them before placing them into production (which I will not be demonstrating as it is outside the scope of this review):
The amount of options available when editing alerts is very good, with the trigger conditions and actions allowing for practically anything an administrator might want.
The only downside I found is when it comes to e-mail alerts. Although we can configure individual alerts to send e-mails, it would be useful to be able to configure all Exchange alerts to send an e-mail to a particular mailbox when they are raised so that IT admins could easily and quickly check for any possible issues. Advanced Alert Manager is indeed very powerful, but you are likely to spend some time customizing the alerts more relevant to you in order to get the most out of SAM.
Out of the box, the generic “Alert me when any component goes into a warning or critical state” is likely the broadest pre-configured alert that is applicable to any application monitored by SAM, which is already configured to send e-mail alerts when it gets triggered:
A nuisance I found with some resources is that they don’t fully update when the object they are monitoring goes offline or is not reachable. As an example, I had the EXMBX3 server down for 2 hours and it was still showing the health of its databases as Healthy (although they were greyed out to be fair). Still, in my opinion, this should not show as Healthy, especially as the server was gracefully shutdown.
Another thing I noticed when I brought this server offline was that AppInsight for Exchange went Critical on all other servers in the same DAG:
The issue here is that because one of the servers is offline, the DagMembersUp check fails, which makes the entire Replication Status object Critical as you can see below and above:
In my opinion, this should be set as yellow (warning) as everything else in the DAG is running perfectly fine. Some admins might disagree though as this is a matter of preference.
Similarly, when I shutdown another server, this time an all-in-one Exchange 2013 server (CAS + Mailbox), AppInsight for Exchange detected the server as being down, but the CAS application template did not:
Drilling into this template, it did set the Node Status to Node is Down. However, everything was still green even after 30 minutes and after several manual polls…:
I know SolarWinds is currently working on this CAS template, so it is probably just a matter of time until this is fixed.
I also found that sometimes it is not easy to identify what is causing a server or application to not be healthy when inside the AppInsight for Exchange Details view. For me, the best way to find out exactly what is causing an issue is by drilling down AppInsight for Exchange through the All Applications section as shown above.
SolarWinds vs Operations Manager
An inevitable question is if SolarWinds is better that System Center Operations Manager (SCOM). Unfortunately there is no definitive answer as both products are really, really good and answers will vary from admin to admin…
In one hand, the SCOM Management Pack (MP) for Exchange was designed by the Exchange team itself, so it is safe to assume they know exactly what to monitor and how. However, many admins are not happy with the latest MP for Exchange 2013 compared to the one for 2010…
On the other hand, SolarWinds is also very powerful. Its additional functionalities, such as mailbox reporting for example, means it is not behind SCOM by any means. The fact that it is agentless has both its pros (no additional time and effort installing and maintaining agents) and its cons (it needs to poll information from servers, meaning alerts/issues can take a few minutes to be raised depending on the polling interval).
Personally, I think both products have their advantages and disadvantages and it will be down to what exactly an organization plans to monitor (besides Exchange) or, ultimately, down to personal preference.
SolarWinds SAM together with AppInsight for Exchange is without a doubt one of the best monitoring solutions for Exchange out there. As it is the purpose of any monitoring solution, AppInsight can save administrators countless hours of both troubleshooting and manual monitoring. In my personal opinion there are some minor things that need improvement but, nonetheless, it is a fantastic product.
MSExchange.org Rating 4.8/5