snmptools基本的实现思路很简单,性能计数器->SNMP->cacti。再细分一下,这个方案分两步,第一步是计数器到SNMP,第二步是SNMP到cacti。
第一步计数器到SNMP,snmptools提供了一个SNMP Service的扩展Agent Dll,与windows自带的SNMP Service集成。这个Agent Dll的主要功能就是通过一个配置文件自定义OID,以及对应的计数器映射。
[1.3.6.1.4.1.15.10.4]
counter=SQLServer:General Statistics\User Connections
以上是配置文件的样例,此Dll用的MIB根节点是1.3.6.1.4.15,可以在此节点下定义自己所需要的counter对应的OID。
一旦snmptools安装配置完毕,可通过cacti所在机器使用linux命令测试一下:
snmpwalk -v 2c -c chrsnmp 192.168.0.208 .1.3.6.1.4.1.15.10.4
此命令会遍历此节点所有使用到的OID值。如果数值获取到了,说明第一步操作已成功。

首先在要监控的目标机器上安装snmptools(http://erwan.l.free.fr/snmptools),然后在Counter.ini文件里定义snmp OID对应计数器,实现从系统性能计数器到snmp的转换。
然后设置Cacti模版:
大体思路:
1. 定义数据采集模版,告诉cacti怎么采集和保存数据
2. 定义图形模版,告诉cacti如何把获取的数据展现出来
3. 定义主机模版,方便添加主机时设置新型的项目
1.1 设置Data Templates
Templates\Data Templates:[add]
[Create]
1.2 定义数据模版的采集对象

[save]
2.1 设置图形模版的信息
Templates\Graph Templates: [add]

Upper Limit (--upper-limit)
Use Per-Graph Value (Ignore this Value) => 0
2.2 设置展现的项目
[create]
Graph Template Items [edit: SQLServer UserConnections]
Graph Item [add]

[Create]
2.3增加项目(没有测试是否必须,参考cacti在线帮助设置的)

[add]

[create]

[save]
3.1 设置Host模版
Host Templates [edit: Windows 2000/XP Host]
Add Graph Template

下面是完成后的样子:

Management\Devices
选中之前已经创建好的设备,(因新内容是在设备创建后才有的,所以,要对原设备进行图形模版添加)
Associated Graph Templates

[add]
[save]
模版配置完成。
最后,与添加其他图形没有什么差别
Create Graphs for this Host

[Create]

将图形添加到图形树上:
Graph Trees

[create]
附:
snmptools下载地址:snmptools v2
参考链接:
Windows performance counters & VBS/WMI via SNMP
利用cacti和性能计数器实现自定义远程监控