【问题标题】:SNMP4J : Is it possible to create an OID in the agent (server) MIB from the manager (client)?SNMP4J:是否可以从管理器(客户端)在代理(服务器)MIB 中创建 OID?
【发布时间】:2015-10-22 14:53:55
【问题描述】:

我正在使用 SNMP4J 框架,它实现并使得标准 SET、GET、GET-NEXT 等消息成为可能。

例如,使用 SET,我可以更新 MIB OID“1.3.6.1.2.50.0”的值。这对我来说非常有效。我可以使用org.snmp4j.Snmp.set(PDU pdu, Target target)

我现在要做的是从客户端创建一个自定义 MIB OID(如“1.3.6.1.2.100.0”)并为其分配一个值,而不是简单地更新现有的 MIB OID 值。

有没有标准的 SNMP 方法可以轻松做到这一点?

【问题讨论】:

    标签: frameworks snmp mib snmp4j


    【解决方案1】:

    是的。

    但是在 SNMP 的上下文中,凭空“创建”一个新的标量是没有意义的;通常,您正在设置一个已经使用预定义 OID 定义的 OID,并且该 OID 通常是通过 MIB 文件共享的代理 -> 管理器。它的 OID 将是第 0 个实例(例如 sysDescr.0)。

    但是,您可以在 SNMP 表中使用add/remove rows(其行和单元格将在实例 1、实例 2 等处具有 OID);并且该 SNMP 表可能有零行。表格中的单元格可以有值。

    这里有一些background info on SNMP tables

    【讨论】:

    • 感谢您的回答@k1eran。您认为可以在 SNMP 表中附加自定义 OID(由经理确定)吗?例如,该表的 OID 为“1.3.6.1.2.1”,我想将一个 IP 地址附加到该 OID“1.3.6.1.2.1.vvv.xxx.yyy.zzz”,然后增加一个与此相关的统计信息行的另一列中的 IP 地址。
    • 是的,您可以定义一个表,其中其行的索引类型为 = IpAddress(请参阅tools.ietf.org/html/rfc1155)和其他包含任何数据的列,例如统计数据,您需要。
    • 您知道我可以使用哪种方法在表格中添加一行吗?我正在尝试使用 PDU.addAll(VariableBinding[] vbs) 但它不起作用。
    • “它的行和单元格将在实例 0、实例 1 等处具有 OID” 虽然有效,但推荐的最佳做法是避免这种情况 - 让您的表索引从 1 开始以避免混淆。请参阅 RFC 2578 中的第 7.7 节。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多