通过SNMP导出perfmon计数器

我已经有perfmon在Windows 2008服务器上显示ASP.NET请求的当前数量,所有这一切都很好。

我启用了SNMP服务,并且可以在机器上执行snmpwalk(Linux命令浏览snmp MIBs)。

我现在想要导出perfmon数据,所以我可以通过SNMP读取。

我不相信性能监视器计数器可通过SNMP开箱即用。 有一些附加function可以添加function。

付费版本: SNMP Informant

和一个免费的: SNMP工具

安装snmptools并将计数器添加到counters.ini文件中。可以使用“Typeperf -qx”命令获取Perfmon计数器。 下面的例子显示了几乎没有通用计数器的counter.ini文件。

基础OID是1.3.6.1.4.1.15

;% Processor Time - 2.1.x [1.3.6.1.4.1.15.2.1.1] counter=Processor\% Processor Time\_Total ;Memory - 5.1.x [1.3.6.1.4.1.15.5.1.1] counter=Memory\Available Bytes ;Paging File - 6.1.x [1.3.6.1.4.1.15.6.1.1] counter=Paging File(_Total)\% Usage [1.3.6.1.4.1.15.6.1.2] counter=Paging File(_Total)\% Usage Peak 

重新启动SNMP,检查返回的值:
snmpget -v2c -c public hostname 1.3.6.1.4.1.15.5.1.1
iso.3.6.1.4.1.15.5.1.1 = STRING:“2235023360”

该计数器返回字节中的可用内存。