Windows Server 2012 上的 SNMP 磁盘队列长度(MRTG)

Windows Server 2012 上的 SNMP 磁盘队列长度(MRTG)

在 Windows Server 2003 上,使用 MRTG 从 SNMP 读取磁盘队列长度很容易:

snmpwalk -v1 -cpublic 192.168.1.20 1.3.6.1.4.1.9600.1.1.1.1.7

iso.3.6.1.4.1.9600.1.1.1.1.7.2.67.58 = Gauge32: 26
iso.3.6.1.4.1.9600.1.1.1.1.7.2.69.58 = Gauge32: 221
iso.3.6.1.4.1.9600.1.1.1.1.7.2.71.58 = Gauge32: 0
iso.3.6.1.4.1.9600.1.1.1.1.7.6.95.84.111.116.97.108 = Gauge32: 247

此 MIB 不适用于 Windows Server 2008 和 2012

还有其他简单的方法来读取磁盘队列吗?

现在我在 Windows Server 2012 上建立了服务,我使用 IIS 作为我的 MRTG 服务器来访问数据,这太复杂了。

答案1

NC_Net您可以使用或代理读取 Windows 服务器上的磁盘队列NSCLIent++。这些代理旨在与 Nagios 一起使用;但它们也可以由 MRTG 查询。您可以使用mrtg-pnsclient与 Routers2 前端一起分发的 MRTG 插件。它使用 NSClient 协议进行查询,并且可以访问任何 Windows PerfMon 计数器,其中包括您需要的值。该插件有一个可编译的 C 版本和一个本机 Perl 版本;如果您可以编译它,C 版本会更好。

要使用此功能定义 MRTG 目标,请定义以下形式:

Target[disk-queue-total]: `mrtg-pnsclient -H hostname -v COUNTER -l "\\PhysicalDisk(_Total)\\Current Disk Queue Length" -v COUNTER -l "\\PhysicalDisk(_Total)\\Current Disk Queue Length"`

_total如果您想要每个磁盘的值,请用适当的磁盘标识符替换。

相关内容