可以管理和配置 System Insights 功能以满足部署需求。 本文介绍如何使用 PowerShell 或 Windows Admin Center 调整每个功能的设置,并提供分步示例和屏幕截图。
查看功能
可以使用 Get-InsightsCapability cmdlet 列出所有可用功能:
- 打开 PowerShell。 输入以下命令:
Get-InsightsCapability
启用和禁用功能
可以启用或禁用每一项功能。 禁用某项功能会阻止调用该功能,对于非默认功能,禁用某项功能会停止该功能的所有数据收集。 默认情况下,所有功能都已启用,可以在更改功能之前检查功能的状态。
若要启用功能,请使用 Enable-InsightsCapability cmdlet:
打开 PowerShell,然后输入以下命令,将功能的名称替换为所选的功能。
Enable-InsightsCapability -Name "CPU capacity forecasting"
若要禁用功能,请使用 Disable-InsightsCapability cmdlet:
调用功能
调用某个功能会立即运行检索预测的功能,管理员可以在 Windows Admin Center 中随时调用某个功能,也可以使用 Invoke-InsightsCapability cmdlet 调用该功能。 为确保调用某项功能不会与计算机上的关键操作发生冲突,请考虑在非工作时间计划预测。
检索功能结果
调用功能后,使用 Get-InsightsCapability 或 Get-InsightsCapabilityResult 显示最新的结果。 这些 cmdlet 输出每个功能的最新 状态 和 状态说明 ,用于描述每个预测的结果。 “ 状态 和 状态说明 ”字段在 理解功能文档中进一步介绍。
此外,可以使用 Get-InsightsCapabilityResult cmdlet 查看最后 30 个预测结果并检索与预测关联的数据:
# 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
使用事件日志检索功能结果
每次功能完成预测时,系统见解都会记录一个事件。 这些事件在 Microsoft-Windows-System-Insights/Admin 通道中可见,System Insights 会为每个状态发布不同的事件 ID:
| 预测状态 | 事件编号 |
|---|---|
| Ok | 151 |
| Warning | 148 |
| Critical | 150 |
| Error | 149 |
| None | 132 |
使用 Azure Monitor 或 System Center Operations Manager 聚合这些事件,并在一组计算机上查看预测结果。
设置能力计划
除了按需预测之外,还可以为每项功能配置定期预测,以便按照预定义的计划自动调用指定的功能。 每项默认功能都计划在每天凌晨 3 点运行。 但是,可以为每个功能创建自定义计划,System Insights 支持各种计划类型。
使用 Get-InsightsCapabilitySchedule cmdlet 查看功能计划。 使用 PowerShell 中的管道 | 查看 Get-InsightsCapability cmdlet 返回的所有功能的信息。
Get-InsightsCapability | Get-InsightsCapabilitySchedule
默认情况下启用定期预测,尽管可以使用 Enable-InsightsCapabilitySchedule 和 Disable-InsightsCapabilitySchedule cmdlet 随时禁用定期预测:
Enable-InsightsCapabilitySchedule -Name "Total storage consumption forecasting"
Disable-InsightsCapabilitySchedule -Name "Volume consumption forecasting"
可以使用 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
由于默认功能会分析每日数据,因此建议对这些功能使用每日计划。 详细了解 默认功能。
创建补救措施
利用系统见解,你可以根据功能的结果启动自定义修正脚本。 对于每项功能,你都可以为每个预测状态配置自定义 PowerShell 脚本,从而使管理员能够自动执行修正操作,而不需要手动干预。
示例修正操作包括运行磁盘清理、扩展卷、运行重复数据删除、实时迁移 VM 和设置 Azure 文件同步。
可以使用 Get-InsightsCapabilityAction cmdlet 查看每个功能的作:
Get-InsightsCapability | Get-InsightsCapabilityAction
可以使用 Set-InsightsCapabilityAction 和 Remove-InsightsCapabilityAction cmdlet 创建新作或删除现有作。 每个作都使用 ActionCredential 参数中指定的凭据运行。
$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
相关内容
若要详细了解系统见解,请使用以下资源: