Net-snmp总结(三)-net-snmp的MIBs扩展_添加get

一、编写MIB文件

MIB文件是用 ASN.1 语法来描述的,所以为了精确定义MIB中各管理对象,用户不得不参考一些ASN.1语法的有关文档如RFC1155、RFC1212等等来定义设备自己的MIB。ASN.1是抽象句法表示法一 (Abstract SyntaxNotation One) 的简称,对于每个管理对象它都用文本来描述,一般文件的后缀名都用“.mib”,在net-snmp中后缀名是“.mib.txt”。

关于MIB文件示例,可以见编译安装后的net-snmp目录,一般是 /usr/local/net-snmp/share/snmp/mibs/。  

ls/usr/local/net-snmp/share/snmp/mibs/

AGENTX-MIB.txt                       IPV6-TCP-MIB.txt                     SNMP-NOTIFICATION-MIB.txt

...

IPV6-MIB.txt                         SNMP-MPD-MIB.txt                     UDP-MIB.txt

这里我们建立一个mib文件,命名为TEST-GET-MIB.txt,放在/usr/local/net-snmp/share/snmp/mibs/目录下因为这个目录是snmpd的默认目录,只要把MIB库放入该目录就可以自动加载MIB库,否则需要修改snmpd.conf文件,自定义的MIB文件如下:

 

--开始
TEST-GET-MIB DEFINITIONS ::= BEGIN

--引入部分
IMPORTS
    enterprises
        FROM RFC1155-SMI            
    Integer32,OBJECT-TYPE
        FROM SNMPv2-SMI            
    DisplayString
        FROM SNMPv2-TC
    TEXTUAL-CONVENTION
        FROM SNMPv2-TC; --引用结束,用分号


--定义节点
--enterprises的OID是1.3.6.1.4
testGet    OBJECT IDENTIFIER ::= { enterprises 77695 }

GetTime     OBJECT IDENTIFIER ::= { testGet   1}

GetTime OBJECT-TYPE       --对象名称
SYNTAX DisplayString      --类型
MAX-ACCESS read-only      --访问方式
STATUS current            --状态
DESCRIPTION               --描述
"get current time"   
::= { testGet  1 }       --父节点

--结束定义
END 

 

写完后我们测一个MIB库有没有问题,在linux机器上用snmptranslate-Tp -IR TEST-GET-MIB::testGet显示结果如下:(这个测试不需要启动snmpd进程

[root@localhostbin]# ./snmptranslate -Tp -IR TEST-GET-MIB::testGet

+--testGet(77695)
   |
   +-- -R-- String    GetTime(1)
            Textual Convention: DisplayString
            Size: 0..255

OK,snmp自动发现了这个MIB库, 有了自定义的OID,接下来开始添加处理程序。

二、生成源代码

我们可以先来获取一下前面定义的 testGet 节点的值试试。 因为 enterprises 的OID是 1.3.6.1.4 ,而 testGet是 enterprises 的叶子(77695),而 GetTime 又是 testGet 的叶子节点(1)。所以其OID

  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值