Windows Server 2019 System Insights

Windows Server 2019中老王最感興趣的三項新技術 Cluster Set,存儲遷移服務,再有就是System Insights ,通過System Insights可以幫助管理員在不需要購買其它組件的情況下,實現對Windows Server 2019 CPU/硬盤/卷/網絡的資源利用預測,並且能夠做到當預測資源利用率將在某個時間節點達到特定狀態時,自動觸發補救措施。


整套System Insights方案需要用到Windows Server 2019+Windows Admin Center來共同完成,在Server上面安裝System Insights功能,利用Windows Admin Center在Web界面對已安裝功能的服務器進行分析預測可視化


安裝先決條件


Windows Server 2019 17692版本及以上

Windows Admin Center 1804版本及以上

System Insights目前僅對已安裝功能的Server 2019操作系統生效

目前僅針對單機分析預測,未來版本將實現針對羣集整體進行分析預測

System Insights在本地收集和存儲長達一年的數據,如果希望在將操作系統升級到最新版本時保留數據,請確保使用就地升級

System Insights可在任何Windows Server 2019操作系統上運行,它可以在物理機和虛擬機,任何虛擬機管理程序以及任何雲中運行


啓動System Insights功能


Powershell啓用

Install-WindowsFeature -Name System-Insights -IncludeManagementTools -Restart


服務器管理器

2018-08-30_100824.png

安裝System Insights功能也會安裝powershell 管理模組,管理員除了可以使用WAC界面管理,也可以直接在Server 2019上面使用powershell執行相關管理操作

2018-08-30_101332.png

爲WAC安裝System Insights擴展,點擊設置 -  管理擴展

2018-08-30_102612.png

在可用擴展裏面選擇 Windows Server System Insights ,點擊安裝,此界面需WAC服務器端能夠聯網才能夠看見可用擴展列表,擴展列表來自第三方或微軟,擴展內容包括界面展示,收集規則,儀表板等,目前只能通過在服務器端在線方式安裝擴展,未來或可通過離線方式安裝擴展。

2018-08-30_102640.png

點擊安裝之後提示安裝擴展需提升網關模式,點擊確認自動提升,開始安裝擴展。

2018-08-30_102655.png

安裝成功可在已安裝的擴展看見Windows Server System Insights已安裝

2018-08-30_102839.png

打開WAC服務器管理界面,點擊機器名鏈接,中文版在左側工具欄可以看到系統見解工具,英文版爲System Insights

2018-08-30_104212.png


Powershell開啓或關閉某項資源的分析預測

Enable-InsightsCapability -Name "CPU capacity forecasting"

Disable-InsightsCapability -Name "CPU capacity forecasting"


目前階段系統見解工具僅開啓了四種資源的分析預測


CPU容量預測

網絡容量預測

總存儲消耗預測

卷消耗預測


每種功能都會分析每日數據以預測未來的使用,但是CPU,網絡或是存儲使用情況可能會在一天內頻繁更改,從而動態調整到計算機上的工作負載。由於使用量在一天中不是恆定的,因此在單個數據點中正確表示每日使用情況非常重要,在評估下面的過濾邏輯時,重要的是要注意每個功能都試圖通知管理員未來的使用將有意義地超過可用容量 - 即使CPU暫時達到100%利用率,CPU使用率可能不會導致有意義的性能下降或資源爭用。對於CPU和網絡,應該持續高使用而不是瞬間峯值。然而,在一整天中平均CPU和網絡使用會丟失重要的使用信息,因爲幾小時的高CPU或網絡使用可能會對關鍵工作負載的性能產生重大影響。每天最多2小時的平均值可以避免這些極端情況,並且仍然可以爲每種分析能力生成有意義的數據。但是,對於卷和總存儲使用情況,存儲使用量不能超過可用容量,即使是暫時的,因此每日最大使用量也會用於這些功能。

2018-08-30_163309.png

剛安裝好系統見解,默認情況下每種負載都是每天凌晨三點時進行檢索數據,管理員也可以根據實際需求修改收集計劃,點擊預測資源功能名稱 - 設置


2018-08-30_104243.png

根據需求修改後,保存即可

2018-08-30_104426.png


Powershell操作

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 Friday

Set-InsightsCapabilitySchedule -Name "Volume consumption forecasting" -Minute -MinutesInterval 30 


除了計劃收集,我們也可以立即觸發檢索數據功能,在系統見解界面點擊選中預測資源功能名稱欄,點擊調用即可

2018-08-30_104737.png

Powershell操作 

