System Insights is a feature that debuted in Windows Server 2019 that processes data and uses predictive analytics to warn administrators of potential issues with Windows Server deployments.
System Insights gathers and inspects data from several sources, such as performance counters and the Event Tracing for Windows logging and tracing component in the Windows kernel. After gathering enough historical data, System Insights builds a model of the server's potential resource demands. This analytics feature can help administrators a few ways. It can provide enough advance notice so administrators can take steps to avoid disruptions. It helps the IT department determine if a server has enough resources to run more virtual machines. System Insights can also help an organization with capacity planning and influence server hardware purchasing decisions.
System Insights works with Windows Server 2019 machines, whether they are physical hosts or virtual machines, without regard for cloud provider or the hypervisor the VM uses. System Insights also works with clustered storage.
System Insights looks at historical usage and detects patterns. System Insights collects and works with data stored on a local Windows Server machine to avoid issues with compliance or privacy restrictions. Microsoft said System Insights does not transmit any information to its Azure cloud platform for processing.
System Insights uses a Windows Admin Center dashboard to display the four default capabilities: CPU capacity forecasting, networking capacity forecasting, total storage consumption forecasting and volume consumption forecasting. System Insights allows the addition of custom capabilities if the organization has the resources to develop them.
The overview for each capability shows the historical data with a line that demarcates the capacity prediction. System Insights stores the last 30 days of predictions.
Administrators familiar with PowerShell can use a script to view prediction results. Organizations that use other monitoring tools, such as Azure Monitor or System Center Operations Manager, can build alert scenarios and aggregate views by pulling results from the System Insights event log.
The engineering behind System Insights
At the foundation of System Insights is the time-series database that Microsoft introduced with the Windows 8 operating system.
A data management layer above the database layer connects to the system APIs to feed data to the database.
A capability management layer provides the centralized administration interface. This layer gathers and holds the setup data, forecasting history and metadata associated with the volume, total storage, networking and compute capabilities.
Each capability works independently and performs three actions: data pre-processing, application of the machine learning model on the data and outputting the prediction results.
PowerShell connects to the capability management layer through cmdlets administrators use to manage System Insights and view predictions. The Windows Admin Center provides the GUI layer that generates the dashboards; PowerShell is the underlying framework that Windows Admin Center depends on for its functionality.
System Insights requires Windows Server 2019, build 17692 or newer.
How to use System Insights
System Insights requires the administrator to install it with PowerShell or by downloading an extension in the System Insights section of the Windows Admin Center.
Each of the four default capabilities has a status and status description. A capability can have a forecasting status of OK, Warning or Critical. OK indicates there is little chance that capacity will be exceeded. Warning indicates capacity will be exceeded in 30 days. Critical indicates capacity will be exceeded in the next seven days.
There are two additional statuses of Error, if the system has a problem, and None, if System Insights requires more data to generate a prediction.
Administrators can set up System Insights to run a script if a certain status occurs. For example, if System Insights gives a critical status for a certain volume, the administrator can set up a script that runs the disk cleanup action or moves data to a file share.
System Insights scheduling
Administrators can invoke each capability on demand, or they can disable System Insights from automatically processing data in the background.
System Insights features scheduling to determine when it processes collected data for each capability. By default, this runs daily at 3 a.m. IT workers can adjust the time to avoid an overlap with production times. The schedule can be disabled or set to run on a customized interval schedule.