我们正在升级FutureStack的注册,仅到4月30日。条款和条件适用。 现在注册

如果你是数百万Windows管理员中的一员,你可能知道Hyper-V是一个用于创建和管理虚拟机的伟大的Windows实用程序。

微软hyper - v提供一个被广泛用于构建公共、私有和混合云的虚拟化计算环境。Hyper-V是高度可扩展的,支持许多流行的操作系统,包括Red Hat Enterprise Linux、Debian、Oracle Linux、Ubuntu和FreeBSD。它还允许您配置故障转移集群,以确保完全冗余。

在这篇文章中,我们将介绍如何使用New Relic的基础设施和一个主机集成(OHI)来监视Hyper-V的关键指标:

新的遗物为我们新的遗物架构代理提供了WMI OHI作为开源加载项。(见nri-perfmon回购有关详细信息。)

用于监控Hyper-V的Windows组件

以下工具用于监控Hyper-V,并将用作集成与新遗物的构建块。

Windows性能计数器

Windows性能计数器允许您分析应用程序、服务和驱动程序提供的性能数据。例如,可以使用性能计数器跟踪系统的处理器利用率,或确定系统瓶颈并优化应用程序性能。

微软提供关于可用性能计数器的广泛文档

Microsoft Windows Management Instrumentation (WMI)

Windows WMI是基于Windows的操作系统上的管理数据和操作的基础架构。您可以编写WMI脚本或应用程序以在远程计算机上自动执行管理任务,但WMI还将管理数据提供给操作系统和产品的其他部分,如Windows远程管理(WinRM)。亚博最新版直播

新的遗物通过查询这些服务器上的WMI接口来收集来自Hyper-V服务器的数据,以进行性能计数器数据。

关于在Azure或Azure Stack中监控Hyper-V主机的注意事项:微软Azure使用一个自定义版本的Hyper-V,即微软Azure Hypervisor来提供Azure服务的虚拟化,而Azure Stack是一个运行在Azure云平台上的混合云计算解决方案。微软不允许访问Azure或Azure Stack中的Hyper-V主机。然而,New Relic确实提供了一些Azure集成可以用来监视Azure服务。

在Hyper-V中监控的关键指标

要充满信心地监控Hyper-V,我们建议至少收集以下性能计数器:

表演柜台 定义
Wmi_hyperv_health_ok 此计数器表示健康检查状态为“OK”的虚拟机数量。
Wmi_hyperv_health_critical 此计数器表示健康检查状态为“紧急”的虚拟机的数量。如果虚拟机的健康状况非常严重,则意味着某些资源(很可能是磁盘)已耗尽,或发生了其他不可恢复的错误。在这种情况下,您应该采取行动来弄清楚发生了什么。
VirtualProcessors./(PercentGuestRunTime)(对于VM的给定实例) 对于Hyper-V虚拟机,不能查看传统的%处理器时间度量来更好地理解VM的处理。相反,使用此计数器来获得等效的度量值%处理器时间,而是针对由其实例名定义的特定VM。
CPUWaitTimePerDispatch 这个时间值应该保持在60000毫秒以下。当平均队列时间超过100ms时,虚拟机的CPU需求会增加。

New Relic Infrastructure代理将通过监控主机上的性能计数器收集以下指标:

  • 内存性能
    • 内存\ mb可用
    • Hyper-V动态内存均衡器(*)\可用内存
  • 存储性能
    • 信(磁盘)\ Avg。磁盘秒/读取
    • 信(磁盘)\ Avg。磁盘秒/写
    • 信(磁盘)\ Avg。磁盘读取队列长度
    • 信(磁盘)\ Avg。磁盘写队列长度
  • 网络性能
    • 网络接口(网卡名称)\字节/秒

有关更多关于在基于Microsoft的虚拟化环境中的检测和解决瓶颈,请退房他们的建议

监控Hyper-V与新Relic WMI OHI

在开始使用WMI OHI之前,先熟悉一下免责声明需求

