设为首页 收藏本站
查看: 1303|回复: 0

[经验分享] windows 下安装/配置/测试 net-snmp

[复制链接]

尚未签到

发表于 2015-12-16 08:00:21 | 显示全部楼层 |阅读模式
windows 下安装/配置/测试 net-snmp
1. 安装
安装前准备:
1)ActivePerl-5.10.0.1004-MSWin32-x86-287188.msi (Perl安装程序).
2)net-snmp-5.4.2.1-1.win32.exe (net-snmp安装程序)
    安装 Windows下安装net-snmp很简单,只需要执行安装程序,使用默认设置一步步点即可完成安装过程。安装net-snmp前可能需要安装Perl,一样是使用默认配置一步步点即可。
   安装文件下载可参考net-snmp Install Steps(http://hi.baidu.com/%CE%A8%B2%CA%D0%F9/blog/item/149eb6b5b2c9cbfd31add1f7.html)中的II. windows 下安装net-snmp 部分提供的链接,很好用。(该博文还提供了linux下的安装方法,以及一些链路,感觉很不错!)
2. 配置
配置snmpd.conf 说明:
每次改变snmpd.conf都必须重启snmp服务以使更改生效。对于自动配置,网上有介绍,但需要熟悉各种参数,这里采用手工创建方法。如果需要深入学习配置方法,可参考“net-snmp安装配置手册”(东软的张兵写的,很不错!)  手工创建配置文件的方法:
    配置文件中路径分隔符都要使用斜杆“/”,而不要使用反斜杆 All paths in configuration files should use forward slashes (Unix style), NOT back slashes. Example: c:/usr ?在c:\usr\etc\snmp\下新建一文本文件,重命名为snmpd.conf(不要有.txt的扩展名)。
最简单的应用,在snmpd.conf中加入以下指令:
rocommunity public
rwcommunity private 这样系统就可以运行了。但是这样的配置很不安全,任何人只要使用public(public相当于密码),都可以获得本机信息,网上有很多更好的配置方法,大家可参考文后附加的网址,举例如下:
# sec.name source community
com2sec local localhost public
com2sec mynetwork IP public
#以上用来设置允许访问本机信息的IP地址,除此之外的地址都无法获得本机信息。
# sec.model sec.name group
MyRWGroup v1 local group
MyRWGroup v2c local group
MyRWGroup usm local group
MyROGroup v1 mynetwork group
MyROGroup v2c mynetwork group
MyROGroup usm mynetwork
# incl/excl subtree mask
view all included .1 80
# context sec.model sec.level match read write notif access
MyROGroup "" any noauth exact all none none access
MyRWGroup "" any noauth exact all all none syslocation China load 12 14 14
3. 启动snmp:
(1)根据http://www.net-snmp.org/docs/README.win32.html所提供的信息,如下:
***************************************************************************
*
* Running Net-SNMP as a replacement for the Microsoft SNMP service
*
***************************************************************************
As of Net-SNMP 5.4, the Net-SNMP agent is able to load the Windows SNMP
service extension DLLs by using the Net-SNMP winExtDLL extension.
The Windows SNMP service must be installed, but the service must be disabled.  
This is required so that the extension DLLs are available for loading, and
also because this extension and the existing Windows extensions use the
Windows SNMP API from snmpapi.dll.
An alternative to winExtDLL is to proxy requests from Net-SNMP to the Windows
SNMP service.  See the section 'Co-existence with Microsoft SNMP services'.
可知,我们需要安装Windows SNMP service,但安装完后需要将其禁掉,因为NET-SNMP会用到snmpapi.dll(这个文件在win32目录下,可以直接本地搜索到)。这一点很重要,一定要做,很多网上的文档都没有写,不知道为什么。
(2)用cmd启动一个命令窗口,将工作目录改到C:\usr(我装在这个目录的)下,执行
c:\usr>bin\snmpd -v
NET-SNMP version:  5.4.2.1
Web:               http://www.net-snmp.org/
Email:             net-snmp-coders@lists.sourceforge.net

主文件正常,下一步将它安装为windows服务,执行
c:\usr>registeragent.bat
Registering snmpd as a service using the following additional options:
.
-Lf “c:/usr/log/snmpd.log”
.
.
For information on running snmpd.exe and snmptrapd.exe as a Windows
service, see ‘How to Register the Net-SNMP Agent and Trap Daemon as
Windows services’ in README.win32.
.
请按任意键继续. . .
c:\usr>
服务注册成功,接着注册trap,命令
c:\usr>registeragent.bat
同样看到类似信息。
下面启动net-snmp
c:\usr>net start “net-snmp agent”
Net-SNMP Agent 服务已经启动成功。
c:\usr>
这样,我们便可以在windows的任务管理器中看到snmpd.exe这个进程。

4. 测试net-snmp
(1)启动net-snmp后我们先确认版本,用snmpd -v ,结果:
C:\usr>snmpd -v
NET-SNMP version:  5.4.2.1
Web:               http://www.net-snmp.org/
Email:             net-snmp-coders@lists.sourceforge.net
(2)可以使用以下指令测试net-snmp是否正常工作:
snmpwalk -v 2c -c public localhost system 这条指令用于查看本机系统信息,若正确返回信息则netsnmp正常工作。
(3)依据张兵的测试方法,我们可以进行如下三种方法测试网卡的属性:
本地通过localhost测试:
snmpwalk -v 2c -c public localhost if
本地通过IP(下面是我的IP)测试:
snmpwalk -v 2c -c public 59.69.64.101 if   
远程通过IP测试:
在客户机上可能没安装net-snmp,因此不能运行net-snmp命令,需要通过第三方软件进行测试。我们使用AdventNet MibBorwser,用这个是因为我们之前使用过SNMP Simulator Toolkits 7.0.4,里面自带了这个MIB库工具。加载RFC1213-MIB库,之后输入信息如下:
Host: 59.69.64.101
Port:161
Community:public
如我们查看system下的sysContact或sysName,可以在org/dod/internet/mgmt/mib-2/system子树下找到这些键值,选中,然后,通过菜单Opersations/Get获取值。获取的值可以在窗口显示出来。

(4)网上还介绍,可以用cacti这样的监控程序去抓数据画图。
(5)测试过程中,发现有时获取不到sysContact和sysLocation的信息。需要在服务中将SNMP Service中的代理和陷阱部分做如下设置:
  在服务里打开SNMP服务的属性,在Agent选项中,勾选所有的选项(也就是打开所有的Agent)。在Trap选项中,输入一个Communication的名称,一般用默认值public,他的权限是READ ONLY的。
(使用NET-SNMP和MRTG监测Windows服务器http://space.itpub.net/312079/viewspace-245711)
  
5.开发agent。
网上有很多这方面的资料,这里推荐http://bibu.blogchina.com/inc/net_snmp_doc.htm
和http://blog.csdn.net/bearfig/archive/2008/02/03/2080421.aspx


PS:
关于更深入的配置和开发问题,希望大家一块讨论学习,共同进步^_^

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-151724-1-1.html 上篇帖子: windows窗体控件之LisBox(列表框) 下篇帖子: Windows内核中定时器和同步事件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表