Administrators regularly monitor health of Exchange server to ensure smooth functioning of the organization. They analyze the performance and operations related to various components of Exchange server that helps in detecting any irregularities or failure. In this post, we’ve discussed the ways to monitor the health of Exchange server - by using the native utility of Exchange server and an automated Exchange monitoring tool.
Monitor Health of Exchange Server by using the EMS
You can use native utility Exchange Management Shell (EMS) to check the performance and health of server on various aspects.
1. Obtain Server Health Summary
There are many in-built reporting cmdlets in Exchange server that you can use to monitor Exchange server health. These are provided under the Managed Availability that runs on every Exchange server.
Under Managed Availability, probes are installed on the server to provide actionable data that monitors can access. The monitors decide when intervention is necessary to prevent server malfunctions. If required, monitors can also trigger responders to act and repair affected services.
To view the monitors, probes, and responders associated with a health set, run the following command:
Get-MonitoringItemIdentity -Server-Identity | Format-Table Identity,ItemType,Name -Auto
Managed Availability automates Exchange monitoring and implements remedial procedures when needed. However, in some cases, it may fail to resolve Exchange issues. You can run the following command in Exchange Management Shell to manually check the health sets and health status of Exchange server:
Get-HealthReport -Identity
If you notice any particular health sets are healthy, you can troubleshoot the issue manually.
Sample Output
2. Check Server Availability and Status of Services
You can run the below command in EMS to check if all MS Windows services, required by Exchange, are running. If a service isn’t running, the cmdlet will throw an error.
Test-Servicehealth
3. Monitor Message Queue
You can use Get-Queue cmdlet to obtain configuration information for queues on Edge Transport servers or Mailbox servers. For this, run the following command:
Get-Queue -Identity Submission | Select Identity,Status,MessageCount
This will fetch the number of messages waiting to be processed under MessageCount column.
You can run the command regularly to monitor the messages queue. If you find that the queue is growing consistently, it indicates that a connector is not working correctly and failing to send the messages. You can investigate and resolve the problem manually.
4. Monitor CPU and Memory Usage on Exchange
High CPU utilization and memory usage on Exchange server can cause various problems, such as restricted email flow, slow logins on user systems, system errors, etc. You can use Get-WmiObject cmdlet to fetch the values of both CPU utilization and memory usage.
To fetch CPU utilization of Exchange server, run the following command:
$Processor = (Get-WmiObject -ComputerName $Exchserver -Class win32_processor -ErrorAction Stop | Measure-Object -Property LoadPercentage -Average | Select-Object Average).Average
To fetch memory utilization of Exchange server, run the following command:
$ComputerMemory = Get-WmiObject -ComputerName $Exchserver -Class win32_operatingsystem -ErrorAction Stop $Memory = ((($ComputerMemory.TotalVisibleMemorySize - $ComputerMemory.FreePhysicalMemory)*100)/ $ComputerMemory.TotalVisibleMemorySize) $RoundMemory = [math]::Round($Memory, 2)
The commands will fetch CPU and Memory utilization values in percentage.
5. Monitor Exchange Server Storage
Drive storage capacity is an important aspect in Exchange server. This is because, every time an email is sent on the network, it’s written to the disk. So, you must monitor drive storage and the available free space. You can use the command below to get the information on the server’s drive capacity, size of databases, and available free space. It will fetch the given details in a CSV format.
$servers = get-exchangeserver
Get-WmiObject -computer $servers win32_volume|
select-object __SERVER,Name,
@{Name="Capacity(GB)";expression={[math]::round(($_.Capacity/ 1073741824),2)}},
@{Name="FreeSpace(GB)";expression={[math]::round(($_.FreeSpace / 1073741824),2)}},
@{Name="Free(%)";expression={[math]::round(((($_.FreeSpace / 1073741824)/($_.Capacity / 1073741824)) * 100),0)}}|
export-csv c:\scripts\filename1.csv
Challenges in Exchange Server Monitoring with EMS
It is a difficult and cumbersome task to type and run multiple EMS commands daily for comprehensive Exchange health monitoring. Though, you can create a task in Task Scheduler to run the scripts automatically at certain time(s) every day, it’s still a complicated and time-consuming process.
On the other hand, the information you receive with cmdlets is fragmented and contains a lot of data. Finding specific details in this data is a challenge.
Automated Solution to Monitor Health of Exchange Server
Monitoring Exchange server manually is difficult, time-consuming, and even unviable at times. Stellar Reporter & Auditor for Exchange Server is an advanced Exchange monitoring software that offers many impressive features that can help monitor Exchange server health. The software makes it easy by offering all the reports and server metrics you need in a neat and organized interface.
On the Welcome Admin page of the software, you can instantly see a list of alerts under different categories and other storage details. You can also use the software to schedule server scanning and reporting, monitor health of Exchange Server remotely, set up alerts with different threat levels, and more.
The following are some of the salient features of Stellar’s Exchange monitoring tool:
- Generates 142 different reports covering almost all the aspects of Exchange in a few clicks
- Allows to schedule scanning and reporting
- Web interface to allow access from anywhere and anytime, even on smartphones
- Support for multiple servers on the same network
- Support for Exchange Server 2007, 2010, 2013, and 2016
- Export reports in different formats: PDF, XLSX, HTML, and CSV
- Welcome Admin page that offers quick insights into the server
Welcome Admin page
Conclusion
One of the main responsibilities of administrators is to regularly monitor health of Exchange Server. This helps them detect any irregularities in server components, thus ensuring uninterrupted and normal working of the Exchange server.
To monitor the health of Exchange server, you can use the native utility – Exchange Management Shell (EMS). However, execution of these commands requires technical proficiency and a lot of time & efforts. To make Exchange monitoring easy and simple, you can use Stellar Reporter & Auditor for Exchange Server. It offers various impressive features such as intuitive reports, quick insights, remote monitoring, and more. This software can serve as a free Exchange health monitor for you as it is available for 60 days free trial.