修復消失的效能計數器(performance counter)
某一批新 VM 主機在安裝了 Microsoft Monitoring Agent(MMA)之後,出現奇怪的現像,在 Log Analytics 裡,除了 Perf (效能計數器) 項目,其他查詢都很正常。本來方向一直在 MMA 打轉,查了許久,終於找出原因:
Get-Counter -ListSet * | Sort-Object -Property CounterSetName | Format-Table -AutoSize
Get-Counter -ListSet * | Where-Object -FilterScript {$_.CounterSetName -eq "Process" -or $_.CounterSetName -eq "Memory" -or $_.CounterSetName -eq "LogicalDisk"}
透過 PowerShell Get-Counter
可以清楚看到,常用的 Process
、Memory
、LogicalDisk
等效能計數器都找不到了(直接執行 Get-Counter
會得到一堆紅色錯誤訊息)。找了許久,終於在一篇 KB2554336 如何手動重建效能計數器的 Windows Server 2008 64 位元或 Windows Server 2008 R2 系統 找到一個可能指令:
死馬當活馬醫,嘗試執行重建計數器指令:
cd c:\windows\system32
lodctr /R
cd c:\windows\sysWOW64
lodctr /R
64 位元執行上面 system32 裡的指令,32 位元執行 sysWOW64 裡的指令。
重新同步計數器與 Windows 管理檢測 (WMI):
winmgmt /resyncperf
重新執行 Get-Counter
應該就能看到計數器資訊。
主機發生過執行指令後並無效果。需要重開機讓設定生效的。
此批主機前後共建立了 16 台,都是同一個 ISO 建立的 Windows Server Core 1909,裡面有 6 台出現效能計數器消失的問題。為何裡主機裡的效能計數器會消失不見,目前是沒找到原因。但還好最後有重建成功,不然還要重新安裝與設定就有點想哭了。
沒有留言:
張貼留言
感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。