Windows Server 2019 System Insights
Currently Microsoft is releasing preview versions of Windows Server 2019 to the public. In one of the latest Windows Server Insider Preview builds, Microsoft released a new feature called Windows Server System Insights. The Windows Sevrer 2019 System Insights capability is a machine learning or statistics model that analyzes system data to give insight into the functioning of your Windows Server deployment. These predictive capabilities locally analyze Windows Server system data, such as performance counters or ETW events. This is helping IT administrators proactively detect and address problematic behavior in their Windows Server environment.
System Insights runs completely locally on Windows Server. All of your data is collected, persisted, and analyzed directly on your local machine, allowing you to realize predictive analytics capabilities without any cloud-connectivity. However, if you are using for example Azure Log Analytics (OMS), you forward the events created by System Insights to Azure Log Analytics, which than can give you a unified view about your environment.
Windows Server System Insights Capabilities
Windows Server System insights brings several inbox features, and you can expect these capabilities to be extended in the future.
- Browse through predictive capabilities, and either invoke a capability on-demand or configure it to run it on a periodic schedule.
- Visualize prediction outcomes to intuitively understand capacity consumption trends.
- Set custom remediation jobs to automatically run after a capability generates a specific result, helping users automatically mitigate the issues detected by the predictive capabilities.
- View and understand how capacity predictions from an individual Windows Server are trending over a period of time.
- Use PowerShell on remote instances to aggregate prediction outcomes reported by a fleet of related Windows Server instances – e.g. cluster, application tier, rack, and data center – to understand how the fleet overall is trending along compute, storage, or network capacity dimensions.
In Windows Server 2019, System Insights introduces four default capabilities focused on capacity forecasting:
- CPU capacity forecasting – Forecasts CPU usage.
- Networking capacity forecasting – Forecasts network usage for each network adapter.
- Total storage consumption forecasting – Forecasts total storage consumption across all local drives.
- Volume consumption forecasting – Forecasting storage consumption for each volume.
Of course, you can also extend these capabilities, by our own custom rules.
Management of System Insights
Windows Server System insights can be managed in two ways. First you can use Windows Admin Center, which provides you with a web-based user interface or you can use it directly using PowerShell.
Windows Admin Center System Insights
If you want to manage Windows Server System Insights from Windows Admin Center, you can simply add the System Insights extension select the server you want to manage, and enable System Insights, if it is already enabled. This will install the System Insights feature locally on your server.
Manage Windows Server System Insights from PowerShell
Instead of using Windows Admin Center, you can also use PowerShell to enable and manage System Insights.
To enable System Insights on Windows Server, you have to install the System Insights feature:
After installing the System Insights feature, you can use the Get-InsightsCapability to list all the possible options. You can simply enable and disable capabilities using the following examples:
Enable-InsightsCapability -Name "CPU capacity forecasting"
Disable-InsightsCapability -Name "Networking capacity forecasting"
To view the results, you can use the Get-InsightsCapabilityResult. However, be aware that this not returns information immediately after activating the feature. Per default you will get the first predictions after 5 days.
# Specify the History parameter to see the last 30 prediction results.
Get-InsightsCapabilityResult -Name "CPU capacity forecasting" -History
# Use the Output field to locate and then show the results of "CPU capacity forecasting."
$Output = Get-Content (Get-InsightsCapabilityResult -Name "CPU capacity forecasting").Output | ConvertFrom-Json
Overhead and Performance Impact
A lot of people will ask, how much overhead does this feature add to my system, Microsoft does have the following statement:
Each default capability is inexpensive to run. Each capability will take longer to run as you collect more data, but they typically should complete in a just a few seconds.
To learn more about Windows Server System Insights, check out the Windows Server documentation website.