这个过程是这样的:

  1. 安装New Relic基础架构代理在Hyper-V集群中的每个节点上。
  2. 安装新的Relic基础设施OHIWMI
  3. 定制json来告诉OHI从Hyper-V环境收集哪些性能计数器。把json每个Hyper-V主机上需要收集数据的文件。这是一个定制示例json:
    {“Query”:“选择healthcreity,healthok来自win32_perfriddata_vmmsvirtualmachineestats_hypervvirtualmachinehealthsumalary”,“firmmon_hypervirtualmachinehealthsumalheanthsumary”,“柜台”:[{attrname“:[{attrname”:“wmi_hyperv_health_critical”,“柜台”:“healthcritical”},{“attrname”:“wmi_hyperv_health_ok”,“计数器”:“healthok”}]},{“查询”:“来自win32_perfrawdata_vidperfprovider_hypervvmvidpartition”,“eventname”:“perfmon_hypervvmvidpartition”},{“查询”:“选择*从Win32_PerfRawData_HvStats_HyperVHypervisorRootPartition”, “事件名称”: “Perfmon_HyperVHypervisorRootPartition”},{ “查询”: “SELECT * FROM Win32_PerfRawData_HvStats_HyperVHypervisor”, “事件名称”: “Perfmon_HyperVHypervisor”},{ “查询”: “SELECT * FROM Win32_PerfRawData_HvStats_HyperVHypervisorRootVirtualProcessor”, “事件名称”:“perfmon_hypervhypervisorrootvirtualprocessor”},{“查询”:“选择*来自Win32_perfrawdata_nvspswitchstats_hypervvirtualswitch”,“eventname”:“perfmon_hypervvirtualswiTch“},{”查询“:”来自win32_perfrawdata_hetherfprovider_hypervlegacynetworkadapter“select *,”figmon_hyplegacynetworkadapter“},{”查询“:”select * from win32_perfrawdata_counters_hypervvirtualstoragedevice“,feampame”:“perfmon_hypervvirtualstoragedevice”},{“查询”:“从Win32_perfrawdata_nvspnicstats_hypervirtualworkAdawer”,“eventname”:“perfmon_hypervvirtualworkadapter”}“}

    一旦安装并运行,New Relic WMI OHI将开始用自定义事件填充NRDB,对应于在你的json文件:

可视化您的Hyper-V数据

现在是时候创建一个New Relic One仪表板了,它可以组合来自WMI OHI和安装在Hyper-V主机上的基础设施代理的数据。

下面是三个示例仪表板和用于在每个仪表板中创建图表的NRQL查询:

仪表板示例1:

示例1中的样本NRQL查询:

  • 从5分钟前开始,从Perfmon_hypervvirtualMachineHealthSumachHealthsumachHealthSumet主机名中选择平均值(WMI_HYPERV_Health_ok)
  • SELECT count(wmi_hyperv_health_critical) FROM Perfmon_HyperVVirtualMachineHealthSummary facet hostname where wmi_hyperv_health_critical like '%0%' FROM minutes AGO

仪表板示例2:

示例2中的NRQL查询示例:

  • 从Perfmon_HyperVHypervisorRootVirtualProcessor SINCE 30 MINUTES ago刻面主机名
  • SELECT average(VirtualProcessors) FROM Perfmon_HyperVHypervisor SINCE 30 MINUTES AGO刻面主机名
  • 从30分钟前完成Perfmon_hypervhyperVisor的平均(TotalPages)Facet Hostname
  • SELECT averAGE(LogicalProcessors) FROM Perfmon_HyperVHypervisor SINCE 30 MINUTES AGO刻面主机名

仪表板示例3:

示例3中的NRQL查询示例:

  • 选择平均值(cpuwaittimeperdispatch)/ 1000000来自perfmon_hypervhypervisorrootvirtual processor自5分钟前Facet HostName
  • SELECT count(systemMemoryBytes) FROM Perfmon_HyperVHypervisor FACET systemMemoryBytes SINCE 30 MINUTES AGO TIMESERIES
  • 选择最新(BYTESPERSEC)/ 1024000作为'MB / SEC'从30分钟前的Perfmon_hypervvirtualwitch fromet名称

结论

用新遗物监测Hyper-V:

  • 添加上下文。添加上下文到你的Hyper-V度量数据时,你使用它与你的其他数据在New Relic数据平台。
  • 是灵活的。使用WMI接口添加数据集中需要的任何Hyper-V度量标准。可以在新的遗物单板中轻松访问所有数据并可视化。您甚至可以构建您自己的新遗物一个应用程序来策划数据以满足您的独特需求。
  • 开了。New Relic WMI OHI是建立在Microsoft Windows原生提供的基本监控界面之上的。

想了解更多关于New Relic如何管理你的数据吗?看看内部NRDB:一个灵活的统一数据库,构建为缩放