在我的Nagios插件监视networking负载给我一台Windows 2008 R2服务器(600)之外的问题。 你可以在这里下载插件: https : //github.com/willemdh/check_ms_win_network_load
尝试时发生问题
Get-WmiObject Win32_PerfFormattedData_Tcpip_NetworkInterface
其结果是:
Get-WmiObject : Invalid class "Win32_PerfFormattedData_Tcpip_NetworkInterface" At line:1 char:1 + Get-WmiObject Win32_PerfFormattedData_Tcpip_NetworkInterface + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidType: (:) [Get-WmiObject], ManagementException + FullyQualifiedErrorId : GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand
当网卡在VMware中从“E1000”更换为“VMXNET 3”时,问题就开始了。 正如我怀疑WMI的问题,我已经尝试了以下步骤来尝试解决它:
winmgmt /salvagerepository %windir%\System32\wbem
winmgmt /resetrepository %windir%\System32\wbem
Rename the repository folder located at %windir%\System32\wbem\repository to repository.old
winmgmt /resyncperf
wmiadap /f
wmiadap /r
在上述每个步骤之间,我停止了WMI并重新启动服务器。 没有帮助。 还有什么我可以这样做,我可以再次查询Win32_PerfFormattedData_Tcpip_NetworkInterface类?
AFAIK Win32_PerfFormattedData_Tcpip_NetworkInterface类依赖于PerfLib。 你有没有检查你的性能计数器是如何设置的这台服务器? 尝试重新创build性能计数器。
尝试这个:
(get-counter -ListSet 'network adapter').Counter
或者这对于win7和更早版本:
(get-counter -ListSet 'network interface').Counter
运行perfmon并查找networking适配器的计数器。