zoukankan      html  css  js  c++  java
  • 关于SNMP的MIB文件的语法简述

    关于SNMP的MIB文件的语法简述

    转自: https://blog.csdn.net/shanzhizi/article/details/15340305

    MIB file的开始和结束

    所有的MIB file的都以DEFINITIONS ::= BEGIN关键字开始,以END结束。我们所有添加的节点均应在此之间。

    XXX-TEST-MIB DEFINITIONS ::= BEGIN

    ……

    ……

    END

    模块引用区域

    MIB开始关键字后,即是模块引用区域,利用IMPORTS标识,所有的模块引用及群组的引用均使用FROM关键字说明其出处,引用使用分号(;)结束。

    注:分号,英文全角分号。

    在一个MIB file中,所有引用到的数据类型均应有引用。

    如:

    IMPORTS

    enterprises

                FROM RFC1155-SMI

            Integer32

                FROM SNMPv2-SMI            

            DisplayString

                FROM SNMPv2-TC;

    MIB核心部分(对象标识,标量节点,表格对象的定义)

    对象标识

    对象标识用关键字OBJECT IDENTIFIER声明,它的主要功能是用来将一类功能的对象结合起来。展开或折叠此对象标识即可展开或折叠此类功能的所有对象。

    在ASN.1中,对象标识符类型描述对象的抽象信息,MIB树中的每一个标号是用对象标识符描述的。

    例如:

      xxx OBJECT IDENTIFIER ::= {enterprises 22566}

       xxx是一个子树支,它定义在enterprises树支下,“22566” 是子树xxx在父树enterprises下的一个唯一对象标识符。

    其编译后的视图为:

     blog.csdn.net/shanzhizi


    标量节点

    在每一个树支下,可以定义被管理资源的管理对象,其中一类是标量节点(直观地看象树叶的节点)。利用OBJECT-TYPE定义。其定义的句法如下:

    objectname OBJECT-TYPE

         SYNTAX (syntax)

         MAX-ACCESS (access)

         STATUS (status)

         DESCRIPTION (description)

         ::= { ( parent ) ( number )

    关键字

    说明

    备注

    objectname

    被管理对象的名字

    必须以小写字母开头

    OBJECT-TYPE

    每一个叶子对象所必须的关键字

    syntax

    被管理对象类型的关键字

    Counter(计数)

    Gauge(标准)

    DisplayString(显示字符串)

    Interger(整数)

    TimeTicks(时间戳)

    NetworkAddress(网络地址)

    IpAddress(Ipv4地址)

    access

    该节点支持的访问方式

    read-only(只读)

    read-write(读写)

    read-create(读和创建)

    no-accessible(不可访问)

    status

    该节点的状态

    current (当前的)

    deprecated (反对的)

    obsolete(废弃的)

    description

    对被管理对象的功能、特征等进行描述的关键字

    例如:

    Xxxx OBJECT-TYPE

    SYNTAX DisplayString

    MAX-ACCESS read-only

    STATUS current

    DESCRIPTION

    "

    "                  

    ::= { xxxx 1 }

    表类型

    表类型是一个特殊类型的声明,表内声明的对象称为列对象,表对象可以看作是一些标量对象的集合。利用SEQUENCE和SEQUENCE OF定义表格和表格中的行, 通常来说,表格对象的名字后面加有后缀Table,行对象的名字后面加有后缀Entry。

    其声明如下:                          

         tablename OBJECT-TYPE

    SYNTAX  SEQUENCE OF Entrytype            

    MAX-ACCESS  not-accessible

    STATUS  current

    DESCRIPTION (description)

    :: ={ (parent) (number)}

          entryname OBJECT-TYPE

    SYNTAX  Entrytype

    MAX-ACCESS not-accessible            

    STATUS  current

    DESCRIPTION  description

        INDEX { index list }

                       :: ={ (tablename) 1}

         

         (Entrytype)  :: =

    SEQUENCE {

                (column1)   (column1type),

                (column2)   (column1type),

                  ( columnN)    (columnNtype) }

    关键字

    说明

    备注

    tablename

    表格名 

    xxxxTable首字母小写

    Entrytype

    表对象名

    XxxxEntry首字母大写

    not-accessible

    访问方式

    此处必须是not-accessible

    entryname

    行名

    和XxxxEntry名相同,首字母小写xxxxEntry

    description

    描述信息

    源码如下:

    XXX-TEST-MIB DEFINITIONS ::= BEGIN

    IMPORTS

    enterprises

                FROM RFC1155-SMI

            Integer32

                FROM SNMPv2-SMI            

            DisplayString

                FROM SNMPv2-TC;

      

       xxx OBJECT IDENTIFIER ::= {enterprises 22566}

      

       zkClassInfoTable OBJECT IDENTIFIER ::= {xxx 1}  

       zkClassInfoTable2 OBJECT IDENTIFIER ::= {xxx 2}  

      

    zkClassInfoTable OBJECT-TYPE 

    SYNTAX   SEQUENCE OF ZkClassInfoEntry 

       MAX-ACCESS not-accessible

       STATUS  current

       DESCRIPTION 

       "

       This is test table.

       "

            ::= {xxx 1}

      

       zkClassInfoEntry OBJECT-TYPE 

       SYNTAX    ZkClassInfoEntry 

       MAX-ACCESS  not-accessible    

       STATUS  current

       DESCRIPTION

       "

       This is teat entry.

       "     

       INDEX  {zkClassInfoIndex}             

       ::= {zkClassInfoTable 1}   

      

    ZkClassInfoEntry ::= SEQUENCE {

    zkClassInfoIndex  Integer32,

        zkClassInfoSex Integer32,

        zkClassInfoAge Integer32,

        zkCLassInfoName  DisplayString,

        zkClassInfoAddress  DisplayString

    }

    zkClassInfoIndex OBJECT-TYPE 

    SYNTAX  Integer32

    MAX-ACCESS read-write

    STATUS current

    DESCRIPTION 

    "

    "

    ::= {zkClassInfoEntry 1}

    zkClassInfoSex OBJECT-TYPE

    SYNTAX  Integer32  {

                  man(1),

                  woman(2)

    }

    MAX-ACCESS read-write

    STATUS current

    DESCRIPTION 

    "

    "

    ::= {zkClassInfoEntry 2}   

    zkClassInfoAge OBJECT-TYPE 

    SYNTAX  Integer32

    MAX-ACCESS read-write

    STATUS current

    DESCRIPTION 

    "

    "

    ::= {zkClassInfoEntry 3} 

    zkCLassInfoName OBJECT-TYPE 

    SYNTAX  DisplayString

    MAX-ACCESS read-write

    STATUS current

    DESCRIPTION 

    "

    "

    ::= {zkClassInfoEntry 4}

    zkClassInfoAddress OBJECT-TYPE 

    SYNTAX  DisplayString

    MAX-ACCESS read-write

    STATUS current

    DESCRIPTION 

    "

    "

    ::= {zkClassInfoEntry 5}   

    zkClassInfoTable2 OBJECT-TYPE 

    SYNTAX   SEQUENCE OF ZkClassInfoEntry2 

       MAX-ACCESS not-accessible

       STATUS  current

       DESCRIPTION 

       "

       This is test table.

       "

            ::= {xxx 2}

      

       zkClassInfoEntry2 OBJECT-TYPE 

       SYNTAX    ZkClassInfoEntry2 

       MAX-ACCESS  not-accessible    

       STATUS  current

       DESCRIPTION

       "

       This is teat entry.

       "     

       INDEX  {zkClassInfoIndex}             

       ::= {zkClassInfoTable2 1}   

      

    ZkClassInfoEntry2 ::= SEQUENCE {

        zkClassInfoSex2 Integer32,

        zkClassInfoAge2 Integer32,

        zkCLassInfoName2  DisplayString,

        zkClassInfoAddress2  DisplayString

    }

    zkClassInfoSex2 OBJECT-TYPE 

    SYNTAX  Integer32

    MAX-ACCESS read-write

    STATUS current

    DESCRIPTION 

    "

    "

    ::= {zkClassInfoEntry2 1}

    END

    XXX-TEST_MIB DEFINITIONS ::= BEGIN

    IMPORTS

    enterprises

                FROM RFC1155-SMI

            Integer32

                FROM SNMPv2-SMI            

            DisplayString

                FROM SNMPv2-TC;

      

       xxx OBJECT IDENTIFIER ::= {enterprises 40256}

      

       zkClassInfoTable OBJECT IDENTIFIER ::= {xxx 1}  

       zkClassInfoTable2 OBJECT IDENTIFIER ::= {xxx 2}  

      

    zkClassInfoTable OBJECT-TYPE 

    SYNTAX   SEQUENCE OF ZkClassInfoEntry 

       MAX-ACCESS not-accessible

       STATUS  current

       DESCRIPTION 

       "

       This is test table.

       "

            ::= {xxx 1}

      

       zkClassInfoEntry OBJECT-TYPE 

       SYNTAX    ZkClassInfoEntry 

       MAX-ACCESS  not-accessible    

       STATUS  current

       DESCRIPTION

       "

       This is teat entry.

       "     

       INDEX  {zkClassInfoIndex}             

       ::= {zkClassInfoTable 1}   

      

    ZkClassInfoEntry ::= SEQUENCE {

    zkClassInfoIndex  Integer32,

        zkClassInfoSex Integer32,

        zkClassInfoAge Integer32,

        zkCLassInfoName  DisplayString,

        zkClassInfoAddress  DisplayString

    }

    zkClassInfoIndex OBJECT-TYPE 

    SYNTAX  Integer32

    MAX-ACCESS read-write

    STATUS current

    DESCRIPTION 

    "

    "

    ::= {zkClassInfoEntry 1}

    zkClassInfoSex OBJECT-TYPE

    SYNTAX  Integer32  {

                  man(1),

                  woman(2)

    }

    MAX-ACCESS read-write

    STATUS current

    DESCRIPTION 

    "

    "

    ::= {zkClassInfoEntry 2}   

    zkClassInfoAge OBJECT-TYPE 

    SYNTAX  Integer32

    MAX-ACCESS read-write

    STATUS current

    DESCRIPTION 

    "

    "

    ::= {zkClassInfoEntry 3} 

    zkCLassInfoName OBJECT-TYPE 

    SYNTAX  DisplayString

    MAX-ACCESS read-write

    STATUS current

    DESCRIPTION 

    "

    "

    ::= {zkClassInfoEntry 4}

    zkClassInfoAddress OBJECT-TYPE 

    SYNTAX  DisplayString

    MAX-ACCESS read-write

    STATUS current

    DESCRIPTION 

    "

    "

    ::= {zkClassInfoEntry 5}   

    zkClassInfoTable2 OBJECT-TYPE 

    SYNTAX   SEQUENCE OF ZkClassInfoEntry2 

       MAX-ACCESS not-accessible

       STATUS  current

       DESCRIPTION 

       "

       This is test table.

       "

            ::= {xxx 2}

      

       zkClassInfoEntry2 OBJECT-TYPE 

       SYNTAX    ZkClassInfoEntry2 

       MAX-ACCESS  not-accessible    

       STATUS  current

       DESCRIPTION

       "

       This is teat entry.

       "     

       INDEX  {zkClassInfoIndex}             

       ::= {zkClassInfoTable2 1}   

      

    ZkClassInfoEntry2 ::= SEQUENCE {

        zkClassInfoSex2 Integer32,

        zkClassInfoAge2 Integer32,

        zkCLassInfoName2  DisplayString,

        zkClassInfoAddress2  DisplayString

    }

    zkClassInfoSex2 OBJECT-TYPE 

    SYNTAX  Integer32

    MAX-ACCESS read-write

    STATUS current

    DESCRIPTION 

    "

    "

    ::= {zkClassInfoEntry2 1}

    END

  • 相关阅读:
    Vsftpd 3.0.2 正式版发布
    Putdb WebBuilder 6.5 正式版本发布
    SoaBox 1.1.6 GA 发布,SOA 模拟环境
    pynag 0.4.6 发布,Nagios配置和插件管理
    Percona Playback 0.4,MySQL 负荷回放工具
    xombrero 1.3.1 发布,微型 Web 浏览器
    Hypertable 0.9.6.4 发布,分布式数据库
    libmemcached 1.0.11 发布
    CryptoHeaven 3.7 发布,安全邮件解决方案
    Android Activity生命周期
  • 原文地址:https://www.cnblogs.com/cqx6388/p/14098201.html
Copyright © 2011-2022 走看看