在Ubuntu 12.04上,我想通过以下命令获取管理值的子树:
snmpwalk -v 2c -c public localhost
输出的最后一行是
iso.3.6.1.2.1.25.1.7.0 = No more variables left in this MIB View (It is past the end of the MIB tree)
这是一个错误吗?一个警告?子树结束了吗?
答案 0 :(得分:16)
这里有一些比你想象的更多。我在我构建的每个新Ubuntu盒子上遇到这个问题,我认为这是一个问题(不是错误,而是一个问题 - 更多关于此问题)。
这是技术上正确的解释(为什么这不是“错误”):
“此MIB视图中不再有变量”并不是特别错误;相反,它是关于您的请求的声明。请求从简单的事情开始,比如说“.1.3”并继续询问“下一个”词典OID。它得到了“下一个”OID,直到最后一个,此时代理人告诉你没有什么可看的;不要打扰。
现在,这就是为什么我认为这是一个问题(在这个问题的背景下):
安装“snmpd”并运行它的目的是收集关于盒子的有意义的信息;通常,此信息是面向性能的。例如,我需要了解的三个常规事项是网络接口信息(IF-MIB :: ifHCInOctets和IF-MIB :: ifHCOutOctets),磁盘信息(UCD-SNMP-MIB :: dskUsed和UCD-SNMP- MIB :: dskTotal)和CPU信息(UCD-SNMP-MIB :: ssCpuRawIdle,UCD-SNMP-MIB :: ssCpuRawWait等)。
默认的Ubuntu“snmpd”配置特别拒绝对此配置有用的所有内容(限制访问足够的信息以告诉您该框是Linux框):
view systemonly included .1.3.6.1.2.1.1
view systemonly included .1.3.6.1.2.1.25.1
rocommunity public default -V systemonly
此配置将盒子锁定,如果它位于不具备SNMP管理知识的不安全网络上,则可能是“安全的”。
但是,我要做的第一件事是删除“rocommunity”设置的“-V systemonly”部分;这将允许通过社区字符串“public”访问所有可用的SNMP信息(只读)。
如果您这样做,那么您可能会看到您期望的内容,即可用于评估盒子性能的SNMP信息的页面和页面。
答案 1 :(得分:0)
简而言之,这不是一个错误,实际上,当你走上去#34;您的代理商上的所有OID都会显示您的此行> 有时,它不会向您显示此行,因为最后一个OID不在您的代理上(您已经在代理上查看了所有OID,但没有查看所有OID)。
答案 2 :(得分:0)
$ snmpwalk -v 2c -c public localhost NET-SNMP-EXTEND-MIB::nsExtendObjects
NET-SNMP-EXTEND-MIB::nsExtendObjects = No more variables left in this MIB View (It is past the end of the MIB tree)
此外,您可以在尝试查看已执行的脚本时遇到此错误我已修复此问题以添加
view all included .1 80
行至snmpd.conf
而非重启服务
您将看到两个输入的输出都会改变
答案 3 :(得分:0)
我知道这个线程可能很老了,我修复了这个问题: rocommunity public
这应该可以解决问题。