MIB私有扩展命令

MIB私有扩展命令

第一组扩展指令调用任意命令,并依赖于 MIB 结构(和管理应用程序)具有适应和解释输出的灵活性。 这是一种快速简单地提供信息的便捷方式,但在实现私有MIB 对象时没有用,其中扩展必须符合 MIB 的结构(反之亦然)。 其余的扩展机制都与这种特定于 MIB 的情况有关——从“pass-
through”脚本开始。 使用此机制要求构建代理时支持 ucd-snmp/pass 和 ucd-snmp/pass_persist 模块(这两个模块都包含在默认构建配置中)。

  • pass [-p priority] MIBOID PROG

    将以 MIBOID 为根的子树的控制权传递给指定的 PROG 命令。 此树中 OID 的 GET 和 GETNEXT 请求将触发此命令,称为:

PROG -g OID

PROG -n OID

分别,其中 OID 是请求的 OID。 PROG 命令应该将响应 varbind 作为打印到 stdout 的三个单独的行返回 - 第一行应该是返回值的 OID,第二行应该是它的 TYPE(文本字符串之一 integergaugecountertimeticksipaddressobjectidoctetstring),第三个应该是值本身。 (注意:octets作为 ASCII、空格分隔的十六进制字符串发送,例如“00 3f dd 00 c6 be”。)

如果命令无法返回适当的 varbind - 例如,指定的 OID 不对应于 GET 请求的有效实例,或者 GETNEXT 没有后续实例 - 那么它应该退出而不产生任何输出。 这将导致 SNMP noSuchName 错误或 noSuchInstance 异常。

注意:不支持 SMIv2 类型 counter64 和 SNMPv2 noSuchObject 异常。

SET 请求将导致命令被调用为:

PROG -s OID TYPE VALUE

其中 TYPE 是上面列出的令牌之一,指示作为第三个参数传递的值的类型。

如果分配成功,PROG 命令应该退出而不产生任何输出。 应通过将not-writablewrong-type的字符串之一写入标准输出来指示错误,并且代理将生成适当的错误响应。

注意:不支持其他 SNMPv2 错误。

在任何一种情况下,命令都应该在完成处理后退出。 每个请求(以及单个请求中的每个 varbind)都会触发命令的单独调用。

默认注册优先级为 127。这可以通过提供可选的 -p 标志来更改,使用较低优先级的注册优先于较高的优先级值。

  • pass_persist [-p priority] MIBOID PROG

    还将对以 MIBOID 为根的子树的控制权传递给指定的 PROG 命令。 但是,此命令将在初始请求得到答复后继续运行,因此可以处理后续请求而无需启动开销。

    初始化时,PROG 将在标准输入上传递字符串“PING\n”,并应通过将“PONG\n”打印到标准输出来响应。

    对于 GET 和 GETNEXT 请求,PROG 将在标准输入上传递两行,命令(getgetnext)和请求的 OID。 它应该通过向 stdout 打印三行来响应——结果 varbind 的 OID、TYPE 和 VALUE 本身——与上面的 pass 指令完全一样。 如果该命令无法返回适当的 varbind,它应该将 print “NONE\n” 打印到 stdout(但继续运行)。

    对于 SET 请求,PROG 将在标准输入上传递三行,命令 (set) 和请求的 OID,然后是类型和值(都在同一行上)。 如果分配成功,该命令应将“DONE\n”打印到标准输出。 错误应该通过将字符串not-writablewrong-typewrong-lengthwrong-valueinconsistent-value之一写入标准输出来指示,并且代理将生成适当的错误响应。 无论哪种情况,该命令都应继续运行。

    可以使用可选的 -p 标志更改注册优先级,就像 pass 指令一样。

passpass_persist 扩展只能通过 snmpd.conf 文件进行配置。 它们不能通过 SNMP SET 请求进行设置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值