Invoke-InsightsCapability -Name "CPU capacity forecasting"


系統見解要做的工作有三塊

1.按照計劃規則檢索數據 

2.預測分析資源負載 

3.根據資源臨界點執行補救措施


當我們通過手動調用開始檢索數據,或等待計劃時間到達後,預測結果並不會立刻出來,最少要把服務器上擺上六天,系統見解才能預測出數據,數據越長,能夠分析預測的長度也就越長,建議最好三週以上。

2018-08-30_164554.png

預測功能需要使用預測模型來預測未來的使用情況,對於每個預測,模型將在本地根據您的機器數據進行培訓。此模型旨在幫助檢測長期趨勢,並對每個Windows Server實例進行重新培訓,使其能夠適應每臺計算機使用的特定行爲和細微差別。


確定要使用的模型類型需要使用包含數萬臺機器的數據集來測試許多模型。在分析和調整這些模型後,微軟決定使用自迴歸預測模型,因爲它可以產生高度準確和直觀的直觀預測,同時不需要太多時間進行訓練。但是,該模型需要三週的訓練數據,因此每種能力都使用基本的線性趨勢,直到有三週的數據可用。


通過觀察老王認爲此項預測分析功能,並非單純本地就可以完成,因爲安裝過程並未生成數據庫,也並沒有安裝分析工具,仍然還是一個40多兆的安裝包,因此老王推測如果要實現這樣的預測分析效果,還是需要將WAC服務器聯網,需要藉助於Azure機器學習功能才能完成預測模型的培訓呈現。


當服務器上擺上一段時間,能夠提供給預測模型完成分析時,點擊某個資源功能名稱,就能夠看到系統提供的分析數據,在預測視圖中左側爲資源每天使用的數據,曲線圖右側灰色區域爲系統見解功能,根據資源分析數據的輸入日期,預測出來的未來一段時間資源的使用情況,管理員可以參考預測結果進行容量規劃

系統見解支持通過Powershell直接獲取數據收集的歷史記錄,並且輸出成JSON格式,WAC也是通過擴展程序將JSON文件自動展示出來


# 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


OK,數據怎麼收集的了,預測分析什麼意思知道了,最後一項補救措施,挺有野心的一項功能,那麼,什麼時候會補救呢


預測分析功能定期會在預測視圖下面爲我們顯示當前資源的預測狀態,狀態分爲以下五種

2018-08-30_171119.png

正常:預測不會超過可用容量。

警告:預測超過了未來30天的可用容量。

嚴重:預測超過了未來7天的可用容量。

錯誤:該功能遇到意外錯誤。

無:沒有足夠的數據來進行預測。這可能是由於缺乏數據或最近沒有報告數據。


通過WAC我們可以設置,當某個資源的預測狀態達到正常,警告,嚴重,錯誤,無的時候,分別要執行什麼操作,目前僅支持Powershell腳本補救,點擊預測資源功能名稱 - 設置 - Actions,可以爲每個狀態輸入一段腳本,當預測資源達到該狀態時自動執行,也可以規劃爲不同狀態設置不同級別的補救腳本,例如預測到磁盤容量可能不足,警告級別執行磁盤清理,嚴重級別執行存儲遷移。

2018-08-30_171428.png


Powershell直接管理


$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

Get-InsightsCapability | Get-InsightsCapabilityAction

補救措施腳本參考


本文老王使用的Server版本爲2019 17733 WAC版本爲1804,如果大家需要資源可以和老王索要,可以看到,微軟2019裏面新推出的系統見解功能還是有一定的適用場景的,原來這種預測分析是要SCOM+SCVMM集成,或是SCOM+Veeam,才能看出預測分析的效果,現在不需要購買System Center產品,只需要有Windows Server 2019的授權就可以完成,幫助IT基礎架構管理更上一個層次,通過智能分析爲IT自動提供提示,自動執行部分運維,也是未來IT運維發展的趨勢,很高興看到微軟推出這項功能


對於系統見解老王的建議,目前能夠分析預測的類型還是太少,如果能夠分析網站前端的負載,或某個服務的狀態,自動進行補救,效果將會更好。補救方式目前還是受限,如果能夠支持更多補救方式將更好,例如支持和SCO,SMA對接,當預測達到一定狀態自動觸發一個runbook執行,目前老王看到預測分析還是只能在單機服務器上面有效果,如果未來能夠設計成針對於整個羣集,或一個資源池進行分析將更好。目前主要還是以預測分析資源使用率爲主,如果能夠加上配合BPA對服務器上面的配置提出建議將更好。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章