利用snmp进行系统远程监控确实是相当不错的一个选择,如果要实现监控必须在windows上安装snmp服务,具体安装方法建议搜索一下互联网上有很多的文章介绍,在windows组件中进行安装。
oid是在snmp中监控必不可少的,oid有一个oid的标准,但是在这个标准中可能并没有定义我们需要监控的变量,如对一个程序的运行情况进行监控,这个时候就需要扩展oid,实现自己定义的oid。
扩展oid需要一个工具snmptools,具体的下载地址http://it.dianping.com/using_cacti_performance_counter_to_implement_customized_remote_monitoring.htm。
下载地址 http://it.dianping.com/attachment/snmp2.zip
若不能下载,可以在我的资源库中查找,我已上传到我的csdn资源库中。
一、设置环境
下载完成后的安装里面有一个index.html文件,对照着上面就可以安装成功,在这里稍微提一下:
1.复制压缩包中的snmptools.dll的系统的system32的目录下
2.点击压缩包中的reg文件,在注册表中注册(具体点击哪一个看你的系统环境)
3.在运行中输入services.msc找到snmp服务重新启动
经过上诉三个步骤完成环境的设置。
二、实现自定义扩展oid
1.在C盘根目录建立counters.ini文件,文件内容中定义你自己的oid
2.oid中支持三种类型counter string 和自定义的输出。官方给的实例如
[1.3.6.1.4.1.15.1]
counter=LogicalDisk\Free Megabytes\_Total
[1.3.6.1.4.1.15.2]
type=string
counter=this is a test
[1.3.6.1.4.1.15.3]
type=exec
counter=cscript /nologo c:\test.vbs
[1.3.6.1.4.1.15.4]
type=exec
counter=c:\test.bat
//bat文件直接在=后即可
我想对我们扩展oid来说比较有用的可能还是可执行命令的输入,也就是第三个。这里你可以使用bat的输入作为snmp的返回值。我的应用是使用java写一个程序,然后使用批处理脚本来调用java进行返回。希望上诉对于大家有所帮助。