SNMP MIB 介绍
标准snmp.mib

标准snmp.mibSNMP(Simple Network Management Protocol)是一种用于网络管理的协议,它允许管理者监视和配置网络设备。
而MIB(Management Information Base)则是一种用于存储管理信息的数据库。
标准snmp.mib即为SNMP协议中定义的标准MIB文件,它包含了一系列的对象标识符(OID)和相应的管理信息,用于描述网络设备的状态、配置和性能等信息。
在标准snmp.mib中,定义了大量的OID,每个OID都对应着一个特定的管理信息。
这些信息可以包括设备的型号、厂商、操作系统版本、CPU利用率、内存使用情况、接口状态等。
通过使用SNMP协议,管理者可以通过网络获取这些信息,从而进行网络设备的监控和管理。
标准snmp.mib文件的结构通常是按照模块进行组织的。
每个模块包含了一组相关的OID定义,这些定义通常是按照树状结构进行组织的,以便更好地组织和管理这些信息。
在实际的网络管理中,管理者可以通过使用这些OID来查询设备的信息,或者对设备进行配置。
除了标准的snmp.mib文件之外,还存在着许多厂商特定的MIB文件。
这些MIB文件通常包含了一些特定厂商设备的一些特定信息,如Cisco、Juniper等厂商都提供了自己的MIB文件。
这些MIB文件可以帮助管理者更好地监控和管理特定厂商的设备。
在实际的网络管理中,管理者通常会使用一些网络管理软件来帮助他们进行设备的监控和管理。
这些软件通常会提供一个图形化的界面,让管理者可以方便地查询设备的信息,或者对设备进行配置。
这些软件通常会内置了一些常用的MIB文件,同时也支持用户导入自定义的MIB文件,以便更好地支持不同厂商的设备。
总的来说,标准snmp.mib文件是SNMP协议中非常重要的一部分。
它定义了大量的管理信息,帮助管理者更好地监控和管理网络设备。
同时,它也为网络管理软件的开发提供了重要的支持,使得这些软件可以更好地支持不同厂商的设备。
snmp介绍oid及mib库

snmp介绍oid及mib库SNMP介绍,OID及MIB库1.1.SNMP概览SNMP的基本知识介绍简单网络管理协议(SNMP-SimpleNetwork Management Protocol)是一个与网络设备交互的简单方法。
该规范是由IETF在1990年五月发布的RFC 1157中定义的。
SNMP通常被认为相当难懂,并且过于复杂,其可用的API 似乎在本来非常简单的东西外面封装了大量的东西。
现在关于SNMP 的书籍又往往只是把它更加复杂化了,而没有解释清楚。
SNMP对于任何程序设计人员来说是特别易于理解的。
总体的简化能够很好地把这个系统简化。
一个网络设备以守护进程的方式运行SNMP代理,该守护进程能够响应来自网络的各种请求信息。
该SNMP代理提供大量的对象标识符(OID -Object Identifiers)。
一个OID是一个唯一的键值对。
该代理存放这些值并让它们可用。
一个SNMP管理器(客户)可以向代理查询键值对中的特定信息。
从程序员的角度看,这和导入大量的全局变量没有多少区别。
SNMP的OID 是可读或可写的。
尽管向一个SNMP设备写入信息的情况非常少,但它是各种管理应用程序用来控制设备的方法(例如针对交换机的可管理GUI)。
SNMP中有一个基本的认证框架,能够让管理员发送公共名来对OID读取或写入的认证。
绝大多数的设备使用不安全的公共名"public" 。
SNMP协议通过UDP端口161和162进行通信的。
注意,我还没有提到MIB!MIB的重要性被大大地夸大了。
刚开始时,MIB显得非常复杂,但是它们其实非常简单。
OID 是数字的和全局的键值对。
一个OID看起来和一个IPv6的地址很象,并且不同的厂商有不同的前缀等信息。
OID都非常长,使得人们难以记住,或者对他非常感冒。
因此,人们就设计了一种将数字OID翻译为人们可读的格式。
这种翻译映射被保存在一个被称为“管理信息基础"(Management Infomation Base) 或MIB的、可传递的无格式文本文件里。
SNMP_MIB_OID说明

