如何在自定义SNMP MIB中获取和设置OID值

如何在自定义SNMP MIB中获取和设置OID值,snmp,net-snmp,Snmp,Net Snmp,我对SNMP非常陌生,我需要使用我们自己的企业OID获得“系统正常运行时间” 我已经获得了一个IANA编号并创建了一个MIB文件 问题是,当我对OID使用snmpget命令时,在命令提示符处出现未找到对象错误 虽然当我对我们的对象执行snmptranslate时,我得到了该对象的确切OID 如果需要我方提供任何其他信息,请通知我。当您使用snmpget时,会通过IP向远程(或本地)主机上的SNMP代理发出SNMP请求,以返回特定数据段。MIB用于以人类可读的术语描述数据是什么以及在何处查找数据。

我对SNMP非常陌生,我需要使用我们自己的企业OID获得“系统正常运行时间”

我已经获得了一个IANA编号并创建了一个MIB文件

问题是,当我对OID使用
snmpget
命令时,在命令提示符处出现
未找到对象
错误

虽然当我对我们的对象执行
snmptranslate
时,我得到了该对象的确切OID


如果需要我方提供任何其他信息,请通知我。

当您使用
snmpget
时,会通过IP向远程(或本地)主机上的SNMP代理发出SNMP请求,以返回特定数据段。MIB用于以人类可读的术语描述数据是什么以及在何处查找数据。另一方面,
snmptranslate
是用于解析给定MIB的工具。它解析本地MIB文件,不与代理进行任何联系

既然您提到创建一个新的MIB,我假设您正在尝试向SNMP代理添加新功能。为此,必须扩展代理。如果您使用的是Net SNMP,则有几个选项,包括将新的源代码编译到代理中、使用子代理以及通过pass和pass PERSISTER协议使用外部脚本。看看:


我正在使用此()链接编译新的MIB模块。此链接中给出的示例工作正常。但是,当我将snmpget用于我的企业自定义OID时,它给出了错误(“此OID的代理上没有可用的此类对象”)。您可以发布snmpget命令、snmpd.conf的内容和位置吗。确保以.0结束snmpget命令,并且在snmpd.conf文件中定义了v2社区或v3用户。您可能还想在企业树上尝试snmpwalk命令。snmpd.conf的内容是“rwcommunity public”。我也有同样的问题,问题解决了吗?