Net-snmp笔记

MIB文件的编写

  • 第一行:文件名 DEFINITIONS ::= BEGIN


    END
    所有添加的节点都在这两者之间
  • 第二部分:IMPORTS引导的引用部分,分号代表引用结束
    语法:xxxx
    FROM XXXX
  • 定义节点
    name OBJECT IDENTIFIER ::= { 父节点 number }
  • 定义叶子节点
    语法:
    节点名 OBJECT-TYPE
    SYNTAX 类型关键字
    MAX-ACCESS 访问方式
    STATUS 状态
    DESCRIPTION " "
    ::= { 父节点 number }

MIB文件->源代码

首先执行命令:
./snmptranslate -Tp -IR XXX-MIB::节点名
检验MIB文件是否存在问题

第二步,mib文件用mib2c程序生成所需的.c和.h文件

[root@localhost bin]# env MIBS="+MIB文件" ./mib2c  节点名
env MIBS="+/usr/local/net-snmp/share/snmp/mibs/TEST-GET-MIB.txt" ./mib2c  testGet

MIB库中包含三类变量,scalar变量,table变量和通知变量,Scalar就是包含我们常用的整型,字符串,时间等等数据类型。table就是scalar的一种集合,有一个和多个列组成,类似于数据库中的表。它必须具有索引项,用来按一定顺序检索表项

生成源代码之后要对代码进行修改,主要是修改snmp_set_var_typed_value函数内的两个XXX,设置变量的具体含义

将源代码复制到/net-snmp-5.7.3/agent/mibgroup/目录下
执行下述命令
./configure --prefix=/usr/local/net-snmp --with-mib-modules=“testGet”
之后重新编译

你可能感兴趣的:(SNMP)