Chinaunix

标题: 关于SNMP简单网络管理 [打印本页]

作者: cuishinankobe    时间: 2009-04-03 16:15
标题: 关于SNMP简单网络管理
最近在研究SNMP,因为想在一台交换机上设置一个SNMP的代理,来监控交换机的一些参数,这里我就假设我要监控交换机的某个端口的数据量。
现在说说本人对SNMP的一些看法,当然还有一些问题想和关注过SNMP的朋友一起讨论一下,毕竟自己也是个菜鸟。
先谈一下对SNMP的看法:
    SNMP是个很古老的协议,其协议本身并不是很复杂顾名思义,简单网络管理协议。但它也有不简单的地方,那就是MIBS库这个东西。这个东西我认为是对被管理对象的一个描述,描述的内容包括类型,名称(也就是OID)等等。转用一个看到过的网站上对MIB比较好的定义。MIB是对设备中各个被管理的对象(Managed Objects)做了一个名字(OID)、数据类型、总体逻辑结构的定义,设备会根据它里面的MIB(或是标准的MIBII,或是企业自己的私有的MIB库),构建一个被管理对象的逻辑数据库,这个数据库里有这些OID及其对应的具体的值(如网友所说的cpu利用率、端口速度等指标的具体值),网管依靠SNMP协议,通过代理的配合工作查询此数据库,找到需要的值,从而达到对设备的监控和管理工作。
  接下来想问的就是关于SNMP上的一些问题:
  1.如果我想在一台交换机上开发一个SNMP代理,那肯定要创建一个私有的MIB库。那是不是就意味着我必须申请一个私有节点?然后在这个节点下来定义我的简单变量和表,那如何去申请这个节点?
   2.第二个问题就是关于MIB库和交换机上参数值的问题,交换机上的代理接受到管理站上的get请求后通过MIB库找到那个参数的节点,比如是.1.3.6.1.4.1.5000.3。问题来了,那个节点上的值是怎么样传递给MIB的?有些网友说是数据库,那MIB,数据库和交换机上的值是怎么联系到一起的呢?
作者: sl767060269    时间: 2013-10-09 16:27
有没有人啊,我也遇到这样的问题,求指点!
作者: wjg501917603    时间: 2013-10-10 17:31
1编写MIB文件(具体参考模版),描述各个对象的SMI,把MIB文件放到/usr/local/share/snmp/mibs/下(也可能是/usr/share/snmp/mibs/)。
2结合检测对象的属性选择对应的mibconf文件(/usr/local/share/snmp/下,有标量、Table、notify等),执行env MIBS=”+xxx-xxx-MIB” mib2c –c mib2c.iterate.conf wafsnmp生成对应的.c .h。注意:wafsnmp必须与MIB文件中的模块名称一样。
3修改.c文件,如果是标量,所要做的是只要及时更标量的值。如果是Table型,那么要及时填充更新链表。
4编写修改demon,轮询检测回复请求。
5在snmpd.conf中加入子代理可访问的权限(view定义),子代理中的每个对象可设置访问权限。
注意:一个MIB有一个模块,MIB文件中可以有多个标量,可以有多个Table,每个Table下又可有多个对象。
作者: wjg501917603    时间: 2013-10-10 17:34
涉及到工作原理必须研究snmp源码和doc,这里不详解




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2