Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
System Insights capabilities can be managed and configured to meet your deployment needs. This article explains how to adjust settings for each capability using PowerShell or Windows Admin Center, with step-by-step examples and screenshots.
View capabilities
You can list all of the available capabilities using the Get-InsightsCapability cmdlet:
- Open PowerShell. Enter the following command:
Get-InsightsCapability
Enable and disable a capability
Each capability can be enabled or disabled. Disabling a capability prevents that capability from being invoked, and for non-default capabilities, disabling a capability stops all data collection for that capability. By default, all capabilities are enabled, and you can check the state of a capability before changing it.
To enable a capability, use the Enable-InsightsCapability cmdlet:
Open PowerShell, and enter the following command replacing the name of the capability with the capability of your choice.
Enable-InsightsCapability -Name "CPU capacity forecasting"
To disable a capability, use the Disable-InsightsCapability cmdlet:
Invoke a capability
Invoking a capability immediately runs the capability to retrieve a prediction, and administrators can invoke a capability any time in Windows Admin Center, or by using the Invoke-InsightsCapability cmdlet. To make sure invoking a capability doesn't conflict with critical operations on your machine, consider scheduling predictions during off-business hours.
Retrieve capability results
Once a capability is invoked, the most recent results are visible using Get-InsightsCapability or Get-InsightsCapabilityResult. These cmdlets output the most recent Status and Status Description of each capability, which describe the result of each prediction. The Status and Status Description fields are further described in the understanding capabilities document.
Additionally, you can use the Get-InsightsCapabilityResult cmdlet to view the last 30 prediction results and to retrieve the data associated with the prediction:
# 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."
# Specify the encoding as UTF8, so that Get-Content correctly parses non-English characters.
$Output = Get-Content (Get-InsightsCapabilityResult -Name "CPU capacity forecasting").Output -Encoding UTF8 | ConvertFrom-Json
$Output.ForecastingResults
Use the event log to retrieve capability results
System Insights logs an event each time a capability finishes a prediction. These events are visible in the Microsoft-Windows-System-Insights/Admin channel, and System Insights publishes a different event ID for each status:
Prediction status | Event ID |
---|---|
Ok | 151 |
Warning | 148 |
Critical | 150 |
Error | 149 |
None | 132 |
Use Azure Monitor or System Center Operations Manager to aggregate these events and see prediction results across a group of machines.
Set a capability schedule
In addition to on-demand predictions, you can configure periodic predictions for each capability so that the specified capability is automatically invoked on a predefined schedule. Each default capability is scheduled to run every day at 3am. You can, however, create custom schedules for each capability, and System Insights supports a variety of schedule types.
Use the Get-InsightsCapabilitySchedule cmdlet to see capability schedules. Use the pipeline |
in PowerShell to see information for all capabilities returned by the Get-InsightsCapability cmdlet.
Get-InsightsCapability | Get-InsightsCapabilitySchedule
Periodic predictions are enabled by default though they can be disabled at any time using the Enable-InsightsCapabilitySchedule and Disable-InsightsCapabilitySchedule cmdlets:
Enable-InsightsCapabilitySchedule -Name "Total storage consumption forecasting"
Disable-InsightsCapabilitySchedule -Name "Volume consumption forecasting"
You can create custom schedules for each capability using the Set-InsightsCapabilitySchedule cmdlet:
Set-InsightsCapabilitySchedule -Name "CPU capacity forecasting" -Daily -DaysInterval 2 -At 4:00PM
Set-InsightsCapabilitySchedule -Name "Networking capacity forecasting" -Daily -DaysOfWeek Saturday, Sunday -At 2:30AM
Set-InsightsCapabilitySchedule -Name "Total storage consumption forecasting" -Hourly -HoursInterval 2 -DaysOfWeek Monday, Wednesday, Friday
Set-InsightsCapabilitySchedule -Name "Volume consumption forecasting" -Minute -MinutesInterval 30
Because the default capabilities analyze daily data, it's recommended to use daily schedules for these capabilities. Learn more about the default capabilities.
Create remediation actions
System Insights enables you to kick off custom remediation scripts based on the result of a capability. For each capability, you can configure a custom PowerShell script for each prediction status, allowing administrators to take corrective action automatically, rather than requiring manual intervention.
Sample remediation actions include running disk cleanup, extending a volume, running deduplication, live migrating VMs, and setting up Azure File Sync.
You can see the actions for each capability using the Get-InsightsCapabilityAction cmdlet:
Get-InsightsCapability | Get-InsightsCapabilityAction
You can create new actions or delete existing actions using the Set-InsightsCapabilityAction and Remove-InsightsCapabilityAction cmdlets. Each action is run using credentials that are specified in the ActionCredential parameter.
$Cred = Get-Credential
Set-InsightsCapabilityAction -Name "CPU capacity forecasting" -Type Warning -Action "C:\Users\Public\WarningScript.ps1" -ActionCredential $Cred
Set-InsightsCapabilityAction -Name "CPU capacity forecasting" -Type Critical -Action "C:\Users\Public\CriticalScript.ps1" -ActionCredential $Cred
Remove-InsightsCapabilityAction -Name "CPU capacity forecasting" -Type Warning
Related content
To learn more about System Insights, use the following resources: