企业特定实用程序 MIB 可增强 SNMP 覆盖范围
公用事业 MIB
瞻博网络企业专用实用程序 MIB(其对象 ID 为 {jnxUtilMibRoot 1})用于定义计数器、整数和字符串的对象。实用程序 MIB 包含以下五种数据类型中每种类型的一个表:
32 位计数器
64 位计数器
有符号整数
无符号整数
八进制字符串
您可以使用这些容器 MIB 对象来存储 SNMP 操作不支持的数据。您可以使用 CLI 命令或在操作脚本和可调用 CLI 命令的 RPC API 的帮助下填充这些对象的数据。
每种数据类型都有一个任意 ASCII 名称(在填充数据时定义)和一个时间戳(显示上次修改数据实例的时间)。有关此 MIB 的可下载版本,请参阅 路由策略、防火墙过滤器和流量监管器用户指南。
有关特定于企业的实用程序 MIB 对象的信息,请参阅以下主题:
使用特定于企业的实用程序 MIB 增强 SNMP 覆盖范围
即使 Junos OS 具有内置的性能指标和监控选项,您也可能需要自定义性能指标。为了便于您通过标准监控系统监控此类自定义数据,Junos OS 为您提供了特定于企业的实用程序 MIB,可以存储此类数据,从而扩展 SNMP 支持,以管理和监控您选择的数据。
通过以下 CLI 命令,您可以设置和清除实用程序 MIB 对象值:
-
request snmp utility-mib set instance name object-type <counter | counter 64 | integer | string | unsigned integer> object-value value
-
request snmp utility-mib clear instance name object-type <counter | counter 64 | integer | string | unsigned integer>
instance name
命令request snmp utility-mib <set | clear>
的选项指定数据实例的名称,并且是数据的主标识符。使用该 object-type <counter | counter 64 | integer | string | unsigned integer>
选项可以指定对象类型,也可以 object-value value
设置对象的值。
要自动执行填充实用程序 MIB 数据的过程,可以结合使用事件策略和事件脚本。以下示例显示事件策略的配置,以便每小时运行show system buffers
一次,并通过运行事件脚本 (check-mbufs.slax
) 将数据存储在show system buffers
实用程序 MIB 对象中。
事件策略配置
要配置每小时运行 show system buffers
一次命令并调用 check-mbufs.slax
以将数据存储 show system buffers
到实用程序 MIB 对象的事件策略,请在 [edit
] 层次结构级别包含以下语句:
event-options { generate-event { 1-HOUR time-interval 3600; } policy MBUFS { events 1-HOUR; then { event-script check-mbufs.slax; # script stored at /var/db/scripts/event/ } } event-script { file check-mbufs.slax; } }
check-mbufs.slax 脚本
以下示例显示了 check-mbufs.slax
存储在 下的 /var/db/scripts/event/
脚本:
------ script START ------ version 1.0; ns junos = "http://xml.juniper.net/junos/*/junos"; ns xnm = "http://xml.juniper.net/xnm/1.1/xnm"; ns jcs = "http://xml.juniper.net/junos/commit-scripts/1.0"; ns ext = "http://xmlsoft.org/XSLT/namespace"; match / { <op-script-results>{ var $result = jcs:invoke("get-buffer-informations"); var $rpc = <request-snmp-utility-mib-set> { <object-type> "integer"; <instance> "current-mbufs"; <object-value> $result/current-mbufs; } var $res = jcs:invoke($rpc); expr jcs:syslog("external.info", $res/..//snmp-utility-mib-results/snmp-utility-mib-result); } } ------ script END ------
您可以运行以下命令,根据上述示例中显示的事件策略和脚本检查实用程序 MIB 中存储的数据:
user@host> show snmp mib walk jnxUtilData ascii jnxUtilIntegerValue."current-mbufs" = 0 jnxUtilIntegerTime."current-mbufs" = 07 da 05 0c 03 14 2c 00 2d 07 00 user@caramels>
该 show snmp mib walk
命令在 QFabric 系统上不可用,但您可以使用外部 SNMP 客户端应用程序执行此操作。