2
下图给出了对一个 DS1 线路状态进行查询的 OID 设置例子。
3. SNMP 的五种消息类型 SNMP 中定义了五种消息类型:Get-Request、Get-Response、Get-Next-Request、Set-Request、Trap ① Get-Request 、Get-Next-Request 与 Get-Response SNMP 管理站用 Get-Request 消息从拥有 SNMP 代理的网络设备中检索信息,而 SNMP 代理则用 Get-Response 消息 响应。Get-Next-Request 用于和 Get-Request 组合起来查询特定的表对象中的列元素。如:首先通过下面的原语获得所 要查询的设备的接口数: {iso org(3) dod(6) internet(1) mgmt(2) mib(1) interfaces(2) ifNumber(2)} 后再通过下面的原语,进行查询(其中第一次用 Get-Request,其后用 Get-Next-Request): {iso org(3) dod(6) internet(1) mgmt(2) mib(1) interfaces(2) ifTable(2)} ② Set-Request SNMP 管理站用 Set-Request 可以对网络设备进行远程配置(包括设备名、设备属性、删除设备或使某一个设备属性有效
mib管理 简单说明

mib管理简单说明以mib管理MIB(Management Information Base)是一种用于管理网络设备的方法和协议。
它定义了一套标准的对象和属性,用于描述和控制网络设备的状态和行为。
通过使用MIB,网络管理员可以监控和管理网络设备的运行状况,诊断和解决问题,以及进行配置和性能优化。
MIB管理的核心是SNMP(Simple Network Management Protocol),它是一种用于网络设备管理的协议。
SNMP通过发送和接收消息来实现网络设备的监控和控制。
在SNMP中,MIB被组织成一个层次结构的树形结构,称为MIB树。
每个节点代表一个对象,具有唯一的标识符(OID)。
通过OID,可以访问和操作特定的对象。
MIB树中的每个节点都有一个对应的OID,用于唯一标识该节点。
OID由一系列的数字组成,每个数字代表一个节点在树中的位置。
例如,OID 1.3.6.1.2.1.1.1表示MIB树中的一个节点,它对应的对象是设备的系统描述。
MIB管理的基本原理是通过SNMP协议,向网络设备发送请求,获取设备的状态和信息。
管理员可以使用SNMP管理工具,如SNMP管理软件,通过指定设备的IP地址和SNMP协议版本,来连接到设备,并获取设备的MIB信息。
MIB管理主要包括以下几个方面:1. 监控和收集信息:通过SNMP协议,管理员可以获取设备的各种状态和信息,如设备的CPU利用率、内存使用情况、接口流量等。
这些信息对于及时发现和解决问题非常重要。
2. 配置和管理设备:通过SNMP协议,管理员可以对网络设备进行配置和管理。
例如,可以通过SNMP设置设备的IP地址、路由表、访问控制列表等。
3. 故障诊断和故障排除:通过监控设备的MIB信息,管理员可以快速发现和定位故障。
例如,可以通过查看设备的接口流量、错误计数等信息,判断是否存在网络拥堵或故障。
4. 性能优化和容量规划:通过分析设备的MIB信息,管理员可以评估设备的性能状况,并进行容量规划。
SNMP与MIB网络协议概述

SNMPv2
SNMPv2对SNMPv1存在的问题进行了修正,增强了安全性。
SNMPv2p对SNMPv1的SMI进行扩充,提供了一些新的数据类型,比如
Counter64、Bits等,同时也增加了两个基本操作get bulk、inform。 SNMPv2c也称为基于community的SNMPv2,它继承了SNMPv1的通 信方式和SNMPv2p的数据类型。 SNMPv2u对安全性进行补充,即支持基于用户的视图访问,同时支持 SNMPv2p的数据类型。 SNMPv2*集合SNMPv2u和SNMPv2p的所有优点。 SNMPv2尽管在安全方面做了一些改进,但仍然不够,比如报文通信依 然采用明文通信,数据容易被窃取。
智能化的处理帮助网络管理员计划日常维护操作,比如告警根源分析、异常接入联动、自动化部署
等。
4
网络管理的主要功能
ISO在ISO/IEC 7498-4中,网络管理定义了五大功能:
网管功能
功能描述
性能管理
故障管理 配置管理 计费管理 安全管理
性能管理使网络管理员能够监视网络运行的参数,如吞吐率、响 应 时间、网络的可用性等。
SNMP TRAP和Inform本质都是网络设备在产生故障,或特定事件产生时,给网 管软件发送的通知消息。 如果网络设备产生TRAP报文,该报文仅仅是一个通知消息。TRAP报文发送后, 网络设备不管网管软件是否收到了该TRAP,都不会重复发送该TRAP,这可
能会导致TRAP丢失。
Inform是对TRAP的改进,网管软件收到Infrom报文后,必须给网络设备发送响 应消息,确认报文已经收到;如果网络设备未收到Inform的响应报文,则会
配置管理配置管理通过逻辑拓扑的方式展示网络层次结构并提供图形方式的网络配置功能简化网管网络管理员的日常维护操作计费管理记录网络用户和应用程序对网络资源的使用情况并据此计算相应的网络费用安全管理安全挂历是对网络资源及其重要信息访问的约束和控制包括验证网络用户的访问权限和优先级检测和记录未授权用户企图进行的不应有的操作
SNMP功能详解

SNMP功能详解SNMP(Simple Network Management Protocol)是一种网络管理协议,用于监视和管理网络中的设备和系统。
它是基于管理信息基础架构(Management Information Base,MIB)的标准化协议,可以提供对网络设备的配置、性能、状态和告警等信息的收集、查询和控制。
下面将详细介绍SNMP的功能和应用。
1.网络设备监控:SNMP可以通过查询网络设备的MIB来获得设备的配置信息、状态信息和性能指标。
这包括设备的名称、型号、固件版本、接口状态、带宽使用率、内存使用率等。
通过对这些信息进行分析和监控,可以及时发现设备的异常状态和性能问题,并采取相应的措施进行修复和优化。
2.配置管理:SNMP可以通过设置设备的MIB来进行远程端口的配置和管理。
管理员可以通过SNMP协议来远程修改设备的配置,如修改接口速率、配置访问控制列表、开启或关闭一些功能等。
这样可以简化配置的过程,提高配置的一致性和准确性。
3.告警和事件管理:SNMP可以实现设备的告警和事件的管理。
设备可以将发生的告警和事件信息发送给网络管理系统(NMS),管理员可以通过NMS来查看和处理这些告警和事件信息。
当发生设备故障或异常时,SNMP可以及时通知管理员,以便立即采取相应的措施来解决问题。
4.性能监控:SNMP可以实时收集和监控网络设备的性能指标,如带宽利用率、吞吐量、丢包率等。
管理员可以通过这些指标来评估网络的性能,并进行优化和调整。
另外,SNMP还可以提供历史数据的存储和分析功能,以便进行性能趋势的预测和容量规划。
5.安全管理:SNMP提供了安全管理的功能,可以对网络设备进行身份认证和访问控制。
SNMPv3协议引入了安全模型和安全策略,支持消息的加密和认证机制,保护管理信息的机密性和完整性。
管理员可以通过配置SNMP的安全参数来确保对设备信息的保护和控制。
总之,SNMP是一种强大的网络管理协议,提供了全面的设备监控和管理功能。
SNMP介绍OID及MIB库

SNMP介绍OID及MIB库SNMP(Simple Network Management Protocol,简单网络管理协议)是一种用于网络设备监控及管理的协议。
它基于客户-服务器模型,通过管理站点(Management Station)收集并监控网络设备(Agent)上的信息,以实现对网络设备的集中管理。
在SNMP中,OID(Object Identifier,对象标识符)是一种用于标识管理信息的标准化方法。
每个OID都是一个由一系列数字组成的唯一标识符,它代表了网络设备上的一些管理对象。
OID通常由一个标识符序列组成,例如,1.3.6.1.2.1.1代表系统信息。
通过OID,管理站点可以查询设备上的特定属性或执行特定操作。
OID是SNMP中的核心概念,用于定义管理信息的层次结构。
为了提供设备和管理站点之间的通信标准,SNMP使用MIB (Management Information Base,管理信息库)库。
MIB是一种结构化的信息库,定义了网络设备上可被管理的对象和属性。
MIB库存储了每个OID对应的具体信息,包括对象的含义、名称、数据类型等。
MIB库提供了一个标准的集合,以便管理站点了解设备上的各种管理信息,例如设备的网络接口、硬件状态、链路负载等。
通过MIB库,管理站点可以根据OID查询设备的信息,并且可以根据设备返回的信息进行相应的管理和配置。
MIB库中的信息被组织成树状结构,类似于文件系统中的目录结构。
根节点被称为iso,其下的子节点代表了各种管理信息的不同级别。
MIB 库的顶级节点是三个标准MIB库:MIB-2、SNMPv2-SMI和SNMPv2-TC。
MIB-2含有关于系统、接口、IP、ICMP、TCP、UDP等方面的信息。
SNMPv2-SMI包含了SNMPv2定义的基本概念和类型。
SNMPv2-TC定义了一些常用的和通用的数据类型。
除了这些标准MIB库,还有各种厂商特定的MIB库,用于描述特定设备的管理信息。
snmp mib的用法

snmp mib的用法SNMP(Simple Network Management Protocol)MIB (Management Information Base)是用于管理网络设备的一种标准协议。
MIB是一种数据库,其中包含了关于网络设备的信息,例如设备的配置、性能统计和状态信息等。
SNMP协议通过MIB来管理网络设备,允许网络管理员监控和控制网络设备。
首先,让我们来看一下SNMP MIB的结构。
SNMP MIB由一组层次结构的对象标识符(OID)组成,每个OID对应一个特定的管理信息。
这些OID按照树状结构进行组织,类似于文件系统中的目录结构,使得管理者可以轻松地定位到所需的信息。
SNMP MIB的用法主要包括以下几个方面:1. 监控,通过SNMP MIB,网络管理员可以监控网络设备的性能和状态信息。
例如,可以使用MIB中的OID来查询设备的CPU利用率、内存使用情况、接口流量等信息。
2. 配置,SNMP MIB也可以用于配置网络设备。
管理员可以使用MIB中的OID来修改设备的配置参数,例如修改路由器的路由表、配置交换机的VLAN等。
3. 告警,通过监控MIB中的特定OID,管理员可以设置告警规则,当设备的某些指标超出预设的阈值时,系统可以自动发送告警通知,以便及时采取措施。
4. 故障诊断,当网络设备出现故障时,管理员可以通过查询MIB中的信息来进行故障诊断,找出故障的原因和位置。
5. 性能优化,通过分析MIB中的性能数据,管理员可以对网络设备进行性能优化,提高网络的稳定性和性能。
总之,SNMP MIB是管理网络设备的重要工具,通过合理利用MIB中的信息,可以帮助管理员更好地监控、配置和优化网络设备,保障网络的正常运行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SNMP MIB 介紹對MIB檔中一些常見的巨集定義的描述1.DEFINITIONS ::= BEGINSNMP始終使用ASN.1概念中的描述塊(module)來組織ASN.1對象的,ASN.1的描述塊是一些相關描述語句的集合,module的結構如下<<module>> DEFINITIONS ::= BEGIN<<linkage>><<declarations>>END2.<<basetype>> ::= TEXTUAL-CONVENTION定義了對標準資料類型的進行擴展的語法很多MIB定義中都會先定義一些基於標準類型的擴展類型,如:CiFlowDirection ::= TEXTUAL-CONVENTIONSTATUS currentDESCRIPTION"The direction of data flow thru a circuit.transmit(1) - Only transmitted datareceive(2) - Only received databoth(3) - Both transmitted and received data."SYNTAX INTEGER {transmit(1),receive(2),both(3)}CiFlowDirection 是基於INTEGER的枚舉類型3.<<mibname>> MODULE-IDENTITY該定義添加了一個公共的標示段來對整個資訊描述塊進行頂層的文字描述,以加強對管理MIB描述塊的文檔管理和控制,每個MIB定義中都會有該定義。
如:circuitIfMIB MODULE-IDENTITY4.OBJECT-IDENTIFIFIER聲明一個節點如:atmClpTaggingNoScr OBJECT-IDENTITY5.OBJECT-TYPE如:ciCircuitTable OBJECT-TYPESYNTAX SEQUENCE OF CiCircuitEntryMAX-ACCESS not-accessibleSTATUS currentDESCRIPTION"The Circuit Interface Circuit Table."::= { ciObjects 1 }包括了SNMP定義該管理物件的全部資訊,相當於一個範本。
表,實體,葉子都是該類型。
SNMPv2中對SNMP的相容性做了規定,主要是通過引入三個宏:OBJECT-GROUP,MODULE-COMPLIANCE,AGENT-CAPABILITIES.6.OBJECT-GROUP –v2定義相關管理物件集合以及他們彼此關聯的一致性程度。
OBJECT-GROUP聲明的MIB物件是實現該組所必須包括的MIB物件的最小集合。
也就是說,要實現這個組,必須包括這些物件。
7.MODULE-COMPLIANCE–v2通過定義模組內所包含的組來保證模組的相容性。
規定了要實現該模組必須包含的組的最小集合。
其中MANDATORY-GROUPS規定了此模組必須實現的組的名稱。
GROUP子句說明條件必須活條件可選的組。
8.AGENT-CAPABILITIES–v2管理代理實現了模組中的哪些組以及這些組中的MIB物件在實現時和原定義的差別在管理資訊結構中由此巨集定義表示。
此巨集定義在實際應用中很少見。
9.OBJECT-IDENTITY物件標示巨集,此巨集定義用於說明物件標示符(OBJECT-IDENTIFIER),給物件標示符的說明加上附加資訊,包括狀態,文字說明等,可用於對一個表中幾個參數的不同組合的意義的說明。
10.NOTIFICATION-TYPE說明了SNMPv2的trap格式。
定義了通知類型報文中傳輸的資料。
3.1 MIB物件定義格式/thread-1137550-1-1.htmlASN.1是一種用於描述結構化客體的結構和內容的語言,基於編碼規則BER(Basic Encoding Rules)是ASN.1標準定義的一種傳送文法。
每個MIB變數格式是SMI規定的,用ASN.1描述如下:OBJECTNAME BOJECT-TYPEDESCRIPTION:(description)SYNTAX: (syntax)ACCESS: (access)STATUS: (status)::={(Parent)number}OBJECTNAME是被管對象的名字,ASN.1要求所有物件的名字在MIB中必須是唯一的;BOJECT-TYPE 是每一個節點物件所必需的關鍵字;SYNTAX是被管物件類型的關鍵字,隨後跟著的是一個類型(syntax);ACCESS是被管物件的訪問方式關鍵字,在SNMP 第二版中為MAX-ACCESS 關鍵字,(access)是被管物件的訪問方式,可為如下列舉值之一: read-only、read-write、no-accessible, SNMP 第2 版中又增加了read-create;STATUS是被管物件關鍵字,(status)是被管物件的狀態,如必備的、可選的或廢棄的;DESCRIPTION是對被管物件的功能、特徵等進行描述的關鍵字,(description)是被管物件的文本描述,在::={(Parent)number }中,Parent表示位於MIB樹中的父節點,number 表示是第幾個子節點。
-- Some holders from another obsolete mibGeoSuFilterId ::= TEXTUAL-CONVENTIONSTATUS currentDESCRIPTION"Uniquely identifies a GEO su filter"SYNTAX Integer32GeoQuickFilterId ::= TEXTUAL-CONVENTIONSTATUS currentDESCRIPTION"Uniquely identifies a GEO quick filter"SYNTAX Integer323.2 MIB 樹每個MIB物件都用物件識別碼(OID)來唯一的標識,這是用定義在ASN.1語法中的樹型結構來組織的可用資訊,其中每個可用資訊是一個帶標號的節點,每個節點用數位和字元兩種方式顯示,其中物件識別碼OID是由句點隔開的一組整數,也就是從根節點通向它的路徑,它命名節點並指示它在ASN.1樹中的準確位置。
一個帶標號節點可以擁有包含其它帶標號節點為它的子樹,如果沒有子樹它就是葉子節點,它包含一個值並被稱為物件。
圖3是帶有ASN.1編號的MIB樹實例:可以看出MIB-Ⅱ的OID是:1.3.6.1.2.1或者.dod.internet.mgmt.mib2。
在SNMP中,實現應用到的MIB物件都是MIB-Ⅱ的子樹節點。
On the server, the file is /home/geo/spIserver/etc/inet.defs(2) On 12u probes, the file is /inet/spIprobe/basic/arm-xinu/mibs/mib, or/inet/spIprobe/basic/xscale-xinu/mibs/mib. There is also a version for mips-xinu.On 14u probes, the file is /inet/spIprobe/basic/atca-x86-linux/mibs/mib.Step two:How to add a new alarma. modify mib file, for ip application the file is "spidev/spiV4.5/mibs/ipAlarms.my"the definition is the same with phyDeviceStateAlarm.ipInterfaceShteamAlarm NOTIFICATION-TYPE OBJECTS { phyDeviceStateTime, phyDeviceState, ipInterfaceIdForPd } STATUS current DESCRIPTION " Test Alarms " ::= {ipAlarmsMib 5}note. In fact, 5 is the alarmID. It must keep unique in spidev-spiV4.5-mibs-ipAlarms.my. If the last alarmID is 9 then we define the alarmID of ipInterfaceShteamAlarm as 10b. compile mibsc. copy inet.defs to probe /inet/spIprobe/basic/atca-x86-linux/mibs, change name to mib.d. copy inet.defs,inet.alarms.defs and inet.events.defs to server/station :/home/geo/spIserver/site or (etc) for teste. update spidev/spiV4.5/spi/etc/server/defaultSpiProbeAlarmDefn.txtA 2 209 3813 1 0x0006 0x0006 0 "Shteam Test Alarms Device Available"""\\\\\\\\\\\\\\\\\\\\\\\\\\\\\3814 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\"ipInterfaceShteamAlarm 1"A 2 209 3814 1 0x0006 0x0002 0 "Shteam Test Alarms Equipment Down" ""\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"ipInterfaceShteamAlarm 2"defaultBullsEye.txtALARM 10 3813 # Shteam Test Alarms Device AvailableALARM 25 3814 # Shteam Test Alarms Equipment Downf. copy defaultSpiProbeAlarmDefn.txt and defaultBullsEye.txt to server:/home/geo/spIserver/site or (etc) for testg. update spIprobeApps/v4.5/basic/mibs/event, add a lineipInterfaceShteamAlarm initialContextId.198.4.15.2.24copy to probe:/inet/spIprobe/support/site, /inet/spIprobe/basic/atca-x86-linux/mibsh. update spidev/spiV4.5/spi/src/alarms/probe/, h.AlarmWork.h - add one new linestatic const char* const ipInterfaceShteamChanged = "ipInterfaceShteamAlarm"; - we just re-use PhyDeviceStateAlarm functionpProc->name = ipInterfaceShteamChanged; pProc->proc =&AlarmWork::PhyDeviceStateAlarm; pProc->logProc =&AlarmWork::PhyDeviceStateAlarmLogProc; pProc->parm = 0; pProc ; compile it and copy alarmSpiProbe binary execute file to server:/home/geo/spIserver/bin [Q&A]Why sometimes alarmSpiProbe restarts when it receive the alarm of Shteam Test Alarm?Answer: The version of libnwGprsDbExt.so is not compitable to alarmSpiProbe. We have to rebuild spi/api/src/db/nwGprs,then copy libnwGprsDbExt.so to server:/home/geo/spIserver/libi. update spIprobeApps/v4.5/basic/src/ipMon/ipStateMonitor/srcIPStateMonSnmp.h--compare to phyDeviceStateAlarm, only trap name is different,so update phyDeviceStateAlarm to ipInterfaceShteamAlarm.const char* const ipTrapNames\[\] = { "ipInterfaceShteamAlarm", "ipInterfaceStateAlarm" } ; compile it and repleace binary ipStateMonitor in the probe.j. server restartsu - geospiStop(make sure no db process running, "ps -eaf | grep db")spiStartk. re-configure alarmsl. probe restartsu - rootservice spIprobe restart allm. probe side: command: aui ipStateMon1, send i 3, then check the alarm in the GUI IP-ALARMS-MIB DEFINITIONS ::= BEGIN-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --- Copyright (c) 1994-2003 Inet Technologies, Inc.-- All Rights Reserved.-- This product and related documentation is-- protected by copyright and distributed under licenses restricting-- its use, copying, distribution and decompilation.-- No part of this product or related documentation may be reproduced-- in any form by any means without prior written authorization-- of Inet Technologies, Inc. and its licensors, if any.-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -EXPORTS;IMPORTSGmtTime,gmtTimeFROM INET-INC-MIBgprsAlarms,gprsPhyDeviceId,gprsIPInterfaceIdFROM GPRS-SURVEILLANCE-MIBphyDeviceStateTime,ipInterfaceState,ipInterfaceStateTime,phyDeviceState,ipInterfaceId,ipInterfaceIdForPdFROM IP-STATUS-MIB ipProbeBandwidthTime,ipProbeMonId,ipProbeBandwidthStateFROM IP-PROBE-STATUS-MIB ipInterfaceAlarmMessageFROM IP-INTERFACE-STATUS-MIB applInfoAlarmType,applInfoAlarmMessage, applInfoAlarmDescriptionFROM APPL-INFO-ALARM-MIBMODULE-IDENTITYFROM SNMPv2-SMITEXTUAL-CONVENTION, DisplayString, gmtTime FROM SNMPv2-TC;ipAlarmsMib MODULE-IDENTITYLAST-UPDATED "0306060000Z" ORGANIZATION "Inet Inc."CONTACT-INFO"Pierce E. BrockmanPostal: Inet Inc.1255 W. 15th St.Suite 600Plano, Tx 75075Tel: 1 214 578 6100Fax: 1 214 578 6113E-mail: peb@"DESCRIPTION"This module defines alarms provided by theGeoProbe in the IP Surveillance Package"::= { gprsAlarms 3 }-------------------------------------------------------------------------- -- The following inform-requests are sent by the agent-- for the IP Surveillance PackagephyDeviceStateAlarm NOTIFICATION-TYPEOBJECTS{phyDeviceStateTime,phyDeviceState,ipInterfaceIdForPdSTATUS currentDESCRIPTION"This Notification is sent as a inform-request from the agent whenever the physical device state changes value"::= {ipAlarmsMib 1}ipInterfaceStateAlarm NOTIFICATION-TYPE OBJECTS{ipInterfaceStateTime,ipInterfaceState,ipInterfaceId}STATUS currentDESCRIPTION"This Notification is sent as a inform-request from the agent whenever the physical device state changes value"::= {ipAlarmsMib 2}ipProbeBandwidthAlarm NOTIFICATION-TYPE OBJECTSipProbeMonId,ipProbeBandwidthState,ipProbeBandwidthTime}STATUS currentDESCRIPTION"This Notification is sent as a inform-request from the agent whenever the bandwidth monitoring state changes value "::= {ipAlarmsMib 3} ipInterfaceAddChannelAlarm NOTIFICATION-TYPE OBJECTS{ipInterfaceStateTime,ipInterfaceState,ipInterfaceId,ipInterfaceAlarmMessage}STATUS currentDESCRIPTION"This Notification is sent as a inform-request from the agent when there are AddChannel failures for an IP interface::= {ipAlarmsMib 4}ipApplIdMapConflictAlarm NOTIFICATION-TYPE OBJECTS{gmtTime,applInfoAlarmType,applInfoAlarmMessage,applInfoAlarmDescription}STATUS currentDESCRIPTION"This Notification is sent as a inform-request from the agent when there are informative alarms for a probe"::= {ipAlarmsMib 5} etherealToDiskNoDataAlarm NOTIFICATION-TYPE OBJECTS{gmtTime,applInfoAlarmType,applInfoAlarmMessage,applInfoAlarmDescriptionSTATUS currentDESCRIPTION"This Notification is sent as a inform-request from the agent when there are informative alarms for ethereal to disk application "::= {ipAlarmsMib 6}etherealToDiskResumeDataAlarm NOTIFICATION-TYPE OBJECTS{gmtTime,applInfoAlarmType,applInfoAlarmMessage,applInfoAlarmDescription}STATUS currentDESCRIPTION"This Notification is sent as a inform-request from the agent when there are informative alarms for ethereal to disk application "::= {ipAlarmsMib 7} etherealToDiskSessionRebootAlarm NOTIFICATION-TYPEOBJECTS{gmtTime,applInfoAlarmType,applInfoAlarmMessage,applInfoAlarmDescription}STATUS currentDESCRIPTION"This Notification is sent as a inform-request from the agent when there are informative alarms for ethereal to disk application "::= {ipAlarmsMib 8}etherealToDiskSessionFailureAlarm NOTIFICATION-TYPE OBJECTS{gmtTime,applInfoAlarmType,applInfoAlarmMessage,applInfoAlarmDescription}STATUS currentDESCRIPTION"This Notification is sent as a inform-request from the agentwhen there are informative alarms for ethereal to disk application"::= {ipAlarmsMib 9}ENDAnother example of imports during compilation comes from the BLADETYPE2-TRAP MIB used by the HP ProLiant BL p-Class GbE2 Interconnect Switch:BLADETYPE2-TRAP-MIB DEFINITIONS ::= BEGINIMPORTSTRAP-TYPEFROM RFC-1215sysNameFROM RFC1213-MIBhpSwitchBladeType2-MgmtFROM HP-SWITCH-PL-MIBagSlotNumberFROM BLADETYPE2-SWITCH-MIBipCurCfgGwIndexFROM BLADETYPE2-NETWORK-MIBIn this example,TRAP-TYPE and sysName are readily resolved as in the example above. hpSwitchBladeType2-Mgmt is resolved by mcompile checking HP-SWITCH-PL.MIB. agSlotNumber is resolved from BLADETYPE2-SWITCH.MIBand ipCurCfgGwIndex is resolved from BLADETYPE2-NETWORK.MIB.To illustrate further how imports are resolved—the following procedure shows how mcompile would attempt to resolve the import for hpSwitchBladeType2-Mgmt:1. Look for a file named HP-SWITCH-PL-MIB.mib (module name, uppercase).2. Look for a file named HP-SWITCH-PL.mib (module name without -MIB, uppercase).3. Look for hp-switch-pl.mib (convert name to lowercase for case sensitivity in Linux/HP-UX).4. Look for hp-switch-pl-mib.mib (convert name to lowercase for case sensitivity inLinux/HP-UX).5. Report an error indicating that the imported MIB could not be found.A major consideration when importing MIBs is locating variables from other third-party MIBs. In many cases, MIBs are named to match module names. However, in some circumstances it might be necessary to rename MIB files to match the module names prior to compilation. For example, some vendors might provide MIB files with different extensions such as .my. In this case, before using mcompile, the mibfile.my file needs to be renamed to mibfile.mib.。